agent实验

准备工具

###################################
# 1. 模块导入
###################################

from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain.agents import Tool,initialize_agent
from langchain.agents.agent_types import AgentType
from langchain_experimental.agents.agent_toolkits import create_csv_agent
from langchain_community.llms import Tongyi
import warnings
warnings.filterwarnings("ignore")
import json

###################################
# 2. 模型准备
###################################
# with open('./data/api_config.json') as f:
# key = json.load(f)
# sk-f6786566a950468ca2cb96752e37c503
llm = Tongyi(model_name='qwen-plus',
# dashscope_api_key=key['DASHSCOPE_API_KEY'],
dashscope_api_key="sk-f6786566a950468ca2cb96752e*",
temperature=1)

###################################
# 3. 表格转Agent
###################################

# 课程信息表
courses_agent = create_csv_agent(
llm=llm, # 大模型
path='C:/Users/19139/Desktop/xiao/pycharm/Agentshizhan/data/courses.csv', # 文件路径
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # agent类型
verbose=True, # 详细过程打印
allow_dangerous_code=True
)
# 订单信息表
orders_agent = create_csv_agent(
llm=llm, # 大模型
path='C:/Users/19139/Desktop/xiao/pycharm/Agentshizhan/data/orders.csv', # 文件路径
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # agent类型
verbose=True, # 详细过程打印
allow_dangerous_code=True
)

测试工具

orders_agent.invoke('姓名为黄梅的订单')

51c4e0c2-c033-4cc1-a1e4-85ab26a9bce6

创建agent

###################################
# 4. 创建工具(Tools)函数
###################################

def chat(input):
'''模拟闲聊'''
return llm.invoke(input)

def search_courses(input):
'''查询课程信息'''
return courses_agent.invoke(input)

def search_orders(input):
'''查询订单信息'''
return orders_agent.invoke(input)

###################################
# 5. 工具组装
###################################

tools = [
Tool(
name='search_courses',
func=search_courses,
description='用来查询课程相关的信息'),
Tool(
name='search_orders',
func=search_orders,
description='用来查询订单相关的信息'),
Tool(
name='chat',
func=chat,
description='纯闲聊,回答与课程信息和订单信息无关的任何问题')
]

###################################
# 6. 创建Agent及使用
###################################

agent = initialize_agent(
llm=llm,
tools=tools, # 工具组
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # 'zero_shot_react_description'
verbose=True
)

测试
agent.invoke('今天天气怎么样')

7e909559-f4ab-44de-831d-fc6a7f06b8de

question3 = "找到廖磊同学的订单情况"
print(agent.invoke(question3))

33569fd5-87b2-485c-a020-0bd73e3d48aa

posted @ 2026-04-05 20:30  小蓝莓  阅读(0)  评论(0)    收藏  举报