OpenAI# – LangChain中文网

生态（Ecosystem)Openai

OpenAI#
本页面介绍如何在LangChain中使用OpenAI生态系统。页面分为两部分：安装和设置，以及对特定OpenAI封装程序的引用。
安装和设置#

使用
```code
pip install openai
```
安装Python SDK。

获取OpenAI api key并将其设置为环境变量（
```code
OPENAI_API_KEY
```
)

如果要使用OpenAI的分词器（仅适用于Python 3.9+)，请使用
```code
pip install tiktoken
```
安装。

包装器#
OpenAI LLM包装器#
存在一个OpenAI LLM包装器，你可以通过以下方式访问

```code
from langchain.llms import OpenAI

```

如果你使用的是在Azure上托管的模型，那么你应该使用不同的包装器：

```code
from langchain.llms import AzureOpenAI

```

有关Azure包装器的更详细步骤，请参见此教程
嵌入 OpenAIEmbeddings #
存在一个OpenAI嵌入包装器，你可以通过以下方式访问

```code
from langchain.embeddings import OpenAIEmbeddings

```

有关此包装器的更详细步骤，请参见此教程
分词器 CharacterTextSplitter #
你可以在多个地方使用
```code
tiktoken
```
分词器。默认情况下，它用于计算OpenAI LLM的标记数。
您还可以在拆分文档时使用它来计算标记。

```code
from langchain.text_splitter import CharacterTextSplitter
CharacterTextSplitter.from_tiktoken_encoder(...)

```

有关更详细的步骤，请参见此教程
审核 OpenAIModerationChain #
您还可以使用以下内容访问OpenAI内容审核端点

```code
from langchain.chains import OpenAIModerationChain

```

有关更详细的步骤，请参见此教程NlpcloudOpensearch


OpenSearch – LangChain中文网

生态（Ecosystem)Opensearch

OpenSearch
该页面介绍如何在LangChain中使用OpenSearch生态系统。教程分为两个部分：安装和设置，以及指向特定OpenSearch包装器的参考。
安装和设置

使用
```code
pip install opensearch-py
```
命令安装Python包。

包装器
VectorStore
OpenSearch向量数据库的包装器允许您将其用作向量存储库，以便使用lucene、nmslib和faiss引擎提供的近似向量搜索支持的语义搜索，或者使用painless脚本和脚本评分函数进行暴力向量搜索。
使用以下代码导入此向量存储库：

```code
from langchain.vectorstores import OpenSearchVectorSearch

```

如果您需要更详细的OpenSearch包装器演示，请参见此教程OpenaiPetals


Petals# – LangChain中文网

生态（Ecosystem)Petals

Petals#
本页面介绍如何在LangChain内使用Petals生态系统。
它被分为两个部分：安装和设置，以及对特定Petals包装器的引用。
安装和设置#

使用
```code
pip install petals
```
进行安装

获取Hugging Face api密钥并将其设置为环境变量（
```code
HUGGINGFACE_API_KEY
```
)

包装器#
LLM#
存在一个Petals LLM包装器，您可以使用它来访问

```code
from langchain.llms import Petals

```
OpensearchPgvector


PGVector# – LangChain中文网

生态（Ecosystem)Pgvector

PGVector#
本页介绍如何在LangChain内使用PostgresPGVector (opens in a new tab)生态系统。它分为两个部分：安装和设置，以及对特定PGVector包装器的引用。
安装#

使用
```code
pip install pgvector
```
安装Python包。

设置#

第一步是创建一个已安装
```code
pgvector
```
扩展的数据库。

遵循PGVector安装步骤 (opens in a new tab)中的步骤来安装数据库和扩展。Docker镜像是最简单的入门方式。
包装器#
VectorStore#
存在一个 Postgres 向量数据库的包装器，使您可以将其用作向量存储，无论是用于语义搜索还是示例选择。
要导入此向量存储：

```code
from langchain.vectorstores.pgvector import PGVector

```

用法#
有关 PGVector 包装器的更详细演练，请参见 此教程PetalsPinecone


松果 Pinecone# – LangChain中文网

生态（Ecosystem)Pinecone

松果 Pinecone#
本页面介绍如何在LangChain中使用松果生态系统。
它分为两个部分：安装和设置，然后是对特定松果包装器的引用。
安装和设置#

使用
```code
pip install pinecone-client
```
安装Python SDK。

包装器#
VectorStore#
存在一个松果索引的包装器，允许您将其用作向量存储，
无论是用于语义搜索还是示例选择。
要导入此向量存储：

```code
from langchain.vectorstores import Pinecone

```

有关松果包装器的更详细演示，请参见此教程PgvectorPipelineai


PipelineAI# – LangChain中文网

生态（Ecosystem)Pipelineai

PipelineAI#
本页面介绍如何在LangChain中使用PipelineAI生态系统。
它分为两部分：安装和设置，以及对特定的PipelineAI包装器的引用。
安装和设置#

使用
```code
pip install pipeline-ai
```
进行安装

获取Pipeline Cloud API密钥并将其设置为环境变量（
```code
PIPELINE_API_KEY
```
)

包装器#
LLM#
存在一个PipelineAI LLM包装器，你可以通过它来访问

```code
from langchain.llms import PipelineAI

```
PineconePredictionguard


预测保护 Prediction-guard# – LangChain中文网

生态（Ecosystem)Predictionguard

预测保护 Prediction-guard#
本页面介绍如何在LangChain中使用预测保护生态系统。它分为两个部分：安装和设置，然后是对特定预测保护包装器的引用。
安装和设置#

使用
```code
pip install predictionguard
```
安装Python SDK。

获取预测保护访问令牌（如此处所述here (opens in a new tab))，并将其设置为环境变量（
```code
PREDICTIONGUARD_TOKEN
```
)

LLM包装器#
现在存在一个Prediction Guard LLM包装器，您可以使用它来访问

```code
from langchain.llms import PredictionGuard

```

在初始化LLM时，您可以提供您的Prediction Guard“代理”的名称作为参数：

```code
pgllm = PredictionGuard(name="your-text-gen-proxy")

```

或者，您可以使用Prediction Guard的默认代理来进行SOTA LLM：

```code
pgllm = PredictionGuard(name="default-text-gen")

```

您还可以直接提供访问令牌作为参数：

```code
pgllm = PredictionGuard(name="default-text-gen", token="<your access token>")

```

示例用法#
LLM包装器的基本用法：

```code
from langchain.llms import PredictionGuard

pgllm = PredictionGuard(name="default-text-gen")
pgllm("Tell me a joke")

```

使用Prediction Guard包装器进行基本LLM链接：

```code
from langchain import PromptTemplate, LLMChain
from langchain.llms import PredictionGuard

template = """Question: {question}

Answer: Let's think step by step."""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(prompt=prompt, llm=PredictionGuard(name="default-text-gen"), verbose=True)

question = "What NFL team won the Super Bowl in the year Justin Beiber was born?"

llm_chain.predict(question=question)

```
PipelineaiPromptlayer


提示层 Promptlayer# – LangChain中文网

生态（Ecosystem)Promptlayer

提示层 Promptlayer#
本页面介绍如何在LangChain中使用PromptLayer (opens in a new tab)。分为两个部分：安装和设置，以及特定的PromptLayer包装器的参考。
安装和设置#
如果您想使用PromptLayer：

安装promptlayer python库
```code
pip install promptlayer
```

创建PromptLayer账号

创建API token，并将其设置为环境变量(
```code
PROMPTLAYER_API_KEY
```
)

包装器#
LLM#
存在一个PromptLayer的OpenAI LLM包装器，可以使用以下方式访问

```code
from langchain.llms import PromptLayerOpenAI

```

在实例化LLM时，可以使用
```code
pl_tags
```
参数来标记您的请求

```code
from langchain.llms import PromptLayerOpenAI
llm = PromptLayerOpenAI(pl_tags=["langchain-requests", "chatbot"])

```

在实例化LLM时，可以使用
```code
return_pl_id
```
参数来获取PromptLayer请求id

```code
from langchain.llms import PromptLayerOpenAI
llm = PromptLayerOpenAI(return_pl_id=True)

```

这将在使用
```code
.generate
```
或
```code
.agenerate
```
生成文本时，将PromptLayer请求ID添加到
```code
Generation
```
的
```code
generation_info
```
字段中进行返回
例如：

```code
llm_results = llm.generate(["hello world"])
for res in llm_results.generations:
print("pl request id: ", res[0].generation_info["pl_request_id"])

```

您可以使用PromptLayer请求ID将提示、分数或其他元数据添加到您的请求中。在此处阅读更多信息 (opens in a new tab)
这个LLM与OpenAI LLM完全相同，除了

所有的请求都将记录到您的PromptLayer账户中

当实例化时，您可以添加
```code
pl_tags
```
来对PromptLayer上的请求进行标记

当实例化时，您可以添加
```code
return_pl_id
```
来返回PromptLayer请求ID，以便跟踪请求 (opens in a new tab)。

PromptLayer还提供了本地包装器，用于
```code
PromptLayerChatOpenAI
```
和
```code
PromptLayerOpenAIChat
```
PredictionguardQdrant


Qdrant# – LangChain中文网

生态（Ecosystem)Qdrant

Qdrant#
本页介绍如何在LangChain中使用Qdrant生态系统。它分为两个部分：安装和设置，以及特定Qdrant包装器的参考。
安装和设置#

使用
```code
pip install qdrant-client
```
安装Python SDK

包装器#
VectorStore#
存在一个Qdrant索引的包装器，允许您将其用作向量存储，无论是用于语义搜索还是示例选择。
导入此向量存储的方法如下：

```code
from langchain.vectorstores import Qdrant

```

有关Qdrant包装器的更详细说明，请参见此教程PromptlayerRedis


Redis – LangChain中文网

生态（Ecosystem)Redis

Redis
该页面介绍如何在LangChain中使用Redis生态系统。教程分为两个部分：安装和设置，以及指向特定Redis包装器的参考。
安装和设置

使用
```code
pip install redis
```
命令安装Redis Python SDK。

包装器
Cache
Cache包装器允许 Redis (opens in a new tab) 用作远程、低延迟、内存中的LLM提示和响应缓存。
标准缓存
标准缓存是Redis的实际使用案例，全球生产中的开源 (opens in a new tab)和企业 (opens in a new tab)用户都在使用它。
导入缓存：

```code
from langchain.cache import RedisCache

```

使用LLM时使用此缓存：

```code
import langchain
import redis

redis_client = redis.Redis.from_url(...)
langchain.llm_cache = RedisCache(redis_client)

```

语义缓存
语义缓存允许用户基于用户输入和先前缓存的结果之间的语义相似性检索缓存提示。在内部，它将Redis混合为缓存和向量存储库。
导入缓存：

```code
from langchain.cache import RedisSemanticCache

```

使用LLM时使用此缓存：

```code
import langchain
import redis

# use any embedding provider...
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings

redis_url = "redis://localhost:6379"

langchain.llm_cache = RedisSemanticCache(
embedding=FakeEmbeddings(),
redis_url=redis_url
)

```

向量存储库VectorStore
向量存储库包装器将Redis转换为用于语义搜索或LLM内容检索的低延迟向量数据库 (opens in a new tab)。
导入向量存储库：

```code
from langchain.vectorstores import Redis

```

对于 Redis vectorstore 包装器的更详细步骤，请参见此教程。
检索器#
Redis 向量存储器检索器包装器将向量存储器类泛化为执行低延迟文档检索的功能。要创建检索器，只需在基本向量存储器类上调用
```code
.as_retriever()
```
。
内存#
Redis 可用于持久化 LLM 会话。
向量存储器检索器内存#
有关
```code
VectorStoreRetrieverMemory
```
包装器的更详细步骤，请参见此教程。
聊天消息历史记录内存#
有关将Redis用于缓存对话消息历史记录的详细示例，请参见此教程。QdrantRunhouse


Runhouse# – LangChain中文网

生态（Ecosystem)Runhouse

Runhouse#
本页面介绍如何在LangChain中使用Runhouse (opens in a new tab)生态系统。它分为三个部分：安装和设置、LLMs和嵌入。
安装和设置#

使用
```code
pip install runhouse
```
安装Python SDK。

如果您想使用按需群集，请使用
```code
sky check
```
检查您的云凭据。

自托管LLMs#
对于基本的自托管LLM，您可以使用
```code
SelfHostedHuggingFaceLLM
```
类。对于更多定制的LLM，您可以使用
```code
SelfHostedPipeline
```
父类。

```code
from langchain.llms import SelfHostedPipeline, SelfHostedHuggingFaceLLM

```

有关自托管LLM的更详细演练，请参见此教程
自托管嵌入#
通过Runhouse，使用自托管嵌入的LangChain有几种方法。
对于来自Hugging Face Transformers模型的基本自托管嵌入，您可以使用
```code
SelfHostedEmbedding
```
类。

```code
from langchain.llms import SelfHostedPipeline, SelfHostedHuggingFaceLLM

```

有关自托管嵌入的更详细演练，请参见此教程RedisRwkv


RWKV-4# – LangChain中文网

生态（Ecosystem)Rwkv

RWKV-4#
本页面介绍如何在LangChain中使用
```code
RWKV-4
```
包装器。它分为两个部分：安装和设置，以及带有示例的使用。
安装和设置#

使用
```code
pip install rwkv
```
安装Python包

使用
```code
pip install tokenizer
```
安装分词器Python包

下载一个RWKV模型 (opens in a new tab)并将其放置在所需的目录中

下载tokens文件 (opens in a new tab)

用法#
RWKV#
要使用RWKV包装器，您需要提供预训练模型文件的路径和tokenizer的配置。

```code
from langchain.llms import RWKV

# Test the model

```python

def generate_prompt(instruction, input=None):
if input:
return f"""Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

# Instruction:
{instruction}

# Input:
{input}

# Response:
"""
else:
return f"""Below is an instruction that describes a task. Write a response that appropriately completes the request.

# Instruction:
{instruction}

# Response:
"""

model = RWKV(model="./models/RWKV-4-Raven-3B-v7-Eng-20230404-ctx4096.pth", strategy="cpu fp32", tokens_path="./rwkv/20B_tokenizer.json")
response = model(generate_prompt("Once upon a time, "))

```python

模型文件[#](#model-file "Permalink to this headline")
-------------------------------------------------

您可以在[RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven/tree/main)存储库中找到模型文件下载链接。

### Rwkv-4 models -> 推荐VRAM[#](#rwkv-4-models-recommended-vram "Permalink to this headline")

```  python
RWKV VRAM
Model | 8bit | bf16/fp16 | fp32
14B   | 16GB | 28GB      | >50GB
7B    | 8GB  | 14GB      | 28GB
3B    | 2.8GB| 6GB       | 12GB
1b5   | 1.3GB| 3GB       | 6GB

```python

查看[rwkv pip](https://pypi.org/project/rwkv/)页面获取更多关于策略的信息，包括流处理和cuda支持。

```
RunhouseSearx


SearxNG搜索API# – LangChain中文网

生态（Ecosystem)Searx

SearxNG搜索API#
本页介绍如何在LangChain中使用SearxNG搜索API。
它分为两个部分：安装和设置，以及特定的SearxNG API包装器的参考。
安装和设置#
虽然可以将包装器与公共searx
实例 (opens in a new tab)结合使用，但这些实例经常不允许API
访问（有关输出格式的说明，请参见下面的注释)并且在请求频率上有限制。建议选择自托管实例。
自托管实例：#
请参阅此页 (opens in a new tab)了解安装说明。
当您安装SearxNG时，默认情况下唯一的活动输出格式是HTML格式。
您需要激活
```code
json
```
格式才能使用API。这可以通过将以下行添加到
```code
settings.yml
```
文件中来完成：

```code
search:
formats:
- html
- json

```

您可以通过向API终端发出curl请求来确保API正常工作：

```code
curl -kLX GET --data-urlencode q='langchain' -d format=json http://localhost:8888
```

这应该返回一个带有结果的JSON对象。
包装器#
实用工具#
要使用包装器，我们需要将SearxNG实例的主机传递给包装器：

在创建实例时使用命名参数
```code
searx_host
```
。
导出环境变量
```code
SEARXNG_HOST
```
。

您可以使用包装器从SearxNG实例获取结果。

```code
from langchain.utilities import SearxSearchWrapper
s = SearxSearchWrapper(searx_host="http://localhost:8888")
s.run("what is a large language model?")

```

工具#
你也可以将此包装器作为工具加载（与代理一起使用)。
你可以通过以下方式实现：

```code
from langchain.agents import load_tools
tools = load_tools(["searx-search"],
searx_host="http://localhost:8888",
engines=["github"])

```

请注意，我们可以选择传递自定义引擎来使用。
如果你想要获取包含元数据的结果作为 json，你可以使用：

```code
tools = load_tools(["searx-search-results-json"],
searx_host="http://localhost:8888",
num_results=5)

```

有关工具的更多信息，请参阅此页面RwkvSerpapi


SerpAPI# – LangChain中文网

生态（Ecosystem)Serpapi

SerpAPI#
本页面介绍如何在LangChain中使用SerpAPI搜索API。它分为两个部分：安装和设置，以及对特定SerpAPI包装器的引用。
安装和设置#

使用
```code
pip install google-search-results
```
安装要求。

获取SerpAPI api密钥，将其设置为环境变量（
```code
SERPAPI_API_KEY
```
)之一。

包装器#
实用工具#
存在一个SerpAPI实用程序，它包装了这个API。要导入此实用程序：

```code
from langchain.utilities import SerpAPIWrapper

```

更详细的教程可以查看本教程。
工具#
您还可以将此包装器轻松加载为工具(与代理一起使用)。
您可以使用以下命令完成此操作：

```code
from langchain.agents import load_tools
tools = load_tools(["serpapi"])

```

有关更多信息，请参见此页面SearxStochasticai


StochasticAI# – LangChain中文网

生态（Ecosystem)Stochasticai

StochasticAI#
本页面介绍如何在LangChain中使用StochasticAI生态系统。该页面分为两个部分：安装和设置，以及对特定StochasticAI包装器的引用。
安装和设置#

使用
```code
pip install stochasticx
```
进行安装

获取StochasticAI api密钥，并将其设置为环境变量（
```code
STOCHASTICAI_API_KEY
```
)

包装器#
LLM#
存在一个StochasticAI LLM包装器，您可以通过它进行访问

```code
from langchain.llms import StochasticAI

```
SerpapiTair


Tair# – LangChain中文网

生态（Ecosystem)Tair

Tair#
本页介绍如何在LangChain中使用Tair生态系统。
安装和设置#
使用
```code
pip install tair
```
安装Tair Python SDK。
包装器#
向量存储#
有一个TairVector的包装器，可让您将其用作向量存储，无论是用于语义搜索还是示例选择。
导入此向量存储：

```code
from langchain.vectorstores import Tair

```

更详细的Tair包装器操作，请参见此教程StochasticaiUnstructured


非结构化 Unstructured# – LangChain中文网

生态（Ecosystem)Unstructured

非结构化 Unstructured#
本页介绍如何在LangChain中使用
```code
unstructured
```
(opens in a new tab)生态系统。来自Unstructured.IO (opens in a new tab)的
```code
unstructured
```
软件包从原始源文件（如PDF和Word文档)中提取干净的文本。
本页分为两个部分：安装和设置，以及特定
```code
unstructured
```
包装器的参考。
安装和设置#
如果您正在使用本地运行的加载程序，请使用以下步骤在本地运行
```code
unstructured
```
及其依赖项。

使用
```code
pip install "unstructured[local-inference]"
```
安装Python SDK。

如果您的系统中尚未安装以下系统依赖项，请安装它们。
根据您要解析的文档类型，您可能不需要全部安装。

```code
libmagic-dev
```
（文件类型检测)

```code
poppler-utils
```
（图片和PDF)

```code
tesseract-ocr
```
（图片和PDF)

```code
libreoffice
```
（MS Office文档)

```code
pandoc
```
（EPUBs)

如果您使用“hi_res”策略解析PDF文件，请运行以下命令安装
```code
detectron2
```
模型，
```code
unstructured
```
用于布局检测：

```code
pip install "detectron2@git+https://github.com/facebookresearch/detectron2.git@e2ce8dc#egg=detectron2"
```

如果未安装
```code
detectron2
```
，
```code
unstructured
```
将退回到使用“fast”策略处理PDF文件，该策略直接使用
```code
pdfminer
```
，不需要
```code
detectron2
```
。

如果您想更快地开始运行，可以简单地运行
```code
pip install unstructured
```
并使用
```code
UnstructuredAPIFileLoader
```
或
```code
UnstructuredAPIFileIOLoader
```
。这将使用托管的Unstructured API处理您的文档。请注意，目前（截至2023年5月1日)，Unstructured API是开放的，但很快将需要一个API密钥。一旦API密钥可用，Unstructured文档页面 (opens in a new tab)将提供生成API密钥的说明。如果您想自主托管Unstructured API或在本地运行它，请参阅这里 (opens in a new tab)的说明。
包装器#
数据加载器#

```code
langchain
```
内的主要
```code
非结构化
```
包装器是数据加载器。以下显示了如何使用最基本的非结构化数据加载器。在
```code
langchain.document_loaders
```
模块中还有其他特定于文件的数据加载器可用。

```code
from langchain.document_loaders import UnstructuredFileLoader

loader = UnstructuredFileLoader("state_of_the_union.txt")
loader.load()

```

如果使用
```code
UnstructuredFileLoader(mode="elements")
```
实例化加载器，则在可用时，加载器将跟踪其他元数据，如页码和文本类型（即标题、叙述文本)。TairWeaviate


Weaviate# – LangChain中文网

生态（Ecosystem)Weaviate

Weaviate#
本页面介绍如何在LangChain中使用Weaviate生态系统。
Weaviate是什么？
Weaviate简介：

Weaviate是一种开源的向量搜索引擎数据库。

Weaviate允许您以类似于类属性的方式存储JSON文档，并将机器学习向量附加到这些文档中，以在向量空间中表示它们。

Weaviate可以独立使用（即带上您的向量)，也可以与各种模块一起使用，这些模块可以为您进行向量化并扩展核心功能。

Weaviate具有GraphQL-API，可以轻松访问您的数据。

我们的目标是将您的向量搜索设置投入生产，以在数毫秒内查询（请查看我们的开源基准测试 (opens in a new tab)，以查看Weaviate是否适合您的用例)。

在不到五分钟的时间内，通过基础入门指南 (opens in a new tab)了解Weaviate。

详细了解 Weaviate：
Weaviate 是一款低延迟的矢量搜索引擎，支持不同媒体类型（文本、图像等)。它提供语义搜索、问答提取、分类、可定制模型（PyTorch/TensorFlow/Keras)等功能。Weaviate 从头开始使用 Go 构建，存储对象和向量，允许将矢量搜索与结构化过滤和云原生数据库的容错性相结合。它可以通过 GraphQL、REST 和各种客户端编程语言进行访问。
安装和设置#

使用
```code
pip install weaviate-client
```
安装 Python SDK。

包装器#
向量存储#
存在一个 Weaviate 索引的包装器，可以将其用作向量存储，无论是用于语义搜索还是示例选择。
导入此向量存储：

```code
from langchain.vectorstores import Weaviate

```

有关 Weaviate 包装器的详细演练，
请参见 此教程UnstructuredWolfram Alpha


Wolfram Alpha Wrapper# – LangChain中文网

生态（Ecosystem)Wolfram Alpha

Wolfram Alpha Wrapper#
本页面介绍如何在LangChain中使用Wolfram Alpha API。它分为两部分：安装和设置，以及特定的Wolfram Alpha包装器的参考。
安装和设置#

使用
```code
pip install wolframalpha
```
安装所需的依赖项

在wolfram alpha注册开发者帐户此处 (opens in a new tab)

创建应用程序并获取您的APP ID

将您的APP ID设置为环境变量
```code
WOLFRAM_ALPHA_APPID
```

包装器
Utility
有一个WolframAlphaAPIWrapper实用程序，用于包装此API。导入此实用程序：

```code
from langchain.utilities.wolfram_alpha import WolframAlphaAPIWrapper

```

有关此包装器的更详细说明，请参见此教程。
工具
您还可以将此包装器作为工具轻松地加载到代理中使用。可以使用以下代码完成此操作：

```code
from langchain.agents import load_tools
tools = load_tools(["wolfram-alpha"])

```

有关此的更多信息，请参见此页面。Weaviate参考资料（Reference)


API参考
# – LangChain中文网

参考资料（Reference)API参考
#
LangChain的所有参考文档都在这里。
LangChain中所有方法、类和API的完整文档。

Models
Prompts
Indexes
Memory
Chains
Agents
Utilities
Experimental Modules
Wolfram Alpha代理（Agents)


代理（Agents) – LangChain中文网

参考资料（Reference)代理（Agents)

代理（Agents)
代理和相关抽象的参考指南。

Agents
Tools
Agent Toolkits
参考资料（Reference)索引（Indexes)


索引（Indexes)
# – LangChain中文网

参考资料（Reference)索引（Indexes)

索引（Indexes)
#
索引是指为结构化文档提供的方式，以便LLM可以与之最好地交互。
LangChain有许多模块可帮助您加载、结构化、存储和检索文档。

Document Loaders
Vector Stores
Retrievers
代理（Agents)安装（Installation)


安装（Installation)
# – LangChain中文网

参考资料（Reference)安装（Installation)

安装（Installation)
#
官方发布版本
LangChain可在PyPi上获取，因此可以使用以下命令轻松安装：

```code
pip install langchain
```

这将安装LangChain的最小要求。
LangChain的很多价值在于将其与各种模型提供程序、数据存储等集成。
默认情况下，并没有安装执行这些操作所需的依赖项。
但是，还有两种其他安装LangChain的方法，可以带来这些依赖项。
要安装用于常见LLM提供程序的模块，请运行：

```code
pip install langchain[llms]

```

要安装所有所需的模块以用于所有集成，请运行：

```code
pip install langchain[all]

```

请注意，如果您使用
```code
zsh
```
，则需要在将它们作为命令参数传递时引用方括号，例如：

```code
pip install 'langchain[all]'

```

从源码安装
#
如果您想从源码安装，可以通过克隆repo并运行以下命令来实现：

```code
pip install -e .

```
索引（Indexes)模型（Models)


模型（Models)
# – LangChain中文网

参考资料（Reference)模型（Models)

模型（Models)
#
LangChain为许多不同类型的模型提供界面和集成。

Chat Models
Embeddings
安装（Installation)提示（Prompts)


提示（Prompts)
# – LangChain中文网

参考资料（Reference)提示（Prompts)

提示（Prompts)
#
这里的参考指南都涉及到处理提示的对象。

PromptTemplates
Example Selector
Output Parsers
模型（Models)


LangChain中文网: 500页超详细中文文档教程，助力LLM/chatGPT应用开发 – LangChain中文网

开始
LangChain中文网: 500页超详细中文文档教程，助力LLM/chatGPT应用开发

LangChain 是一个开发由语言模型驱动的应用程序的框架。我们相信最强大和不同的应用程序不仅会通过 API 调用语言模型，
还会：

数据感知
: 将语言模型连接到其他数据源
具有代理性质
: 允许语言模型与其环境交互

LangChain 框架是基于以上原则设计的。
这是文档的 Python stable 稳定版本。
关于 Python最新版本 v0.0.206 的文档，请参见
这里 (opens in a new tab)
。
关于 LangChain 的纯概念指南请见
这里 (opens in a new tab)
。
关于 JavaScript 的文档，请参见
这里 (opens in a new tab)
。
关于 COOKBOOK 的文档，请参见
这里 (opens in a new tab)
。
入门指南
查看以下指南，了解如何使用 LangChain 创建语言模型应用程序的详细说明。

入门文档

模块
LangChain 提供了对几个主要模块的支持。
针对每个模块，我们提供一些入门示例、指南、参考文档和概念指南。
这些模块按照逐渐增加的复杂性排列如下：

模型（models）
: LangChain 支持的各种模型类型和模型集成。

提示（prompts）
: 包括提示管理、提示优化和提示序列化。

内存（memory）
: 内存是在链/代理调用之间保持状态的概念。LangChain 提供了一个标准的内存接口、一组内存实现及使用内存的链/代理示例。

索引（indexes）
: 与您自己的文本数据结合使用时，语言模型往往更加强大——此模块涵盖了执行此操作的最佳实践。

链（chains）
: 链不仅仅是单个 LLM 调用，还包括一系列调用（无论是调用 LLM 还是不同的实用工具）。LangChain 提供了一种标准的链接口、许多与其他工具的集成。LangChain 提供了用于常见应用程序的端到端的链调用。

代理（agents）
: 代理涉及 LLM 做出行动决策、执行该行动、查看一个观察结果，并重复该过程直到完成。LangChain 提供了一个标准的代理接口，一系列可供选择的代理，以及端到端代理的示例。

用例
上述模块可以以多种方式使用。LangChain 还提供指导和帮助。以下是 LangChain 支持的一些常见用例。

自治代理（autonomous agents）
: 长时间运行的代理会采取多步操作以尝试完成目标。 AutoGPT 和 BabyAGI就是典型代表。

代理模拟（agent simulations）
: 将代理置于封闭环境中观察它们如何相互作用，如何对事件作出反应，是观察它们长期记忆能力的有趣方法。

个人助理（personal assistants）
: 主要的 LangChain 使用用例。个人助理需要采取行动、记住交互并具有您的有关数据的知识。

问答（question answering）
: 第二个重大的 LangChain 使用用例。仅利用这些文档中的信息来构建答案，回答特定文档中的问题。

聊天机器人（chatbots）
: 由于语言模型擅长生成文本，因此它们非常适合创建聊天机器人。

查询表格数据（tabular）
: 如果您想了解如何使用 LLM 查询存储在表格格式中的数据（csv、SQL、数据框等），请阅读此页面。

代码理解（code）
: 如果您想了解如何使用 LLM 查询来自 GitHub 的源代码，请阅读此页面。

与 API 交互（apis）
: 使LLM 能够与 API 交互非常强大，以便为它们提供更实时的信息并允许它们采取行动。

提取（extraction）
: 从文本中提取结构化信息。

摘要（summarization）
: 将较长的文档汇总为更短、更简洁的信息块。一种数据增强生成的类型。

评估（evaluation）
: 生成模型是极难用传统度量方法评估的。
一种新的评估方式是使用语言模型本身进行评估。
LangChain 提供一些用于辅助评估的提示/链。

参考文档
LangChain 的所有参考文档，都在这里。LangChain 的所有方法、类、安装方法和集成设置的完整文档。

参考文档

LangChain 生态系统
其他公司/产品如何与 LangChain 协同工作的指南

LangChain 生态系统

资源集合#
额外的资源集合，我们认为可能是有用的，因为您开发您的应用程序！

LangChainHub (opens in a new tab)
: LangChainHub 是一个分享和探索其他 prompts、chains 和 agents 的平台。
Gallery (opens in a new tab)
: 我们最喜欢的使用 LangChain 的项目合集，有助于找到灵感或了解其他应用程序的实现方式。
Deployments (opens in a new tab)
: 部署 LangChain 应用程序的说明、代码片段和模板存储库的合集。
Tracing (opens in a new tab)
: 使用追踪可视化 LangChain 中链和代理执行的指南。
Model Laboratory (opens in a new tab)
: 使用不同的 prompts、models 和 chains 进行实验是开发最佳应用程序的重要组成部分。Model Laboratory 使这个过程变得非常容易。
Discord (opens in a new tab)
: 加入我们的 Discord，讨论关于 LangChain 的一切！
YouTube (opens in a new tab)
: LangChain 教程和视频的集合。
Production Support (opens in a new tab)
: 随着您将 LangChains 发布到生产环境，我们乐于提供更全面的支持。请填写此表格，我们将设置一个专门的支持 Slack 频道。
开始