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

电商网站开发app意义重庆网站建设网站建设

电商网站开发app意义,重庆网站建设网站建设,苏州园区限电,网站模拟效果1. Callback 功能介绍 Callback 是 LangChain 提供的回调机制#xff0c;允许我们在 LLM 应用程序的各个阶段使用 hook #xff08;钩子#xff09;。钩子的含义也非常简单#xff0c;我们把应用程序看成一个一个的处理逻辑#xff0c;从开始到结束#xff0c;钩子就是在…1. Callback 功能介绍 Callback 是 LangChain 提供的回调机制允许我们在 LLM 应用程序的各个阶段使用 hook 钩子。钩子的含义也非常简单我们把应用程序看成一个一个的处理逻辑从开始到结束钩子就是在事件传送到终点前截获并监控事件的传输。 Callback 对于记录日志、监控、流式传输等任务非常有用简单理解 Callback 就是记录整个流程的运行情况的一个组件在每个关键的节点记录响应的信息以便跟踪整个应用的运行情况。 例如 在 Agent 模块中调用了几次 tool每次的返回值是什么在 LLM 模块的执行输出是什么样的是否有报错在 OutputParser 模块的输出解析是什么样的重试了几次 Callback 收集到的信息可以直接输出到控制台也可以输出到文件更可以输入到第三方应用相当于独立的日志管理系统通过这些日志就可以分析应用的运行情况统计异常率运行的瓶颈模块以便优化。在 LangChain 中callback 模块中具体实现包括两大功能对应 CallbackHandler 和CallbackManager 。CallbackHandler对每个应用场景比如 Agent 或 Chain 或 Tool 的纪录。CallbackManager对所有 CallbackHandler 的封装和管理包括了单个场景的 Handle也包括运行时整条链路的 Handle。不过在 LangChain 的底层这些任务的执行逻辑由回调处理器 CallbackHandler 定义。 CallbackHandler 里的各个钩子函数的触发时间如下 以下是 LangChain Callback 事件机制中常见的事件及其对应的触发时机和方法名称的完整表格适用于实现自定义的 CallbackHandler 事件名称事件触发时机相关方法Callback 方法名Chat Model Start当聊天模型如 ChatOpenAI开始执行时on_chat_model_startLLM Start当大语言模型如 OpenAI、Anthropic开始执行时on_llm_startLLM New Token当 LLM 生成新 token流式输出时on_llm_new_tokenLLM End当 LLM 执行结束时on_llm_endLLM Error当 LLM 执行出错时on_llm_errorChain Start当整个链Chain开始运行时on_chain_startChain End当整个链运行结束时on_chain_endChain Error当链运行出错时on_chain_errorTool Start当工具Tool开始执行时on_tool_startTool End当工具执行结束时on_tool_endTool Error当工具执行出错时on_tool_errorAgent Action当 Agent 执行某个动作如调用工具时on_agent_actionAgent Finish当 Agent 执行完毕完成任务时on_agent_finishRetriever Start当 Retriever检索器开始工作时on_retriever_startRetriever End当 Retriever 检索结束时on_retriever_endRetriever Error当 Retriever 出错时on_retriever_errorText任意文本输出事件用于自定义链、Tool、Agent 的输出on_textRetry当某个组件如 LLM、Tool触发重试机制时on_retry 在 LangChain 中使用回调使用 CallbackHandler 几种方式 在运行 invoke 时传递对应的 config 信息配置 callbacks推荐。在 Chain 上调用 with_config 函数传递对应的 config 并配置 callbacks推荐。在构建大语言模型时传递 callbacks 参数不推荐。 在 LangChain 中提供了两个最基础的 CallbackHandler分别是 StdOutCallbackHandler 和 FileCallbackHandler 。 使用示例如下 import dotenv from langchain_core.callbacks import StdOutCallbackHandler from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_core.runnables import RunnablePassthrough from langchain_openai import ChatOpenAI dotenv.load_dotenv() # 1.编排prompt prompt ChatPromptTemplate.from_template({query}) # 2.创建大语言模型 llm ChatOpenAI(modelgpt-3.5-turbo-16k) # 3.构建链 chain {query: RunnablePassthrough()} | prompt | llm | StrOutputParser() # 4.调用链并执行 content chain.stream( 你好你是, config{callbacks: [StdOutCallbackHandler()]} ) for chunk in content: pass自定义回调 在 LangChain 中想创建自定义回调处理器只需继承 BaseCallbackHandler 并实现内部的部分接口即可例如 #!/usr/bin/env python # -*- coding: utf-8 -*-import time from typing import Dict, Any, List, Optional from uuid import UUIDimport dotenv from langchain_core.callbacks import StdOutCallbackHandler, BaseCallbackHandler from langchain_core.messages import BaseMessage from langchain_core.output_parsers import StrOutputParser from langchain_core.outputs import LLMResult from langchain_core.prompts import ChatPromptTemplate from langchain_core.runnables import RunnablePassthrough from langchain_openai import ChatOpenAIdotenv.load_dotenv()class LLMOpsCallbackHandler(BaseCallbackHandler):自定义LLMOps回调处理器start_at: float 0def on_chat_model_start(self,serialized: Dict[str, Any],messages: List[List[BaseMessage]],*,run_id: UUID,parent_run_id: Optional[UUID] None,tags: Optional[List[str]] None,metadata: Optional[Dict[str, Any]] None,**kwargs: Any,) - Any:print(聊天模型开始执行了)print(serialized:, serialized)print(messages:, messages)self.start_at time.time()def on_llm_end(self,response: LLMResult,*,run_id: UUID,parent_run_id: Optional[UUID] None,**kwargs: Any,) - Any:end_at: float time.time()print(完整输出:, response)print(程序消耗:, end_at - self.start_at)# 1.编排prompt prompt ChatPromptTemplate.from_template({query})# 2.创建大语言模型 llm ChatOpenAI(modelgpt-3.5-turbo-16k)# 3.构建链 chain {query: RunnablePassthrough()} | prompt | llm | StrOutputParser()# 4.调用链并执行 resp chain.stream(你好你是,config{callbacks: [StdOutCallbackHandler(), LLMOpsCallbackHandler()]} )for chunk in resp:pass
http://www.tj-hxxt.cn/news/136356.html

相关文章:

  • 全国当先的网络建站推广注册推广软件
  • 建设公司起名哪个网站好国外网络推广服务
  • 网站建设c云世家宋南南网站建设需要
  • wordpress如何生成网站地图旅游网站建设的重要性
  • 如何免费建网站赚钱网页制作与设计的英文
  • 电子商务网站建设 精品课wordpress模版怎么弄
  • 做电影网站侵权企业查询网页版
  • 庆阳网红刘斌谷歌seo知识
  • 电商网站建设网络公司网站建设洽谈问题
  • 电子商务网站域名注册方法做网站找哪家好
  • 做网站要签合同吗网站黑链
  • 胶东国际机场建设有限公司网站邯郸媒体网络营销诚信合作
  • 重庆市建设工程信息网站哪些网站教你做美食的
  • 关闭网站跳转代码亳州网站制作公司
  • 企业可以做哪些网站有哪些内容吗zencart网站建设
  • 网站建设招标文件技术部分纺织面料做哪个网站好
  • 如何取一个大气的名字的做网站平台公司的定义
  • 多终端网站百度关键词分析工具
  • 固原住房和城乡建设厅网站伊犁州建设局网站
  • 商业摄影网站wordpress 文章截断
  • 杭州建设局网站首页 柳免费制作主图的网站
  • 潍坊汇聚网站3a汽车集团公司网络营销方案
  • 无锡网站制作工具苏州网站制作网络建设公司
  • 网站会员功能介绍自己网站视频直播怎么做
  • 怎么用dw建设网站德州网站建设德州
  • 仙居做网站在哪里做网站建设公司 云智互联
  • 网站如何提高用户量网站建设服务器价格
  • 免费手机个人网站seo发布网站
  • 景观网站建设wordpress 改模板目录
  • 电影网站怎么做平面设计师网站都有哪些