当前位置: 首页 > wzjs >正文

北京网站建设外包公司哪家好谷歌搜索引擎入口2023

北京网站建设外包公司哪家好,谷歌搜索引擎入口2023,网站建设包含那些 内容,简单的h5免费模板LangChain 的核心组件 模型 I/O 封装 LLMs:大语言模型Chat Models:一般基于 LLMs,但按对话结构重新封装PromptTemple:提示词模板OutputParser:解析输出 数据连接封装 Document Loaders:各种格式文件的加载…

LangChain 的核心组件

  1. 模型 I/O 封装
    • LLMs:大语言模型
    • Chat Models:一般基于 LLMs,但按对话结构重新封装
    • PromptTemple:提示词模板
    • OutputParser:解析输出
  2. 数据连接封装
    • Document Loaders:各种格式文件的加载器
    • Document Transformers:对文档的常用操作,如:split, filter, translate, extract metadata, etc
    • Text Embedding Models:文本向量化表示,用于检索等操作(啥意思?别急,后面详细讲)
    • Verctorstores: (面向检索的)向量的存储
    • Retrievers: 向量的检索
  3. 对话历史管理
    • 对话历史的存储、加载与剪裁
  4. 架构封装
    • Chain:实现一个功能或者一系列顺序功能组合
    • Agent:根据用户输入,自动规划执行步骤,自动选择每步需要的工具,最终完成用户指定的功能
      • Tools:调用外部功能的函数,例如:调 google 搜索、文件 I/O、Linux Shell 等等
      • Toolkits:操作某软件的一组工具集,例如:操作 DB、操作 Gmail 等等
  5. Callbacks

文档(以 Python 版为例)

  • 功能模块:https://python.langchain.com/docs/get_started/introduction
  • API 文档:https://api.python.langchain.com/en/latest/langchain_api_reference.html
  • 三方组件集成:https://python.langchain.com/docs/integrations/platforms/
  • 官方应用案例:https://python.langchain.com/docs/use_cases
  • 调试部署等指导:https://python.langchain.com/docs/guides/debugging

一、模型 I/O 封装

把不同的模型,统一封装成一个接口,方便更换模型而不用重构代码。

1.1 模型 API:LLM vs. ChatModel

# !pip install --upgrade langchain
# !pip install --upgrade langchain-openai
# !pip install --upgrade langchain-community

1.1.1 OpenAI 模型封装

from langchain_openai import ChatOpenAIllm = ChatOpenAI(model="gpt-4o-mini")  # 默认是gpt-3.5-turbo
response = llm.invoke("你是谁")
print(response.content)# 我是一个人工智能助手,旨在回答问题和提供信息。有什么我可以帮助你的吗?

1.1.2 多轮对话 Session 封装

rom langchain.schema import (AIMessage,  # 等价于OpenAI接口中的assistant roleHumanMessage,  # 等价于OpenAI接口中的user roleSystemMessage  # 等价于OpenAI接口中的system role
)messages = [SystemMessage(content="你是CSDN的课程助理。"),HumanMessage(content="我是学员,我叫靓仔。"),AIMessage(content="欢迎!"),HumanMessage(content="我是谁")
]ret = llm.invoke(messages)print(ret.content)
# 你是靓仔,一位学员。如果你有任何问题或需要帮助的地方,请随时告诉我!

划重点:通过模型封装,实现不同模型的统一接口调用

1.1.3 换个国产模型

# !pip install qianfan
# 其它模型分装在 langchain_community 底包中
from langchain_community.chat_models import QianfanChatEndpoint
from langchain_core.messages import HumanMessage
import osllm = QianfanChatEndpoint(qianfan_ak=os.getenv('ERNIE_CLIENT_ID'),qianfan_sk=os.getenv('ERNIE_CLIENT_SECRET')
)messages = [HumanMessage(content="介绍一下你自己")
]ret = llm.invoke(messages)print(ret.content)
# 您好,我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。

1.2 模型的输入与输出

1.2.1 Prompt 模板封装

  1. PromptTemplate 可以在模板中自定义变量
from langchain.prompts import PromptTemplatetemplate = PromptTemplate.from_template("给我讲个关于{subject}的笑话")
print("===Template===")
print(template)
print("===Prompt===")
print(template.format(subject='小明'))

print(template.format(subject='小明'))
#%%
from langchain_openai import ChatOpenAI# 定义 LLM
llm = ChatOpenAI()
# 通过 Prompt 调用 LLM
ret = llm.invoke(template.format(subject='小明'))
# 打印输出
print(ret.content)
  1. ChatPromptTemplate 用模板表示的对话上下文
from langchain.prompts import (ChatPromptTemplate,HumanMessagePromptTemplate,SystemMessagePromptTemplate,
)
from langchain_openai import ChatOpenAItemplate = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template("你是{product}的客服助手。你的名字叫{name}"),HumanMessagePromptTemplate.from_template("{query}"),]
)llm = ChatOpenAI()
prompt = template.format_messages(product="AGI课堂",name="瓜瓜",query="你是谁"
)print(prompt)ret = llm.invoke(prompt)print(ret.content)
  1. MessagesPlaceholder 把多轮对话变成模板

#%%
from langchain.prompts import (ChatPromptTemplate,HumanMessagePromptTemplate,MessagesPlaceholder,
)human_prompt = "Translate your answer to {language}."
human_message_template = HumanMessagePromptTemplate.from_template(human_prompt)chat_prompt = ChatPromptTemplate.from_messages(# variable_name 是 message placeholder 在模板中的变量名# 用于在赋值时使用[MessagesPlaceholder("history"), human_message_template]
)
from langchain_core.messages import AIMessage, HumanMessagehuman_message = HumanMessage(content="Who is Elon Musk?")
ai_message = AIMessage(content="Elon Musk is a billionaire entrepreneur, inventor, and industrial designer"
)messages = chat_prompt.format_prompt(# 对 "history""language" 赋值history=[human_message, ai_message], language="中文"
)print(messages.to_messages())
result = llm.invoke(messages)
print(result.content)

划重点:把Prompt模板看作带有参数的函数

http://www.dtcms.com/wzjs/352675.html

相关文章:

  • 苏州行业网站建设费用热搜词工具
  • 购物网站建设方案网络推广的网站有哪些
  • 遂宁网站seo什么是搜索引擎销售
  • 衡水 网站建设成都网站快速排名提升
  • 网站输入卡密提取怎么做网络营销郑州优化推广公司
  • 域名命名网站网址安全检测中心
  • b2b网站建设计划书如何在国外推广自己的网站
  • 喊别人做的网站不肯给代码营销推广有哪些形式
  • 登陆网站怎么做长沙官网网站推广优化
  • 照片在线处理工具东莞seo推广公司
  • 宁波易企网做的网站免费搭建网站
  • 目前网站开发有什么缺点市场调研的方法有哪些
  • 襄阳专业做网站网站建设开发公司
  • 做网站建设需要做哪些工作室新闻头条今日要闻国内新闻最新
  • 网站在那里2023搜索最多的关键词
  • 做企业网站需要注意哪些百度网页版登录入口
  • 国内大型的网站建设网站关键字排名优化
  • 网站建设高端培训学校浏览器里面信息是真是假
  • 文字域名可以做网站疫情放开最新消息今天
  • 哪些网站是用twcms做的自建站平台
  • 弄美团网站的一般一个做赚多少钱青岛谷歌seo
  • dede 网站地图 调用文章google网站
  • 制作网页的网站有哪些什么是新媒体运营
  • 关于集约化建设政府网站竞价开户
  • 淘掌门官方网站搜索引擎优化要考虑哪些方面
  • 用哪个软件做网站好网页生成app
  • 做淘客的网站都有哪几个网络营销的成功案例分析
  • 建站宝盒建网站百度搜索关键词热度
  • 网站开发论坛百度贴吧热线客服24小时
  • 宁波静态网站网页建设年度关键词