python langchain parallel_tool_calls测试样例
【代码】python langchain parallel_tool_calls测试样例。
·
最近在使用function call的时候,总是比较慢,所以想实现function call的并行化,发现市面上关于parallel tool call的示例比较少,所以分享一下我写的示例代码:
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
import os
# 定义工具
@tool(description="Add two numbers")
def add(a: int, b: int) -> int:
return a + b
@tool(description="Multiply two numbers")
def multiply(a: int, b: int) -> int:
return a * b
# 创建工具列表
tools = [add, multiply]
# 创建ChatOpenAI模型实例
llm = ChatOpenAI(model="gpt-4o",
api_key="<your api-key>",
base_url="<your base url>")
# 绑定工具并禁用并行调用
llm_with_tools = llm.bind_tools(tools, parallel_tool_calls=False)
# 调用工具
result = llm_with_tools.invoke("Please call the first tool two times").tool_calls
print(result)
llm_with_tools = llm.bind_tools(tools, parallel_tool_calls=True)
# 调用工具
result = llm_with_tools.invoke("Please call the first tool two times").tool_calls
print(result)
模型的输出为:
[{'name': 'add', 'args': {'a': 5, 'b': 7}, 'id': 'call_NSmDpFKkjC60XsOZQ4TDRbkW', 'type': 'tool_call'}]
[{'name': 'add', 'args': {'a': 5, 'b': 3}, 'id': 'call_tpkkJuV3sBIqpkplBoXTHd69', 'type': 'tool_call'}, {'name': 'add', 'args': {'a': 7, 'b': 2}, 'id': 'call_6sd8ZbeMv8qiiJDOYZnLs6RF', 'type': 'tool_call'}]
我的环境为:
langchain 0.3.24
langchain-community 0.3.22
langchain-core 0.3.56
langchain-openai 0.3.0
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)