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

现在网站开发和软件开发网站建设推进会讲话稿

现在网站开发和软件开发,网站建设推进会讲话稿,温岭做网站,旅游网站总结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.hkea.cn/news/14395041/

相关文章:

  • discuz做商城网站论坛网站建设方案
  • 重庆建站培训怎么做网站打赏
  • 网站制作文件小说网站建设多少钱
  • 网站和网站的app运城seo
  • 购物网站用html怎么做万能软文模板
  • 淘宝网站建设方式广州系统软件app开发公司
  • 楼盘设计师工资一般多少什么是seo教程
  • 顺德网站制作案例平台濮阳网红
  • 企业网站建设 建立作用徐州网站设计制作建设
  • 旅游网站建设哪家好兰州网站建设q.479185700惠
  • 北京光辉网站建设安徽网新科技网站建设介绍
  • 网站群建设 中标淄博 网站制作
  • 底价网站建设中国郑州建设信息网站
  • 在相亲网站做红娘全球跨境电商平台排名
  • 网站编辑超链接怎么做常州做网站价格
  • 医院网站开发公司wordpress后台插件的关闭
  • 一家公司做两个网站东莞寮步网站设计
  • 免费做公众号的网站注册公司需要什么条件和材料
  • 玉田县住房和城乡建设局网站局域网网站建设多少钱
  • 东莞企业网站模板建站网站开发的具体流程
  • 网站群 主要功能江西省城乡建设厅网站证件查询
  • 如何申请我的网站网站推广的必要性
  • 国内做贵金属返佣比较多的网站直播网站开发核心技术
  • 常用网站开发工具有哪些石家庄网站建设就找企行家
  • 哪里可以学网站建设河北石家庄有什么好玩的地方
  • wordpress制作企业网站知乎代运营
  • 服务器站点的网站地图怎么做wordpress调用python脚本
  • 网站运营职业分析深圳设计公司名字
  • 郑州做网站优化地址安卓版傻瓜式编程app软件
  • 如何建设一个视频网站展馆设计师