引言
随着大型语言模型(LLM)的崛起,开发人员现在可以利用这些强大的工具来创建一系列创新的应用程序,从自动文档摘要到聊天机器人,再到智能客服系统。LangChain 是一个开源框架,旨在简化与 LLM 的交互,帮助开发者轻松地构建和部署基于 LLM 的应用程序。本文将带你快速入门 LangChain,通过一个简单的例子来展示其基本用法。
安装 LangChain
首先,你需要安装 LangChain 和其他必要的依赖包。在你的终端中运行以下命令:
Bash
深色版本
1pip install langchain
2pip install openai
3pip install python-dotenv
python-dotenv
是用来管理环境变量的,而 openai
是用于与 OpenAI 的 API 进行交互的库。
配置 API 密钥
LangChain 需要你的 OpenAI API 密钥来访问其模型。你可以通过创建 .env
文件并添加以下内容来配置:
Bash
深色版本
1touch .env
2echo "OPENAI_API_KEY=<your-api-key>" > .env
记得将 <your-api-key>
替换为你的实际 API 密钥。
创建你的第一个 LangChain 应用
让我们创建一个简单的 LangChain 应用,该应用将使用 OpenAI 的 GPT 模型来回答问题。
步骤 1: 导入必要的模块
Python
深色版本
1from langchain.chains import ConversationalRetrievalChain
2from langchain.chat_models import ChatOpenAI
3from langchain.memory import ConversationBufferMemory
4from langchain.vectorstores import Chroma
5from langchain.embeddings.openai import OpenAIEmbeddings
6import os
7from dotenv import load_dotenv
步骤 2: 加载环境变量
Python
深色版本
1load_dotenv()
步骤 3: 初始化 OpenAI 模型和嵌入
Python
深色版本
1chat_model = ChatOpenAI(temperature=0.5, model_name='gpt-3.5-turbo')
2embeddings = OpenAIEmbeddings()
步骤 4: 创建向量数据库
这里我们使用 Chroma 向量数据库来存储文档的嵌入,以便后续检索。
Python
深色版本
1vectorstore = Chroma(persist_directory='./db', embedding_function=embeddings)
如果你没有预先存在的数据库,你可以通过以下方式创建一个:
Python
深色版本
1from langchain.text_splitter import CharacterTextSplitter
2from langchain.document_loaders import TextLoader
3
4loader = TextLoader('data.txt') # 假设你有一个包含文本数据的文件 data.txt
5documents = loader.load()
6
7text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
8texts = text_splitter.split_documents(documents)
9
10vectorstore = Chroma.from_documents(texts, embeddings)
步骤 5: 设置记忆链
为了使会话具有上下文,我们需要设置记忆链。
Python
深色版本
1memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
步骤 6: 创建问答链
Python
深色版本
1qa_chain = ConversationalRetrievalChain.from_llm(llm=chat_model, retriever=vectorstore.as_retriever(), memory=memory)
步骤 7: 开始会话
现在我们可以开始与模型的交互了:
Python
深色版本
1query = "告诉我关于量子计算的一些事情。"
2result = qa_chain({"question": query})
3print(result['answer'])
这就是使用 LangChain 构建一个基本的问答机器人的完整流程。你可以继续扩展这个应用,比如添加更多的文档来源,使用更复杂的逻辑处理用户的请求,或者将其部署到一个Web服务器上,使其成为一个实时的在线应用。
结语
LangChain 为开发基于 LLM 的应用程序提供了一个强大的框架,通过本文的快速入门,你应该对如何使用 LangChain 有了初步的了解。随着你对 LangChain 的深入了解,你将能够构建出更加复杂和智能的应用程序,以满足不同场景下的需求。
标签:深色,入门,Python,langchain,构建,LangChain,版本,import From: https://blog.csdn.net/qq_42072014/article/details/140448151