第四章:大模型(LLM)

第六部分:langchain原理

第一节:langchain Model使用与实战


1. LangChain 概述

LangChain 是一个开源框架,旨在简化大语言模型(LLM)在应用中的集成与编排。它的核心目标是:

  • 模块化:将 LLM 调用、提示(Prompt)、内存(Memory)、工具(Tools)、链路(Chains)等解耦。

  • 可组合:支持将多个组件按需求组装成复杂的应用逻辑。

  • 易扩展:可以切换不同的大模型(OpenAI、Hugging Face、Anthropic 等)而无需重构业务代码。

LangChain 的 Model 层主要负责 与大语言模型 API 的交互,包括:

  • LLM 类:与通用文本生成模型交互(如 OpenAIHuggingFaceHub)。

  • ChatModel 类:与对话式模型交互(如 gpt-3.5-turbo)。

  • Embedding 类:获取向量嵌入,用于语义检索、相似度计算等。


2. Model 使用流程

(1)安装
pip install langchain-openai
pip install langchain-community
(2)初始化 LLM
from langchain_openai import OpenAI

llm = OpenAI(model_name="gpt-3.5-turbo-instruct", temperature=0.7, openai_api_key="你的API密钥")
result = llm("给我写一句鼓励自己的话")
print(result)

这里的 temperature 控制生成的随机性,数值越低输出越稳定。

(3)ChatModel 示例
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage

chat = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0.5, openai_api_key="你的API密钥")
response = chat([HumanMessage(content="帮我生成一个关于人工智能的三行诗")])
print(response.content)

3. Prompt 与 Model 结合

LangChain 提供了 PromptTemplate 来动态生成提示词:

from langchain.prompts import PromptTemplate

template = "你是一名{role},请用{style}风格解释:{topic}"
prompt = PromptTemplate(input_variables=["role", "style", "topic"], template=template)

print(prompt.format(role="数学老师", style="幽默", topic="微积分的本质"))

配合 LLM:

from langchain.chains import LLMChain

chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run({"role": "物理学家", "style": "生动形象", "topic": "量子叠加"}))

4. 多模型协作

LangChain 可以同时接入多个模型,按需求选择:

from langchain.llms import HuggingFaceHub

hf_llm = HuggingFaceHub(repo_id="google/flan-t5-large", model_kwargs={"temperature":0.3})

可以结合条件逻辑,让不同任务交给最适合的模型执行。


5. 实战案例:问答机器人

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory()
chatbot = ConversationChain(llm=chat, memory=memory)

print(chatbot.run("你好"))
print(chatbot.run("你记得我刚才说了什么吗?"))

说明:

  • ConversationBufferMemory 会记录上下文,实现多轮对话记忆。

  • 结合数据库或检索系统,就可以做出具备知识库问答能力的应用。


6. 总结

  • Model 层是 LangChain 的基础,负责与 LLM API 交互。

  • 结合 PromptTemplateChainMemory 可以快速构建应用。

  • 支持多模型接入,方便做模型融合与分工。

  • 实战中可与向量数据库(如 FAISS、Pinecone)配合,增强检索与推理能力。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐