创建工具的前提要有逻辑处理函数,例如:我的是一个查询数据库信息的函数
def _show_db_info(query_sql: str) -> str:
print("\nquery_sql: " + query_sql)
info = query_db(query_sql)
if len(info) > 0:
return info
else:
return "未找到数据库信息"
然后就是可以创建工具了
query_db_info = Tool(
name="show_db_info",
func=_show_db_info,
description="""
如果是查询指定条件的被监控的数据库的信息,源数据库的信息,请使用这个工具
请从问题中提取IP(db_ip)、端口(db_port)、用户名(db_user)参数:
其中, 数据库的表名为dbconfig_info,表的字段名对应的中文如下:
db_ip: IP
db_port: 端口
db_user: 数据库用户名
请根据问题的语义构造成完整的sql语句传递给工具,请不要传除sql语句以外的其他参数,
请忽略不能直接提取到的参数, 请不要制造参数
请使用中文回答,回答的数据中只能包含IP、端口、用户名,不要直接返回数据表的字段名,要转换为中文的
"""
)
完整代码:
from langchain_core.tools import Tool
from query_mysql import query_db
def _show_db_info(query_sql: str) -> str:
print("\nquery_sql: " + query_sql)
info = query_db(query_sql)
if len(info) > 0:
return info
else:
return "未找到数据库信息"
query_db_info = Tool(
name="show_db_info",
func=_show_db_info,
description="""
如果是查询指定条件的被监控的数据库的信息,源数据库的信息,请使用这个工具
请从问题中提取IP(db_ip)、端口(db_port)、用户名(db_user)参数:
其中, 数据库的表名为dbconfig_info,表的字段名对应的中文如下:
db_ip: IP
db_port: 端口
db_user: 数据库用户名
请根据问题的语义构造成完整的sql语句传递给工具,请不要传除sql语句以外的其他参数,
请忽略不能直接提取到的参数, 请不要制造参数
请使用中文回答,回答的数据中只能包含IP、端口、用户名,不要直接返回数据表的字段名,要转换为中文的
"""
)