# 安装依赖:pip install langchain langchain- openai langchain-community numexpr wikipedia import os from langchain_openai import ChatOpenAI from langchain.agents import tool, create_tool_calling_agent, AgentExecutor from langchain_core.prompts import ChatPromptTemplate from langchain_community.tools import WikipediaQueryRun from langchain_community.utilities import WikipediaAPIWrapper # 1.environ["OPENAI_API_KEY"] = "your-deepseek-api-key" # 注意变量名仍为 OPENAI_API_KEY # 2. 定义工具:数学计算器 @tool def calculator(expression: str) -> str: """计算数学表达式的结果。输入必须是一个有效的数学表达式,例如 '2 + 2' 或 'sqrt(16)*3'。""" try: import numexpr result = numexpr.evaluate(expression) return f"计算结果:{result}" except Exception as e: return f"计算出错:{str(e)}" # 3. 定义工具:维基百科搜索 wikipedia = WikipediaQueryRun( api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=500) ) # 4. openai_api_key=os.getenv("OPENAI_API_KEY"), openai_api_base="", 创建提示模板 prompt = ChatPromptTemplate.from_messages([ ("system", "你是一个有用的助手,可以使用工具来回答问题。如果工具不足以回答,就用自己的知识回答。"), ("human", "{input}"), ("placeholder", "{agent_scratchpad}"), ]) # 6. 将工具和提示组合成 Agent tools = [calculator, wikipedia] agent = create_tool_calling_agent(llm, tools, prompt) # 7. 创建 Agent 执行器(verbose=True 可查看详细调用过程) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) # 8. 运行 Agent 示例 if __name__ == "__main__": # 示例1:需要计算 response = agent_executor.invoke({"input": "计算 123 * 456 的结果,并告诉我它的平方根"}) print("最终回答:", response["output"]) # 示例2:需要搜索百科 response = agent_executor.invoke({"input": "2026年 诺贝尔物理学奖 得主是谁?"}) print("最终回答:", response["output"])

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。