检查其他资源
- 为这个问题添加了一个非常描述性的标题。
- 使用集成搜索在LangChain文档中搜索。
- 使用GitHub搜索查找类似问题,但没有找到。
- 我确信这是LangChain中的一个bug,而不是我的代码。
- 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此错误。
示例代码
from langchain_aws import ChatBedrock
from langchain_experimental.llms.anthropic_functions import AnthropicFunctions
from dotenv import load_dotenv
load_dotenv()
# 使用所需的参数初始化LLM
llm = ChatBedrock(
model_id="anthropic.claude-3-haiku-20240307-v1:0",
model_kwargs={"temperature": 0.1},
region_name="us-east-1"
)
# 用LLM初始化AnthropicFunctions
base_model = AnthropicFunctions(llm=llm)
# 为模型定义函数参数
functions = [
{
"name": "get_current_weather",
"description": "获取给定位置的当前天气",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市和州,例如旧金山,CA",
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
},
},
"required": ["location"],
},
}
]
# 将函数绑定到模型,而不会引起关键字冲突
model = base_model.bind(
functions=functions,
function_call={"name": "get_current_weather"}
)
# 使用提供的输入调用模型
res = model.invoke("旧金山的天气如何?")
# 从响应中提取并打印函数调用
function_call = res.additional_kwargs.get("function_call")
print("function_call", function_call)
2条答案
按热度按时间emeijp431#
是否有任何解决方法?
vd2z7a6w2#
我创建了自己的解析器,实际上它已经工作了。假设我有一个监督者代理和另外两个代理,如果他们想与监督者交谈,那么给我一个错误(验证异常):在调用Converse操作时发生错误:对话必须在用户和助手角色之间交替进行。请确保对话在用户和助手角色之间交替进行,然后再试一次。