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

LangChain —— Message —— how to filter messages

文章目录

  • 一、概述
  • 二、基本使用
  • 三、连成链


一、概述

 在更复杂的链和代理中,我们可能会使用消息列表跟踪状态。此列表可以开始累积来自多个不同模型、说话者、子链等的消息,我们可能只想将此完整消息列表的子集传递给链/代理中的每个模型调用。

 filter_message 使按 type、id、name 过滤消息变得容易。


二、基本使用

from langchain_core.messages import (AIMessage,HumanMessage,SystemMessage,filter_messages,
)messages = [SystemMessage("you are a good assistant", id="1"),HumanMessage("example input", id="2", name="example_user"),AIMessage("example output", id="3", name="example_assistant"),HumanMessage("real input", id="4", name="bob"),AIMessage("real output", id="5", name="alice"),
]filter_messages(messages, include_types="human")
"""
[HumanMessage(content='example input', name='example_user', id='2'),HumanMessage(content='real input', name='bob', id='4')]"""filter_messages(messages, exclude_names=["example_user", "example_assistant"])"""[SystemMessage(content='you are a good assistant', id='1'),HumanMessage(content='real input', name='bob', id='4'),AIMessage(content='real output', name='alice', id='5')]"""filter_messages(messages, include_types=[HumanMessage, AIMessage], exclude_ids=["3"])
"""
[HumanMessage(content='example input', name='example_user', id='2'),HumanMessage(content='real input', name='bob', id='4'),AIMessage(content='real output', name='alice', id='5')]
"""

三、连成链

 filter_message 可以命令式 (如上所述) 或声明式使用,这样可以很容易地与链中的其他组件组合:

# pip install -U langchain-anthropic
from langchain_anthropic import ChatAnthropicllm = ChatAnthropic(model="claude-3-sonnet-20240229", temperature=0)
# Notice we don't pass in messages. This creates a RunnableLambda that takes messages as input
filter_ = filter_messages(exclude_names=["example_user", "example_assistant"])
chain = filter_ | llm
chain.invoke(messages)
http://www.lryc.cn/news/398979.html

相关文章:

  • conda install问题记录
  • 【python】IPython的使用技巧
  • 常用知识点问答
  • paddlenlp cpu windows 下测试gpt
  • uboot的功能
  • java导出word实现
  • Flink 提交作业的方式
  • JVM系列 | 垃圾收集算法
  • 深入理解Spring Boot中的事件驱动架构
  • Moldflow安装包下载:附网盘地址+详细教程步骤
  • 2024辽宁省数学建模B题【钢铁产品质量优化】思路详解
  • C++基础入门(上)
  • 基于深度学习的情感分析
  • mybatis 延迟加载
  • 使用QT5.14.2开发族谱管理软件过程记录
  • 【QT】布局管理器
  • 兼容问题---ios底部的安全距离css设置
  • python JSON Lines (JSONL)的保存和读取;jsonl的数据保存和读取,大模型prompt文件保存常用格式
  • Spring Boot中@Async注解的使用及原理 + 常见问题及解决方案
  • ubuntu基于cmakelist的Qt工程,如何将图片打包进二进制程序
  • Spring的启动流程refresh方法、配置类解析流程@Component、@Configuration、@Import、@Bean
  • 运算放大器(2)
  • 智能优化算法之模拟退火算法SA
  • 同时用到,网页,java程序,数据库的web小应用
  • 星环科技推出语料开发工具TCS,重塑语料管理与应用新纪元
  • 【ARM】MDK安装ARM_compiler5无法打开安装程序
  • PHP文字ocr识别接口示例、人工智能的发展
  • 【2024 全国青少年信息素养大赛复赛指南】算法创意实践挑战赛复赛、智能算法应用挑战赛复赛指南
  • 构建自定义Tensorflow镜像时用到的链接地址整理
  • C++——二叉搜索树的实现