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

构建LangChain应用程序的示例代码:33、如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型教程

除了HumanInputLLM,LangChain还提供了一个伪聊天模型类,可以用于测试、调试或教育目的。这允许您模拟对聊天模型的调用,并模拟如果人类接收到这些消息会如何响应。

在这篇笔记中,我们将介绍如何使用这个模型。

我们首先在代理中使用HumanInputChatModel

from langchain_community.chat_models.human import HumanInputChatModel

由于我们将在这篇笔记中使用WikipediaQueryRun工具,如果您还没有安装wikipedia包,您可能需要安装它。

%pip install wikipedia
from langchain.agents import AgentType, initialize_agent, load_tools
# 加载工具列表,这里我们只加载了wikipedia工具
tools = load_tools(["wikipedia"])# 创建HumanInputChatModel实例,模拟人工输入的聊天模型
llm = HumanInputChatModel()# 初始化代理,使用CHAT_ZERO_SHOT_REACT_DESCRIPTION类型的代理,verbose=True表示打印详细信息
agent = initialize_agent(tools, llm, agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)# 使用代理来回答问题"What is Bocchi the Rock?"
agent("What is Bocchi the Rock?")

总结

本文介绍了如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型。通过这种方式,可以方便地进行测试、调试或教育演示,而无需实际调用外部的聊天模型。文中还展示了如何加载工具和初始化代理,以及如何使用代理来回答问题。

扩展知识点

  • LangChain: 一个用于构建AI助手和自动化代理的框架,支持多种工具和模型的集成。
  • HumanInputChatModel: 一个模拟人类输入的聊天模型,可以用于测试和教育目的。
  • AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION: 一种代理类型,用于即时响应聊天描述性任务,无需事先的训练或配置。
  • WikipediaQueryRun: 一个工具,用于从Wikipedia查询信息并返回结果。
  • pip: Python的包管理工具,用于安装和管理Python库。

相关文章:

  • 二分查找总结:算法原理,适用题型,经典题单
  • 禁用PS/Photoshop等一系列Adobe旗下软件联网外传用户数据操作
  • java是值传递还是引用传递?
  • 【C++课程学习】:类和对象(拷贝构造和运算符重载)
  • stm32MP135裸机编程:修改官方GPIO例程在DDR中点亮第一颗LED灯
  • c++ 函数内对象的释放
  • Django序列化器详解:普通序列化器与模型序列化器的选择与运用
  • 如何将ai集成到项目中,方法二
  • 【C++】map和set
  • 打造专属 Switch 模拟游戏机
  • MySQL时间和日期类型详解(零基础入门篇)
  • 关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
  • Vue待学习
  • YOLOv8改进 | 注意力机制 | 正确的 Self-Attention 与 CNN 融合范式,性能速度全面提升【独家创新】
  • 秋招突击——第三弹——Java的SSN框架快速入门——SpringMVC
  • @angular/forms 源码解析之双向绑定
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • iOS编译提示和导航提示
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Js基础知识(四) - js运行原理与机制
  • js数组之filter
  • miaov-React 最佳入门
  • ng6--错误信息小结(持续更新)
  • NSTimer学习笔记
  • Odoo domain写法及运用
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 读懂package.json -- 依赖管理
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 坑!为什么View.startAnimation不起作用?
  • 前端设计模式
  • 悄悄地说一个bug
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何用vue打造一个移动端音乐播放器
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 阿里云服务器购买完整流程
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #if 1...#endif
  • #mysql 8.0 踩坑日记
  • #window11设置系统变量#
  • (13)Hive调优——动态分区导致的小文件问题
  • (C++)八皇后问题
  • (Charles)如何抓取手机http的报文
  • (floyd+补集) poj 3275
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)Flink Join 连接
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (一)为什么要选择C++
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...