AI百事通

从零开始:用LangChain构建你的第一个AI应用

📅 2026-08-01📰 ai_generated👁 1 次阅读
从零开始:用LangChain构建你的第一个AI应用
LangChainAI开发入门教程Python大模型应用

什么是LangChain?

LangChain是一个用于构建大模型应用的开源框架,它提供了模块化的组件,让你轻松地将LLM(大语言模型)与其他工具(如数据库、API)结合,创建强大的AI应用。2026年,LangChain已成为AI开发者的必备工具。

环境准备

在开始之前,请确保你的电脑已安装以下软件:

  • Python 3.9+(推荐3.10)
  • pip包管理器
  • OpenAI API密钥(或其他LLM提供商密钥)

安装LangChain:

pip install langchain

同时安装必要的依赖:

pip install openai python-dotenv

LangChain核心概念

1. 模型(Models)

LangChain支持多种LLM提供商,如OpenAI、Anthropic等。你可以通过统一的接口调用不同的模型。

from langchain.llms import OpenAI

llm = OpenAI(model_name="text-davinci-003", temperature=0.9)

2. 提示模板(Prompts)

提示模板用于管理输入提示,使代码更整洁。

from langchain.prompts import PromptTemplate

prompt = PromptTemplate(
    input_variables=["product"],
    template="为{product}想一个吸引人的广告语?",
)

3. 链(Chains)

链将多个步骤组合起来,实现复杂功能。例如,先生成广告语,再翻译成英文。

from langchain.chains import LLMChain

chain = LLMChain(llm=llm, prompt=prompt)
result = chain.run("智能手表")

4. 代理(Agents)

代理可以让AI自主决定使用哪些工具,实现更智能的交互。

5. 记忆(Memory)

记忆模块让AI记住之前的对话,实现多轮对话。

实战项目:构建智能问答系统

我们将构建一个基于文档问答的AI应用,用户可以提问关于某个文档内容的问题。

步骤1:加载文档

使用LangChain的文档加载器读取文本文件。

from langchain.document_loaders import TextLoader

loader = TextLoader("sample.txt")
documents = loader.load()

步骤2:拆分文档

将文档拆分成小块,以便嵌入和检索。

from langchain.text_splitter import CharacterTextSplitter

text_splitter = CharacterTextSplitter(chunk_size=200, chunk_overlap=20)
texts = text_splitter.split_documents(documents)

步骤3:生成嵌入并存储

将文本转换为向量并存储在向量数据库中。

from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS

embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(texts, embeddings)

步骤4:创建问答链

使用RetrievalQA链,从向量库中检索相关文本,生成答案。

from langchain.chains import RetrievalQA

qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=vectorstore.as_retriever())

步骤5:运行问答

query = "文档中提到了哪些关键点?"
answer = qa.run(query)
print(answer)

进阶技巧

  • 自定义提示模板:根据场景设计更精准的提示。
  • 多轮对话:使用ConversationBufferMemory实现记忆功能。
  • 集成外部API:通过Tool类让AI调用天气、新闻等API。

常见问题

Q1:API密钥如何获取?

可前往OpenAI官网注册并创建密钥。注意保密,不要泄露。

Q2:LangChain支持哪些向量数据库?

支持FAISS、Chroma、Pinecone等,可根据需求选择。

Q3:如何处理大文档?

使用递归文本拆分器,并适当调整块大小。

结语

通过本教程,你已经学会了使用LangChain构建一个简单的AI问答应用。LangChain的功能远不止这些,继续探索,你将能开发出更强大的AI产品。