查建设标准网站,创建网站怎么创,wordpress 首页导航,网站建设 仿站LangChain 的核心组件
模型 I/O 封装 LLMs#xff1a;大语言模型Chat Models#xff1a;一般基于 LLMs#xff0c;但按对话结构重新封装PromptTemple#xff1a;提示词模板OutputParser#xff1a;解析输出 数据连接封装 Document Loaders#xff1a;各种格式文件的加载…LangChain 的核心组件
模型 I/O 封装 LLMs大语言模型Chat Models一般基于 LLMs但按对话结构重新封装PromptTemple提示词模板OutputParser解析输出 数据连接封装 Document Loaders各种格式文件的加载器Document Transformers对文档的常用操作如split, filter, translate, extract metadata, etcText Embedding Models文本向量化表示用于检索等操作啥意思别急后面详细讲Verctorstores: 面向检索的向量的存储Retrievers: 向量的检索 记忆封装 Memory这里不是物理内存从文本的角度可以理解为“上文”、“历史记录”或者说“记忆力”的管理 架构封装 Chain实现一个功能或者一系列顺序功能组合Agent根据用户输入自动规划执行步骤自动选择每步需要的工具最终完成用户指定的功能 Tools调用外部功能的函数例如调 google 搜索、文件 I/O、Linux Shell 等等Toolkits操作某软件的一组工具集例如操作 DB、操作 Gmail 等等 Callbacks
官方文档地址https://python.langchain.com/docs/get_started
多轮对话封装
AIMessage, #等价于OpenAI接口中的assistant role 大模型的回复 HumanMessage, #等价于OpenAI接口中的user role SystemMessage #等价于OpenAI接口中的system role
import os
from dotenv import load_dotenv
load_dotenv()from langchain_openai import AzureChatOpenAI
model AzureChatOpenAI(azure_endpointos.environ[AZURE_OPENAI_ENDPOINT],azure_deploymentos.environ[AZURE_OPENAI_DEPLOYMENT_NAME],openai_api_versionos.environ[AZURE_OPENAI_API_VERSION],temperature0,model_kwargs{seed: 42})from langchain.schema import (AIMessage, #等价于OpenAI接口中的assistant roleHumanMessage, #等价于OpenAI接口中的user roleSystemMessage #等价于OpenAI接口中的system role
)messages [SystemMessage(content你是一个课程助理。),HumanMessage(content我来上课了)
]
response model(messages)
print(response) # AIMessagePrompt模板封装
import os
from dotenv import load_dotenv, find_dotenv_ load_dotenv(find_dotenv())
from langchain.prompts import ChatPromptTemplate
from langchain.prompts.chat import SystemMessagePromptTemplate, HumanMessagePromptTemplate
from langchain_openai import AzureChatOpenAItemplate ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(你是{product}的客服助手。你的名字叫{name}),HumanMessagePromptTemplate.from_template({query}),]
)
llm AzureChatOpenAI(azure_endpointos.environ[AZURE_OPENAI_ENDPOINT],azure_deploymentos.environ[AZURE_OPENAI_DEPLOYMENT_NAME],openai_api_versionos.environ[AZURE_OPENAI_API_VERSION],temperature0,model_kwargs{seed: 42})prompt template.format_messages(productAGI课堂,name瓜瓜,query你是谁)response llm(prompt)# chain template | llm
# response chain.invoke({product: AGI课堂,
# name: 瓜瓜,
# query: 你是谁})print(response) # AIMessage从文件加载Prompt模板
yaml格式 _type: prompt
input_variables:[adjective, content]
template: Tell me a {adjective} joke about {content}.json格式
{_type: prompt,input_variables: [adjective, content],template: Tell me a {adjective} joke about {content}.
}Template可以单独存放在.txt文件夹中
{_type: prompt,input_variables: [adjective, content],template_path: simple_template.txt
}# cat simple_template.txt
# Tell me a {adjective} joke about {content}.from langchain.prompts import load_promptprompt load_prompt(test.json)print(prompt.format(adjectivefunny, contentfox))
# Tell me a funny joke about fox.