LangChain-Agents 入门指南

news2024/9/22 8:33:02

LangChain-Agents 入门指南

  • LangChain-Agents 入门指南
    • 注册 Serpapi
    • 运行高级 Agents API 测试
      • 运行 Google Search
      • 其它

Here’s the table of contents:

LangChain-Agents 入门指南

  LangChain是一个使用LLMs构建应用程序的工具箱,包含Models、Prompts、Indexes、Memory、Chains、Agents、Callbacks等核心模块。

  其中 Agents 使用 LLMs 来确定采取哪些行动以及以何种顺序采取行动。操作可以是使用工具并观察其输出,也可以是返回给用户。如果使用得当,代理可以非常强大。本文章的目的是向您展示如何通过最简单、最高级别的 API 轻松使用 Agents 。

  关于 Agents 有以下几个核心概念:

  • Tool:执行特定的功能。可以是:谷歌搜索,数据库查找,Python REPL,使用其它工具。工具的接口目前是一个函数,期望以字符串作为输入,以字符串作为输出。
  • LLM:驱动 Agents 的语言模型。
  • Agent:要使用的代理。这应该是一个引用支持代理类的字符串。由于本章关注的是最简单、最高级别的API,因此只涉及使用标准支持的代理。如果您希望实现自定义代理,请参阅自定义代理的文档(即将推出)。

    访问关于 LangChain-Agents 的更多内容。

注册 Serpapi

  在 Serpapi网站注册账号,可以使用 GitHub 账号或者 Google 账号。注册完成后可以在首页获取SERPAPI_API_KEY,保存备用。

Serpapi网站注册账号

运行高级 Agents API 测试

运行 Google Search

  从运行结果可以看到,LLM 控制 Agents 运行了两次 Google Search,分别得到了姚明妻子的名称和年龄;最后一次 Action 得到年龄次方运算的结果,形成最终答案。

import os
from env import getEnv

os.environ['OPENAI_API_KEY'] = getEnv('OPENAI_KEY')
os.environ['SERPAPI_API_KEY'] = getEnv('SERPAPI_KEY')

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI

# 加载将要用来控制 Agents 的语言模型
llm = OpenAI(temperature=0)

# 加载一些要使用的工具
tools = load_tools(["serpapi", "llm-math"], llm=llm)

# 初始化 Agents
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

# 测试一下!
agent.run("姚明的妻子是谁?她现在的年龄是多少?她年龄的0.76次方是多少?")

Agents 运行流程
PyCharm 控制台输出

其它

  下面报错通过更换 urllib3 包版本后解决。

# Error communicating with OpenAI: HTTPSConnectionPool(host=’api.openai.com’...
# pip uninstall urllib3
# pip install urllib3==1.25.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/511287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3-黑马(二)

目录: (1)vue3-ref与reactive (2)vue3-基础-属性绑定与事件绑定 (3)vue3-基础-表单绑定 (1)vue3-ref与reactive ref函数可以把普通的数据变成响应式的数据&#xff0…

Firewall Testing Checklist 分析

不管是在服务器、云技术、嵌入式、车载等场景,防火墙的作用尤为重要,下面从信息收集、管理审核流程、操作系统安全、已实现规则和检查配置,这五个方面来进行分析firewall的具体作用和能力,然后提供一些实用的网络firewall工具给大…

【Spring框架全系列】SpringBoot配置文件相关操作

🌇哈喽,大家好,我是小浪。上篇博客我们已经学习了如何创建一个Spring项目,那么创建Spirng项目还可以直接通过在Spring官网的方式来创建,做法也非常的简单,感兴趣的小伙伴可以在C站搜个教程尝试一下&#xf…

22年广东河南省赛-隐藏信息探索

任务十: 1、访问服务器的FTP服务,下载图片QR,从图片中获取flag,并将flag提交; QR.png的内容如下,可以看到,找到二维码的前三块都被反转了,需要反转回来,把这个二维码做成一个正方形,使用截图工具分隔、配合画图工具拼接+旋转。平均分为4块,分出4个方块。即可。 2、…

django 基本使用

django 下载 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django查看版本 django-admin --version 4.2.1创建项目 django-admin startproject project创建一个 app python manage.py startapp app注册 app project/settings # app名称.apps.app名称Config…

2023河南省赛vp题解

目录 A题&#xff1a; B题 C题 D题 E题 F题 G题 H题 I题 J题 K题 L题 A题&#xff1a; 1.思路&#xff1a;考虑暴力枚举和双hash&#xff0c;可以在O(n)做完。 2.代码实现&#xff1a; #include<bits/stdc.h> #define sz(x) (int) x.size() #define rep(i,z,…

头歌计算机算法设计与分析:随机化算法

第1关&#xff1a;硬币实验 任务描述 相关知识随机数 编程要求 测试说明任务描述 本关任务&#xff1a;计算机产生的伪随机数来模拟抛硬币试验。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.如何获取数组的长度&#xff0c;2.如何遍历数组。 随机数 随机…

基于 SpringBoot+WebSocket 无DB实现在线聊天室

0 项目说明 0.1 样例展示 0.2 源码地址 GitHub&#xff1a;https://github.com/ShiJieCloud/web-chat Gitee&#xff1a;https://gitee.com/suitbaby/web-chat GitCode&#xff1a;I’m Jie / web-chat GitCode 1 WebSocket 简介 1.1 HTTP 常用的 HTTP 协议是一种无状态…

【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录 前言问…

2023年Pycharm安装教程,附详细图解

简介 PyCharm是一款Python IDE&#xff0c;其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如&#xff0c; 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。此外&#xff0c;该IDE提供了一些高级功能&a…

面向对象构造顺序与析构顺序详解

#include<bits/stdc.h> using namespace std;class animal{public:animal(){cout<<"调用animal构造"<<endl;}~animal(){cout<<"调用animal析构"<<endl;} };class verhical{public:verhical(){cout<<"调用verhica…

服装供应链管理包含哪些内容,如何选择服装供应链管理系统?

服装供应链管理是指对服装工厂的采购、生产、物流、仓储和销售等环节的管理&#xff0c;包括原材料的采购、成品的制造、配送、零售等多个环节。 选择合适的服装供应链管理系统&#xff0c;能够帮助服装工厂提高供应链管理的效率、优化库存管理、降低运营成本、保证服装生产的品…

TCP协议三次握手四次挥手详细分析

在学习TCP协议的时候&#xff0c;接触最多的就是TCP的三次握手和四次挥手。关于这个的介绍大多数都是文字和图示来分析的&#xff0c;但是具体到协议的内容时&#xff0c;有可能还是不清楚&#xff0c;下面我就通过具体协议来分析一下这个过程。 这里使用Wireshark网络分析工具…

【Linux】进程与文件系统(上)

由于这部分的知识很多很多&#xff0c;分成两回 目录 1.文件描述符 文件描述符 1.文件描述符 首先我们看一下几个小问题 1.你真的理解文件原理和操作了吗&#xff1f; 这不是语言的问题&#xff0c;而是操作系统的问题 2.是不是只有C/C有文件操作&#xff1f; 其他语…

【数据结构】结构最复杂实现最简单的双向带头循环链表

【数据结构】结构最复杂实现最简单的双向带头循环链表 一、前言二、目标三、实现1、初始化工作2、尾插2.1、图解思路2.2、代码实现 3、尾删3.1、图解思路3.2、代码实现 4、打印链表5、头插5.1、图解思路5.2、代码实现 6、头删6.1、图解思路6.2、代码实现 7、查找8、随机插入8.1…

数据结构与算法基础(青岛大学-王卓)(2)

第二弹火爆来袭中 这波是单链表的内容整理&#xff0c;废话不多说&#xff0c;上小龙虾呀(又到了龙虾季节了&#xff0c;哎&#xff0c;口水直流了~~) beautiful的分割线 文章目录 第二弹火爆来袭中这波是单链表的内容整理&#xff0c;废话不多说&#xff0c;上小龙虾呀(又到了…

【致敬未来的攻城狮计划】— 连续打卡第二十七天:瑞萨RA RA2E1 的 BTN触摸按键

文章目录 由于一些特殊原因&#xff1a; 系列文章链接&#xff1a;&#xff08;其他系列文章&#xff0c;请点击链接&#xff0c;可以跳转到其他系列文章&#xff09;或者参考我的专栏“ 瑞萨MCU ”&#xff0c;里面是 瑞萨RA2E1 系列文章。 24.RA2E1的 DMAC——数据传输 25.R…

DB2_sql_问题

db2新增字段指定顺序 这个是不能做到的&#xff0c;除非把表删除重新创建的&#xff01; 原理是这样子的&#xff1a;当你创建表时系统会记录下你的SEQ-ID,就是字段的顺序号&#xff0c;这个是根据字段先后顺序来生成的&#xff0c;系统默认显示的时候也是根据这个来的&#x…

linux:工具(命令)vi、vim文本编辑器详解。

linux:工具(命令)vi/vim文本编辑器详解。 因此&#xff0c;本质上vi和vim是同种东西&#xff0c;后面也会合起来说&#xff0c;但是使用上会使用vim&#xff0c;因为vim是加强版。 使用形式&#xff1a; 无论退出还是进入都需要去到 “命令模式”。 当使用vi/vim时就会进入“命…

「高性能MySQL」读书笔记(1)- MySQL架构

一、前言 本系列主要是记录阅读「高性能MySQL」期间笔记&#xff0c;记录在日常使用中忽略的知识、模糊的点&#xff0c;主要面对有一定MySQL使用经验的开发者。 本文是针对于MySQL一些基础定义的解释说明&#xff0c;会非常浅显通俗易懂。 二、MySQL的逻辑架构 简单梳理My…