2022-10-24 21:51:15 +00:00
Welcome to LangChain
==========================
2022-11-14 04:13:23 +00:00
Large language models (LLMs) are emerging as a transformative technology, enabling
developers to build applications that they previously could not.
But using these LLMs in isolation is often not enough to
create a truly powerful app - the real power comes when you are able to
combine them with other sources of computation or knowledge.
2023-01-24 08:37:26 +00:00
This library is aimed at assisting in the development of those types of applications. Common examples of these types of applications include:
**❓ Question Answering over specific documents**
- `Documentation <./use_cases/question_answering.html> `_
- End-to-end Example: `Question Answering over Notion Database <https://github.com/hwchase17/notion-qa> `_
**💬 Chatbots**
- `Documentation <./use_cases/chatbots.html> `_
- End-to-end Example: `Chat-LangChain <https://github.com/hwchase17/chat-langchain> `_
**🤖 Agents**
- `Documentation <./use_cases/agents.html> `_
- End-to-end Example: `GPT+WolframAlpha <https://huggingface.co/spaces/JavaFXpert/Chat-GPT-LangChain> `_
2022-11-14 04:13:23 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Getting Started
----------------
2022-11-14 04:13:23 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Checkout the below guide for a walkthrough of how to get started using LangChain to create an Language Model application.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Getting Started Documentation <./getting_started/getting_started.html> `_
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
.. toctree ::
:maxdepth: 1
:caption: Getting Started
:name: getting_started
:hidden:
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
getting_started/getting_started.md
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Modules
-----------
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
There are six main modules that LangChain provides support for.
For each module we provide some examples to get started, how-to guides, reference docs, and conceptual guides.
These modules are, in increasing order of complexity:
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Prompts <./modules/prompts.html> `_ : This includes prompt management, prompt optimization, and prompt serialization.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `LLMs <./modules/llms.html> `_ : This includes a generic interface for all LLMs, and common utilities for working with LLMs.
2022-12-21 03:24:08 +00:00
2023-02-06 08:26:20 +00:00
- `Document Loaders <./modules/document_loaders.html> `_ : This includes a standard interface for loading documents, as well as specific integrations to all types of text data sources.
2023-01-05 05:39:50 +00:00
- `Utils <./modules/utils.html> `_ : Language models are often more powerful when interacting with other sources of knowledge or computation. This can include Python REPLs, embeddings, search engines, and more. LangChain provides a large collection of common utils to use in your application.
2022-12-21 03:24:08 +00:00
2023-01-05 05:39:50 +00:00
- `Chains <./modules/chains.html> `_ : Chains go beyond just a single LLM call, and are sequences of calls (whether to an LLM or a different utility). LangChain provides a standard interface for chains, lots of integrations with other tools, and end-to-end chains for common applications.
2022-12-21 03:24:08 +00:00
2023-01-05 05:39:50 +00:00
- `Agents <./modules/agents.html> `_ : Agents involve an LLM making decisions about which Actions to take, taking that Action, seeing an Observation, and repeating that until done. LangChain provides a standard interface for agents, a selection of agents to choose from, and examples of end to end agents.
2022-12-21 03:24:08 +00:00
2023-01-05 05:39:50 +00:00
- `Memory <./modules/memory.html> `_ : Memory is the concept of persisting state between calls of a chain/agent. LangChain provides a standard interface for memory, a collection of memory implementations, and examples of chains/agents that use memory.
2022-12-21 03:24:08 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
.. toctree ::
:maxdepth: 1
:caption: Modules
:name: modules
:hidden:
2022-12-21 03:24:08 +00:00
2023-01-05 05:39:50 +00:00
./modules/prompts.md
./modules/llms.md
2023-02-06 08:26:20 +00:00
./modules/document_loaders.md
2023-01-05 05:39:50 +00:00
./modules/utils.md
./modules/chains.md
./modules/agents.md
./modules/memory.md
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Use Cases
----------
2022-11-22 14:16:26 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
The above modules can be used in a variety of ways. LangChain also provides guidance and assistance in this. Below are some of the common use cases LangChain supports.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Agents <./use_cases/agents.html> `_ : Agents are systems that use a language model to interact with other tools. These can be used to do more grounded question/answering, interact with APIs, or even take actions.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Chatbots <./use_cases/chatbots.html> `_ : Since language models are good at producing text, that makes them ideal for creating chatbots.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Data Augmented Generation <./use_cases/combine_docs.html> `_ : Data Augmented Generation involves specific types of chains that first interact with an external datasource to fetch data to use in the generation step. Examples of this include summarization of long pieces of text and question/answering over specific data sources.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Question Answering <./use_cases/question_answering.html> `_ : Answering questions over specific documents, only utilizing the information in those documents to construct an answer. A type of Data Augmented Generation.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Summarization <./use_cases/summarization.html> `_ : Summarizing longer documents into shorter, more condensed chunks of information. A type of Data Augmented Generation.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Evaluation <./use_cases/evaluation.html> `_ : Generative models are notoriously hard to evaluate with traditional metrics. One new way of evaluating them is using language models themselves to do the evaluation. LangChain provides some prompts/chains for assisting in this.
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
- `Generate similar examples <./use_cases/generate_examples.html> `_ : Generating similar examples to a given input. This is a common use case for many applications, and LangChain provides some prompts/chains for assisting in this.
2022-11-26 13:58:54 +00:00
2023-01-05 05:39:50 +00:00
- `Compare models <./use_cases/model_laboratory.html> `_ : Experimenting with different prompts, models, and chains is a big part of developing the best possible application. The ModelLaboratory makes it easy to do so.
2022-11-26 13:58:54 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
.. toctree ::
:maxdepth: 1
:caption: Use Cases
:name: use_cases
:hidden:
2022-11-22 14:16:26 +00:00
2023-01-05 05:39:50 +00:00
./use_cases/agents.md
./use_cases/chatbots.md
./use_cases/generate_examples.ipynb
./use_cases/combine_docs.md
./use_cases/question_answering.md
./use_cases/summarization.md
./use_cases/evaluation.rst
./use_cases/model_laboratory.ipynb
2022-12-26 14:16:37 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Reference Docs
---------------
2022-12-26 14:16:37 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
All of LangChain's reference documentation, in one place. Full documentation on all methods, classes, installation methods, and integration setups for LangChain.
2022-11-14 04:13:23 +00:00
2023-01-05 05:39:50 +00:00
- `Reference Documentation <./reference.html> `_
2022-11-14 04:13:23 +00:00
.. toctree ::
:maxdepth: 1
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
:caption: Reference
:name: reference
:hidden:
2022-11-14 04:13:23 +00:00
2023-01-05 05:39:50 +00:00
./reference/installation.md
./reference/integrations.md
./reference.rst
2022-11-14 04:13:23 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
LangChain Ecosystem
-------------------
Guides for how other companies/products can be used with LangChain
2023-01-05 05:39:50 +00:00
- `LangChain Ecosystem <./ecosystem.html> `_
2022-11-14 04:13:23 +00:00
2022-10-24 21:51:15 +00:00
.. toctree ::
2022-11-14 04:13:23 +00:00
:maxdepth: 1
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
:glob:
:caption: Ecosystem
:name: ecosystem
:hidden:
2022-10-24 21:51:15 +00:00
2023-01-05 05:39:50 +00:00
./ecosystem.rst
2022-11-14 04:13:23 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Additional Resources
---------------------
2022-11-14 04:13:23 +00:00
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
Additional collection of resources we think may be useful as you develop your application!
2022-11-14 04:13:23 +00:00
2023-01-24 07:06:23 +00:00
- `LangChainHub <https://github.com/hwchase17/langchain-hub> `_ : The LangChainHub is a place to share and explore other prompts, chains, and agents.
2023-01-05 05:39:50 +00:00
- `Glossary <./glossary.html> `_ : A glossary of all related terms, papers, methods, etc. Whether implemented in LangChain or not!
2022-11-04 15:02:21 +00:00
2023-01-05 05:39:50 +00:00
- `Gallery <./gallery.html> `_ : A collection of our favorite projects that use LangChain. Useful for finding inspiration or seeing how things were done in other applications.
2022-11-14 04:13:23 +00:00
2023-01-10 15:41:16 +00:00
- `Deployments <./deployments.html> `_ : A collection of instructions, code snippets, and template repositories for deploying LangChain apps.
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
- `Discord <https://discord.gg/6adMQxSpJS> `_ : Join us on our Discord to discuss all things LangChain!
2022-11-14 04:13:23 +00:00
2023-01-30 04:24:22 +00:00
- `Tracing <./tracing.html> `_ : A guide on using tracing in LangChain to visualize the execution of chains and agents.
2023-01-29 06:53:04 +00:00
- `Production Support <https://forms.gle/57d8AmXBYp8PP8tZA> `_ : As you move your LangChains into production, we'd love to offer more comprehensive support. Please fill out this form and we'll set up a dedicated support Slack channel.
2022-11-14 04:13:23 +00:00
2023-01-30 04:24:22 +00:00
2022-11-04 15:02:21 +00:00
.. toctree ::
:maxdepth: 1
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
:caption: Additional Resources
2022-11-14 04:13:23 +00:00
:name: resources
Docs refactor (#480)
Big docs refactor! Motivation is to make it easier for people to find
resources they are looking for. To accomplish this, there are now three
main sections:
- Getting Started: steps for getting started, walking through most core
functionality
- Modules: these are different modules of functionality that langchain
provides. Each part here has a "getting started", "how to", "key
concepts" and "reference" section (except in a few select cases where it
didnt easily fit).
- Use Cases: this is to separate use cases (like summarization, question
answering, evaluation, etc) from the modules, and provide a different
entry point to the code base.
There is also a full reference section, as well as extra resources
(glossary, gallery, etc)
Co-authored-by: Shreya Rajpal <ShreyaR@users.noreply.github.com>
2023-01-02 16:24:09 +00:00
:hidden:
2022-11-04 15:02:21 +00:00
2023-01-24 07:06:23 +00:00
LangChainHub <https://github.com/hwchase17/langchain-hub>
2023-01-05 05:39:50 +00:00
./glossary.md
./gallery.rst
2023-01-10 15:41:16 +00:00
./deployments.md
2023-01-30 04:49:35 +00:00
./tracing.md
2023-01-29 06:53:04 +00:00
Discord <https://discord.gg/6adMQxSpJS>
Production Support <https://forms.gle/57d8AmXBYp8PP8tZA>