LangChain核心模块 Model I/O

Model I/O

任何语言模型应用程序的核心元素都是模型。LangChain 为您提供了与任何语言模型交互的构建块。

Models

llm chat_model 都是表示特定模型配置的对象。

LLM 对象将字符串作为输入和输出字符串。ChatModel 对象将消息列表作为输入并输出消息。

LLM 返回一个字符串,而 ChatModel 返回一条消息。

Prompt Templates

通常会将用户输入 添加到较大的文本中,称为提示模板,该文本提供有关当前特定任务的附加上下文。PromptTemplates捆绑了从用户输入到完全格式化的提示的所有逻辑。

PromptTemplates也可用于生成消息列表。在这种情况下,提示不仅包含有关内容的消息,还包含每条消息(其角色、在列表中的位置等)。最常用的是 ChatPromptTemplate 是 ChatMessageTemplates 的列表。每个 ChatMessageTemplate 都包含有关如何格式化该 ChatMessage 的说明 - 它的角色,以及它的内容。

python 复制代码
from langchain.prompts.chat import ChatPromptTemplate

template = "You are a helpful assistant that translates {input_language} to {output_language}."
human_template = "{text}"

chat_prompt = ChatPromptTemplate.from_messages([
    ("system", template),
    ("human", human_template),
])

chat_prompt.format_messages(input_language="English", output_language="French", text="I love programming.")

Output parsers

OutputParser将语言模型的原始输出转换为可以在下游使用的格式。OutputParsers主要有以下几种类型:

  • 将文本从LLM转换为结构化信息(例如 JSON)
  • ChatMessage 转换为字符串
  • 将除消息之外的调用返回的额外信息(如 OpenAI 函数调用)转换为字符串。

Composing with LCEL

将上面的各个模块组合成一条链,该链将获取输入变量,将这些变量传递给提示模板以创建提示,将提示传递给语言模型,然后通过(可选)输出解析器传递输出。

使用|语法将这些组件链接在一起,由LCEL提供支持,并依赖Runnable所有这些对象实现的通用接口。

相关推荐
FreeCode30 分钟前
LangSmith本地部署LangGraph应用
python·langchain·agent
汗流浃背了吧,老弟!6 小时前
LangChain 实现文本分类任务
分类·langchain
FreeCode21 小时前
使用LangSmith评估智能体
python·langchain·agent
FreeCode1 天前
使用LangSmith追踪智能体运行
python·langchain·agent
汗流浃背了吧,老弟!1 天前
LangChain提取和输出结构化数据
langchain
王国强20091 天前
LangGraph 如何通过 Checkpoint 实现持久化
langchain
王国强20091 天前
剖析 LangGraph 的 Super-step 概念
langchain
前端小东2 天前
Langchain Template 全面指南
langchain·openai
StringKai2 天前
milvus+langchain实现RAG应用
langchain·milvus
王国强20092 天前
Workflows vs Agents:如何选择你的 LLM 应用架构?
langchain