LangChain 是一个用于构建和部署大模型应用的框架,涵盖了从语言模型(LLM)到检索增强生成(RAG)、OpenAI 集成以及智能体(Agent)的全套工具链。以下是一个简要的 LangChain 大模型全套教程,帮助你快速上手。
langchain的技术架构如下:
首先,确保你已经安装了 Python 3.7 或更高版本。然后,安装 LangChain 和相关依赖:
pip install langchain openai
然后需要你有siliconflow的账号,可访问:硅基流动统一登录 自行进行注册,如果进行了实名认证还能赠送14块钱的额度。当然还有很多的免费模型,可以供调试使用。
LangChain 提供了与多种语言模型的集成,包括 OpenAI 的 GPT 系列。以下是一个简单的例子,展示如何使用 OpenAI 的 GPT-3 生成文本:
from langchain.llms import OpenAI
# 初始化 OpenAI 模型
llm = OpenAI(api_key="your-openai-api-key",base_url="https://api.siliconflow.cn/v1", model="deepseek-ai/DeepSeek-R1",)
# 生成文本
response = llm("请写一段关于人工智能的介绍。")
print(response)
Chroma
和 OpenAIEmbeddings
构建本地知识库,结合检索结果生成精准回答。RAG 是一种结合了检索和生成的技术,能够从外部知识库中检索信息并生成更准确的回答。以下是一个简单的 RAG 示例:
from langchain.retrievers import WikipediaRetriever
from langchain.chains import RetrievalQA
# 初始化检索器
retriever = WikipediaRetriever()
# 初始化 RAG 模型
rag = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever)
# 提问
response = rag("什么是量子计算?")
print(response)
LangChain 提供了与 OpenAI 的无缝集成,支持多种任务,如文本生成、问答、翻译等。以下是一个使用 OpenAI 进行问答的示例:
from langchain.chains import QAChain
# 初始化 QAChain
qa_chain = QAChain(llm=llm)
# 提问
response = qa_chain("谁是美国的第一任总统?")
print(response)
initialize_agent
创建支持多步骤推理的智能体,结合 ZERO_SHOT_REACT_DESCRIPTION
策略优化决策流程。智能体是 LangChain 中的一个重要概念,它可以根据用户的需求自动选择和执行任务。以下是一个简单的智能体示例:
from langchain.agents import initialize_agent, Tool
from langchain.tools import WikipediaQueryRun
# 初始化工具
wikipedia_tool = WikipediaQueryRun()
# 初始化智能体
tools = [Tool(name="Wikipedia", func=wikipedia_tool.run, description="用于查询维基百科")]
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)
# 执行任务
response = agent.run("请告诉我关于太阳系的信息。")
print(response)
RunnableLambda
和 RunnablePassthrough
构建可组合的工作流,灵活适应复杂业务需求。LangChain 还支持更复杂的应用场景,如多轮对话、任务分解、知识图谱集成等。你可以根据具体需求,结合 LangChain 提供的各种模块,构建更强大的应用。
RunnableLambda
和 RunnablePassthrough
构建可组合的工作流,灵活适应复杂业务需求。在完成应用开发后,你可以使用 LangChain 提供的部署工具将应用部署到生产环境。同时,LangChain 还提供了多种优化策略,如模型压缩、缓存、并行化等,以提升应用的性能和效率。