Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 22 additions & 6 deletions sources/platform/integrations/ai/langchain.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ In this example, we'll use the [Website Content Crawler](https://apify.com/apify
Then we feed the documents into a vector index and answer questions from it.

This example focuses on how to integrate Apify with LangChain using the Python language,
but if you prefer to use JavaScript, you can follow the same steps in the [JavaScript LangChain documentation](https://js.langchain.com/docs/modules/indexes/document_loaders/examples/web_loaders/apify_dataset).
but if you prefer to use JavaScript, you can follow the same steps in the [JavaScript LangChain documentation](https://js.langchain.com/docs/integrations/document_loaders/web_loaders/apify_dataset/).

Before we start with the integration, we need to install all dependencies:

Expand Down Expand Up @@ -122,11 +122,27 @@ answer: LangChain is a framework for developing applications powered by language
source: https://python.langchain.com
```

LangChain is a standard interface through which you can interact with a variety of large language models (LLMs). It provides modules you can use to build language model applications. It also provides chains and agents with memory capabilities.
LangChain is a standard interface through which you can interact with a variety of large language models (LLMs).
It provides modules you can use to build language model applications as well as chains and agents with memory capabilities.

You can use all of Apify’s Actors as document loaders in LangChain.
For example, to incorporate web browsing functionality, you can use the [RAG-Web-Browser](https://apify.com/apify/rag-web-browser) Actor.
This allows you to either crawl and scrape top pages from Google Search results or directly scrape text content from a URL and return it as Markdown.
To set this up, change the `actor_id` to `apify/rag-web-browser` and specify the `run_input`.

```python
loader = apify.call_actor(
actor_id="apify/rag-web-browser",
run_input={"query": "apify langchain web browser", "maxResults": 3},
dataset_mapping_function=lambda item: Document(page_content=item["text"] or "", metadata={"source": item["metadata"]["url"]}),
)
print("Documents:", loader.load())
```

In the similar way, you can use other Apify Actors to load data into LangChain and query the vector index.

## Resources

- https://python.langchain.com/docs/get_started/introduction
- https://python.langchain.com/docs/integrations/document_loaders/apify_dataset
- https://python.langchain.com/docs/integrations/providers/apify
- https://python.langchain.com/docs/modules/model_io/llms/
- [LangChain introduction](https://python.langchain.com/docs/get_started/introduction)
- [Apify Dataset loader](https://python.langchain.com/docs/integrations/document_loaders/apify_dataset)
- [LangChain Apify Provider](https://python.langchain.com/docs/integrations/providers/apify)