以下是关于 LangChain(开发构建)、LangSmith(生产化/跟踪)、LangServe(部署为 API) 的基础使用案例教程,涵盖功能介绍及完整演示:
LangChain:开发和构建 LLM 应用程序
功能介绍
-
核心概念:LangChain 是一个基于大语言模型的应用开发框架[8]。它提供了一系列模块化组件,用于构建复杂的语言模型应用程。
-
主要功能:支持多种语言模型提供商、丰富的提示模板、链式调用结构、代理和工具集成等。
使用示例
案例一:基础 LLM 链
-
功能描述:利用 Prompt 模板和语言模型组成简单的链路进行响应[1][8]。
-
代码实现:
from langchain_openai import ChatOpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain # 初始化语言模型 llm = ChatOpenAI(api_key="<your-openai-api-key>", model="gpt-3.5-turbo") # 创建提示模板 prompt = PromptTemplate.from_template("翻译这句话到英文:{sentence}") # 构建 LLM 链 chain = LLMChain(llm=llm, prompt=prompt) # 调用链进行翻译 result = chain.invoke({ "sentence": "今天是星期五"}) print(result)
-
效果展示:输入中文句子,输出对应的英文翻译[1][8]。
案例二:RAG 检索链
-
功能描述:通过文档加载器加载数据,向量化后建立检索器索引,利用检索器查询出文档后与问题一起输入语言模型获取响应[1]。
-
代码实现:
from langchain.document_loaders import WebBaseLoader from langchain.embeddings import OpenAIEmbeddings from langchain.vectorstores import FAISS from langchain.chains import RetrievalQAChain # 加载文档 loader = WebBaseLoader("https://example.com") docs = loader.load() # 向量化并建立索引 embeddings = OpenAIEmbeddings() vectorstore = FAISS.from_documents(docs, embeddings) # 构建 RAG 检索链 chain = RetrievalQAChain.from_llm(llm, vectorstore