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所有这些对象实现的通用接口。

相关推荐
张高兴5 小时前
张高兴的大模型开发实战:(四)使用 LangGraph 实现多智能体应用
python·langchain·大模型
肥猪猪爸1 天前
浅析RAG技术:大语言模型的知识增强之道
人工智能·语言模型·自然语言处理·langchain·大模型·ollama·deepseek
遇码2 天前
大语言模型开发框架——LangChain
人工智能·语言模型·langchain·llm·大模型开发·智能体
*星星之火*3 天前
【GPT入门】第33 课 一文吃透 LangChain:chain 结合 with_fallbacks ([]) 的实战指南
gpt·langchain
碧海饮冰3 天前
LangChain/Eliza框架在使用场景上的异同,Eliza通过配置实现功能扩展的例子
langchain·eliza
牛奶5 天前
前端学AI:LangGraph学习-基础概念
前端·langchain·ai编程
桜吹雪5 天前
手把手教你在浏览器中处理流式传输(Event Stream/SSE)
前端·langchain·openai
herogus丶6 天前
【LLM】Elasticsearch作为向量库入门指南
elasticsearch·docker·langchain
处女座_三月6 天前
大模型架构记录13【hr agent】
人工智能·python·深度学习·langchain
SanMu三木7 天前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板
langchain·prompt