LangChain-结合智谱AI大模型实现自定义tools应用实例

06-02 1198阅读

准备:

1.可供调用的实时查询天气的接口:

百度天气接口:https://lbsyun.baidu.com/faq/api?title=webapi/weather/base(没有可以去注册用户实名认证后即可免费使用)

LangChain-结合智谱AI大模型实现自定义tools应用实例

可以使用接口工具ApiPost调用,验证接口是否正常

LangChain-结合智谱AI大模型实现自定义tools应用实例

2.一个csv文件,文件内容中包含各个省市区的行政编码

LangChain-结合智谱AI大模型实现自定义tools应用实例

需求:

自定义查询天气的工具,可实时查询任意省市区的天气情况

实现:

1.先定义一个查询 省市区的行政编码的方法 select_code,读取csv文件中的数据

def select_code(csv_file, district_name) ->str:
    """
    根据区域或者城市的名字,返回区域编码
    :param csv_file:
    :param district_name:
    :return:
    """
    district_map = {}
    with open(csv_file, mode='r', encoding='utf-8') as f:
        csv_reader = csv.DictReader(f)
        for line in csv_reader:
            district_code = line['districtcode'].strip()
            district = line['district'].strip()
            if district not in district_map:
                district_map[district] = district_code
    return district_map.get(district_name, None)

测试一下:

if __name__ == '__main__':
    print(select_code('weather_district_id.csv', '十堰'))

输出:

LangChain-结合智谱AI大模型实现自定义tools应用实例 2.定义了一个 Pydantic 模型 WeatherInputArgs,用于校验和封装调用天气查询工具所需的输入参数

class WeatherInputArgs(BaseModel):
    location: str = Field(..., description="用于查询天气的位置信息")

class WeatherInputArgs(BaseModel)
定义一个类 WeatherInputArgs,继承自 BaseModel。
BaseModel 是 Pydantic 提供的基类,用于数据验证和设置管理。
使用它可以确保传入的数据符合指定的类型和格式。


location: str
定义了一个字段 location,其类型为字符串(str)。
表示用户需要查询天气的“位置”。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码