请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

返回的output是空的问题

老师好,我用尽所有办法,代码和你的是一样的,但是无论如何返回的output都是空的,并且没有其他的报错,我还有什么办法去找原因?
图片描述
有一个地方不同的就是这里报了一个警告
图片描述
但是代码运行并没有报错,只要不是问搜索的问题,返回都是正常的

正在回答 回答被采纳积分+3

1回答

tomiezhang 2024-09-23 20:57:44

看下一下你本地的langchain版本以及Pydantic版本,大部分报错是因为Pydantic v1和v2的冲突引起的,现在官方已经发布了0.3大版本,所以建议你新建一个虚拟环境,将依赖包都升级到最新,然后工具引入可以这样:

# langchain0.3.0
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

model = ChatOpenAI(model="gpt-4o")

#使用tool修饰符自定义一个工具
@tool
def magic_function(input: int) -> int:
    """Applies a magic function to an input."""
    return input + 2
#计入到工具字典
tools = [someCustomTool]

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "You are a helpful assistant"),
        ("human", "{input}"),
        ("placeholder", "{agent_scratchpad}"),
    ]
)


agent = create_tool_calling_agent(model, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

agent_executor.invoke({"input": "what is the value of magic_function(3)?"})


0 回复 有任何疑惑可以回复我~
  • https://git.imooc.com/coding-822/kecheng/src/main/31.ipynb
    参考这个笔记
    回复 有任何疑惑可以回复我~ 2024-09-23 23:46:27
  • 提问者 咩仔 #2
    已经把本地的包都卸载后重新升级了,运行你提供的代码没有报错,但是output依旧是空的
    langchain==0.3.0
    langchain-core==0.3.5
    langchain_community==0.3.0
    pydantic==2.9.2
    
    请求后返回{'input': 'what is the value of magic_function(3)?', 'output': ''}
    使用课程里面的项目返回也依旧是空的,又研究了一天还是只要涉及工具函数使用返回都是空
    回复 有任何疑惑可以回复我~ 2024-09-24 15:30:48
  • 提问者 咩仔 回复 tomiezhang #3
    回复 tomiezhang:老师麻烦你试试我这个版本号的openai能不能正常返回output,怀疑会不会是ChatZhipuAI的问题呢?
    回复 有任何疑惑可以回复我~ 2024-09-24 15:43:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信