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

LangChain使用总结-第二章

1、工具调用

        无论是预定义还是自定义的工具,只需保证符合langchain相关协议,在创建agent时传参即可。这样,大模型在遇到不确定的问题时,就会去调用这些工具。调用结果准确与否,与底座模型的理解能力有关,也与你的工具有关。工具在定义时,尽量使用含义明确的变量名,有清晰的说明。这样,大模型才能更准确地读懂你的代码。

(1)加载预定义的工具

        langchain中预定了不少工具,如连接数据库、网页搜索,数学运行等。不过,需要注意的是,不少工具国内暂时用不了。这部分工具都需要访问国外地一些接口,除非你家里有梯子。要么还是找国内的替代,然后自己定义工具。

# 文字到图的工具
from langchain.agents import initialize_agent, load_tools
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    temperature=0,
    model="gpt-4",
)

# 需要有dalle模型权限
tools = load_tools(["dalle-image-generator"])
agent = initialize_agent(
    tools,
    llm,
    agent="zero-shot-react-description",
    verbose=True
)
output = agent.invoke("画一幅典型的中国山水田园画")

(2)加载工具集

        工具集指的是为完成某一任务所需的一系列工具的集合,langchain里也有很多预定义的工具集。本质上就是被列表包围的多个工具,因为传参的时候本身就要求传一个列表。

from langchain.agents.agent_toolkits import AzureCognitiveServicesToolkit
import os

# 文字转语音,需要去微软网站注册。也可以换国内的接口
# 一般支持多种预定义的语音,自己上传语音;还可以有不同的语气
os.environ['AZURE_COGS_KEY'] = 'your_key'
os.environ['AZURE_COGS_ENDPOINT'] = 'https://eastus.api.cognitive.microsoft.com/'
os.environ['AZURE_COGS_REGION'] = 'westus2'

toolkit = AzureCognitiveServicesToolkit()

(3)

相关文章:

  • webshell一些上传心得
  • 【Java 面试 八股文】计算机网络篇
  • 大模型工具Ollama存在安全风险
  • LeetCode - #225 使用两个队列实现 LIFO 栈
  • Windows中在VSCode/Cursor上通过CMake或launch文件配置CUDA编程环境
  • react使用拖拽,缩放组件,采用react-rnd解决 -完整版
  • gbase8s rss集群通信流程
  • 前端(vue)学习笔记(CLASS 3):生命周期工程化开发入门
  • 物联网中设备异构的问题-甚至可以用工业数据采集器?
  • 深度评测DeepSeek、ChatGPT O1和谷歌Gemini AI应用开发场景 - DeepSeek性能完胜!
  • HTML左右分页2【搬代码】
  • labview实现16进制数据相加取反,取低16位校验
  • 【JavaEE】线程池
  • 人工智能的发展历史
  • OSPF-单区域的配置
  • Python 入
  • (openstack搭建)openstack云平台部署-详细完整教程
  • 【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理
  • (二)企业级监控系统 - ZABBIX 部署
  • STM32-SPI通信协议
  • 丹麦外交大臣拉斯穆森将访华
  • 威尼斯建筑双年展总策划:山的另一边有什么在等着我们
  • “降息潮”延续,多家民营银行下调存款利率
  • 长沙通报一出租房疑存非法代孕:查封涉事场所,相关人员被控制
  • 全国层面首次!《防震减灾基本知识与技能大纲》发布
  • 西藏日喀则市拉孜县发生5.5级地震,震源深度10千米