当前位置: 首页 > news >正文

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

准备:

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

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

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

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

需求:

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

实现:

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_codereturn district_map.get(district_name, None)

测试一下:

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

输出:

 2.定义了一个 Pydantic 模型 WeatherInputArgs,用于校验和封装调用天气查询工具所需的输入参数

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

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


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

相关文章:

  • 【Netty系列】自定义协议
  • CM3内核寄存器
  • latex figure Missing number, treated as zero. <to be read again>
  • Android的uid~package~pid的关系
  • NodeJS全栈开发面试题讲解——P9性能优化(Node.js 高级)
  • 经典面试题:一文了解常见的缓存问题
  • Spark on Hive表结构变更
  • 性能优化 - 案例篇:缓存
  • NodeJS全栈开发面试题讲解——P10微服务架构(Node.js + 多服务协作)
  • 聊一聊接口测试中缓存处理策略
  • 多模态大语言模型arxiv论文略读(102)
  • 量子语言模型——where to go
  • 快速掌握 GO 之 RabbitMQ 结合 gin+gorm 案例
  • SQL进阶之旅 Day 10:执行计划解读与优化
  • Python应用for循环临时变量作用域
  • 基于Android的跳蚤市场_springboot+vue
  • Qt OpenGL编程常用类
  • 电子电路:时钟脉冲与上升沿的详细解析
  • (面试)OkHttp实现原理
  • pc端小卡片功能-原生JavaScript金融信息与节日日历
  • 免费网站推广咱们做/推广怎么做
  • 官方网站建设 磐石网络多少费用/推广网站多少钱
  • 房地产开发公司网站/昆明百度推广开户
  • 网站建设的要求和策划/企业培训课程价格
  • 安康市住房和城乡建设局网站/win7系统优化大师
  • 阿里巴巴跨境电商平台/北京seo排名收费