报错 - LangChain bind_tools NotImplementedError

使用 LangChain 的 bind_tools 方法一直报错,即使使用 ChatOpenAI 作为 llm 接口

根据这个issue 下的回答,修改了 ChatOpenAI 的 import 出处,解决了问题
https://github.com/langchain-ai/langchain/issues/21479#issuecomment-2105618237


我的完整代码为:

代码使用官方示例:https://python.langchain.com/docs/how_to/tool_calling/
将大模型修改为 litellm base 调用

import os 
from typing_extensions import Annotated, TypedDictclass add(TypedDict):"""Add two integers.""" # Annotations must have the type and can optionally include a default value and description (in that order).a: Annotated[int, ..., "First integer"]b: Annotated[int, ..., "Second integer"]class multiply(TypedDict):"""Multiply two integers.""" a: Annotated[int, ..., "First integer"]b: Annotated[int, ..., "Second integer"]tools = [add, multiply]# from langchain_community.chat_models import ChatOpenAI  # 错误
from langchain_openai import ChatOpenAIos.environ["OPENAI_API_KEY"] = "sk-1234"model_name = "zhipu--GLM-4-Flash"
model = ChatOpenAI(openai_api_base="http://0.0.0.0:4000",model = model_name,temperature=0.1, 
)# response = model.invoke([HumanMessage(content="hi!")])
llm_with_tools = model.bind_tools(tools) query = "What is 3 * 12?"ret = llm_with_tools.invoke(query)print(ret) 

结果

content='' 
additional_kwargs={'tool_calls': [{'id': 'call_9115998954352548377', 'function': {'arguments': '{"a": 3, "b": 12}', 'name': 'multiply'}, 'type': 'function', 'index': 0}], 'refusal': None
} response_metadata={'token_usage': {'completion_tokens': 15, 'prompt_tokens': 299, 'total_tokens': 314, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'GLM-4-Flash', 'system_fingerprint': None, 'finish_reason': 'tool_calls', 'logprobs': None
} id='run-45a19962-0acd-4e36-9dd7-fcf395bfc98e-0' 
tool_calls=[{'name': 'multiply', 'args': {'a': 3, 'b': 12}, 'id': 'call_9115998954352548377', 'type': 'tool_call'}] usage_metadata={'input_tokens': 299, 'output_tokens': 15, 'total_tokens': 314, 'input_token_details': {}, 'output_token_details': {}
}

2024-10-16(三)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于华为昇腾910B,实战 InternLM2.5-7B-Chat 模型推理

本文将带领大家基于启智平台,使用 LMDeploy 推理框架在华为昇腾 910B 上实现 internlm2_5-7b-chat 模型的推理。 GitHub - InternLM/lmdeploy: LMDeploy is a toolkit for compressing, deploying, and serving LLMs.(欢迎star) GitHub - I…

Opencv库的安装与vs项目配置

目录 一、下载安装opencv 1、下载 2、减压安装 3、环境变量配置(vs项目不是必须的,看后面) 二、vs项目配置opencv 1、创建vs项目 2、包含opencv头文件 一、下载安装opencv 1、下载 OpenCV - Open Computer Vision Library 2、减压安…

k8s杂记

在node节点内部使用kubectl: rootmultinode-demo-m02:/# ps aux | grep kubelet root 218 3.1 1.6 2066316 62516 ? Ssl 07:35 0:29 /var/lib/minikube/binaries/v1.30.0/kubelet --bootstrap-kubeconfig/etc/kubernetes/bootstrap-kubelet.con…

phpstorm+phpstudy 配置xdebug(无需开启浏览器扩展)

今天又被xdebug折磨了,忘记了以前咋配置了现在百度发现好多都是各种浏览器扩展而且也没有真正的用到项目上的都是测试的地址怎么样的 我就简单写一下自己实战吧 不支持workerman swoole hyperf等这种服务框架 如果你会请教教我 工具版本phpstudy8.1.xphpstorm2021.x…

docker查看,删除,停止,暂停,恢复容器详解

一,查看容器(假设你有一个名为 my_app_container 的容器)。 1. 查看所有容器(包括已停止的) docker ps -a 输出示例: CONTAINER ID IMAGE COMMAND CREATED STATUS …

springboot单文件,多文件下载方式

简单大文件下载&#xff1a; /*** 下载大文件* param path 路径* param fileName 文件名* return* throws IOException*/ public static ResponseEntity<InputStreamResource> downloadFile(String path, String fileName) throws IOException {Path filePath Paths.ge…

操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)

目录 1. 介绍进程调度&#xff08;Introduction to Process Scheduling&#xff09; 2. 优先级调度&#xff08;Priority Scheduling&#xff09; 3. CPU 利用率&#xff08;CPU Utilization&#xff09; 4. 吞吐量&#xff08;Throughput&#xff09; 5. 周转时间&#xf…

PAT甲级-1127 ZigZagging on a Tree

题目 题目大意 给出一棵树的中序和后序遍历&#xff0c;要求按层序输出这棵树&#xff0c;但是按照从左到右&#xff0c;再从右到左&#xff0c;再从左到右的顺序。 思路 由中序遍历和后序遍历可以构造出一棵二叉树。观察题目中要求的输出顺序&#xff0c;发现层数为奇数的都…

FineReport 数据集

概念&#xff1a;数据集是指可直接应用于模板设计的数据展现集合。 按其来源范围数据集可以分为 数据库查询内置数据集文件数据集SAP 数据集存储过程多维数据库关联数据集树数据集 1、数据库查询 数据库查询&#xff1a;指从定义好的数据库连接中&#xff0c;就是数据源中使用…

Flutter鸿蒙版本灵活使用方法间的回调处理复杂化的逻辑

目录 写在前面 示例代码 main.dart: one.dart: 代码解析 1. 主入口 main 函数 2. MyApp 类 3. CallbackExample 类 4. onok 函数 5. one 函数 写在后面 写在前面 在 Flutter 开发中&#xff0c;灵活使用函数之间的回调带来了多种好处&#xff0c;包括提高可重用性、…

高频SQL50题(基础版)三

前言&#xff1a;需要了解SQL50题一和二的可以关注我&#xff0c;在我之前写的文章都有。 目录 620.有趣的电影&#xff08;简单&#xff09; 1251.平均售价&#xff08;简单&#xff09; 1075.项目员工I&#xff08;简单&#xff09; 1633.各赛事的用户注册率&#xff08…

如何提高LabVIEW编程效率

提高LabVIEW编程效率对开发者来说非常重要&#xff0c;尤其是在处理复杂项目或紧迫的开发周期时。以下是一些可以显著提升LabVIEW编程效率的技巧&#xff0c;从代码结构、工具使用到团队协作的多个角度进行详细分析&#xff1a; 1. 模块化设计 模块化设计 是提高代码可维护性和…

在Luckysheet中嵌入图表

在当今数据驱动的世界中&#xff0c;能够有效地可视化数据变得越来越重要。Luckysheet作为一个强大的基于Web的电子表格工具&#xff0c;不仅提供了Excel类似的功能&#xff0c;还支持嵌入各种图表。本文将指导你如何在Luckysheet中嵌入图表&#xff0c;让你的数据栩栩如生。 …

kali chrome 安装 hackbar

HackBar 是一个用于在 Kali Linux 中快速测试 SQL 注入和 XSS 漏洞的 Chrome 扩展程序。以下是如何在 Kali Linux 上安装 HackBar 的步骤&#xff1a; 首先&#xff0c;你需要确保你的系统已经安装了 Google Chrome 或 Chromium。如果没有安装&#xff0c;你可以使用以下命令安…

树莓派--AI视觉小车智能机器人--1.树莓派系统烧入及WiFi设置并进入jupyterlab

一、Raspberry Pi 系统烧入 使用树莓派&#xff0c;我们是需要有操作系统的。默认情况下&#xff0c;树莓派会在插入的SD卡上查找操作系统。这需要一台电脑将存储设备映像为引导设备&#xff0c;并将存储设备插入该电脑。大多数树莓派用户选择microSD卡作为引导设备。 1.1 下载…

SQL Server日期查询常用语句

一、以下是SQL 日期截取 & SQL Server日期比较日期查询常用语句 select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),-,), ,),:,) 20040912110608 select COUNVRT(varchar(12) , getdate…

前端的全栈混合之路Meteor篇:容器化开发环境下的meteor工程架构解析

本文主要介绍容器化meteor工程的目录架构解析&#xff0c;之前的文章中浅浅提到过一些&#xff1a;前端的全栈混合之路Meteor篇&#xff1a;开发环境的搭建 -全局安装或使用docker镜像-CSDN博客https://blog.csdn.net/m0_38015699/article/details/142730928?spm1001.2014.300…

【Trulens框架】用TruLens 自动化 RAG 应用项目评估测试

前言&#xff1a; 什么是Trulens TruLens是面向神经网络应用的质量评估工具&#xff0c;它可以帮助你使用反馈函数来客观地评估你的基于LLM&#xff08;语言模型&#xff09;的应用的质量和效果。反馈函数可以帮助你以编程的方式评估输入、输出和中间结果的质量&#xff0c;从而…

【动态规划】完全背包问题应用

完全背包问题应用 1.零钱兑换2.零钱兑换 II3.完全平方数 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.零钱兑换 题目链接&#xff1a; 3…

Github 优质项目推荐(第七期)

文章目录 Github优质项目推荐 - 第七期一、【LangGPT】&#xff0c;5.7k stars - 让每个人都成为提示专家二、【awesome-selfhosted】&#xff0c;198k stars - 免费软件网络服务和 Web 应用程序列表三、【public-apis】&#xff0c;315k stars - 免费 API四、【JeecgBoot】&am…