LangChain 是什么?
LangChain 是一个强大的开源框架,旨在简化使用大型语言模型(LLM)创建应用程序的过程。它提供了一个标准的接口,用于将不同的组件“链接”在一起,使开发人员能够创建复杂的、数据感知的和具有代理能力的应用。通过将LLM连接到外部数据源并使其能够与环境交互,LangChain超越了简单的API调用,构建了真正复杂的AI系统。
主要特点
- 模块化组件: LangChain建立在一套模块化的抽象之上,包括模型、提示、索引、内存、链和代理,这些都可以轻松组合和定制。
- 链(Chains): 将LLM与其他组件结合起来,执行一系列操作。简单的链连接一个提示和一个LLM,而更复杂的链可能涉及多个步骤和数据源。
- 代理和工具(Agents and Tools): 赋予LLM决策、采取行动和观察结果的能力。您可以为代理提供“工具”(如搜索引擎、API或数据库),它们将智能地决定使用哪些工具来完成任务。
- 检索增强生成(RAG): 将LLM连接到您的私有数据。LangChain提供工具来加载、转换、存储和查询您的数据,使LLM能够根据其未训练过的信息回答问题。
- 记忆(Memory): 使链或代理能够记住以前的交互,从而创建连贯的对话体验。
使用案例
- 上下文感知聊天机器人: 构建可以访问私人文档以提供准确、相关答案的智能聊天机器人。
- 问答系统: 创建可以针对特定文档(例如公司内部知识库)回答问题的系统。
- 自主代理: 开发可以执行多步骤任务的代理,例如通过与预订API交互来预订航班,或通过浏览网页进行研究。
- 数据分析: 通过赋予模型编写和执行查询的能力,使用LLM分析结构化数据(例如来自SQL数据库)。
- 摘要: 自动总结长文档、文章或对话。
入门指南
这是一个使用Python和OpenAI的“Hello World”风格的LangChain示例。
首先,安装必要的包: ```bash pip install langchain langchain-openai
接下来,将您的OpenAI API密钥设置为环境变量: ```bash export OPENAI_API_KEY=”your-api-key-here”
现在,您可以创建一个简单的链来生成公司名称: ```python from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser
1. 初始化LLM
llm = ChatOpenAI(model=”gpt-3.5-turbo”)
2. 创建提示模板
prompt = ChatPromptTemplate.from_messages([ (“system”, “你是一位富有创意的命名顾问。”), (“user”, “为一家制造{product}的公司取个好名字叫什么?”) ])
3. 创建输出解析器
output_parser = StrOutputParser()
4. 使用LangChain表达式语言(LCEL)构建链
chain = prompt | llm | output_parser
5. 使用输入调用链
response = chain.invoke({“product”: “环保水瓶”})
print(response)
定价
核心的LangChain框架是开源的,并在MIT许可下免费使用。该公司还提供LangSmith,这是一个用于调试、测试、评估和监控LLM应用程序的配套平台,它采用免费增值模式,为高级功能和更高使用量提供付费层级。