Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用 ChatGPT 与 Python 中的第三方应用程序进行交互

使用 ChatGPT 与 Python 中的第三方应用程序进行交互

原创
作者头像
Miloce
发布于 2023-09-22 15:54:56
发布于 2023-09-22 15:54:56
73900
代码可运行
举报
文章被收录于专栏:鲸云鲸云
运行总次数:0
代码可运行

将语言模型(如ChatGPT)集成到第三方应用程序中已经变得越来越流行,因为它们能够理解和生成类似人类的文本。然而,需要认识到ChatGPT的一些限制,比如它的知识截止日期是在2021年9月,以及它无法直接访问维基百科或 Python 等外部资源。

鉴于这一挑战,LangChain的联合创始人兼首席执行官Harrison Chase提出了一个创新的解决方案。他开发了Python LangChain模块,该模块使开发人员能够轻松地将第三方应用程序与大型语言模型集成在一起。这一突破开启了无限的可能性,允许开发人员充分利用语言模型的强大功能,同时有效地处理来自外部来源的信息。

在本文中,我们将探讨使用Python LangChain模块与ChatGPT交互以与第三方应用程序交互的有趣概念。到文章末尾,您将更深入地了解如何利用这种集成,创建更复杂和高效的应用程序。

导入ChatGPT模块


第一步是安装Python LangChain模块,您可以使用以下pip命令完成此操作。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
pip install langchain

接下来,您需要从langchain.chat_models模块导入ChatOpenAI类。ChatOpenAI类允许您创建ChatGPT的实例。为此,请将model_name属性传递给ChatOpenAI类,将模型设置为"gpt-3.5-turbo"。OpenAI的"gpt-3.5-turbo"模型为ChatGPT提供动力。您还需要将您的OpenAI API密钥传递给open_api_key属性。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from langchain.chat_models import ChatOpenAI
import os

api_key = os.getenv('OPENAI_KEY2')
chatgpt = ChatOpenAI(model_name="gpt-3.5-turbo",
                    openai_api_key=api_key)

现在,我们已准备好在Python中将第三方应用程序与ChatGPT集成。

使用ChatGPT从维基百科提取信息


如前所述,ChatGPT的知识截止日期为2021年9月,无法回答那之后的查询。例如,如果您要求ChatGPT返回2022年温布尔登锦标赛的维基百科文章摘要,您将获得以下答案:

使用ChatGPT从维基百科提取信息
使用ChatGPT从维基百科提取信息

LangChain代理允许您与第三方应用程序交互。有关更多信息,请查看所有LangChain代理集成的列表。

让我们看看如何使用示例代码将ChatGPT与维基百科等第三方应用程序集成。

您需要从langchain.agents模块导入load_toolsinitialize_agentAgentType实体。

接下来,您应该将代理类型作为输入提供给load_tools类。在下面的示例脚本中,指定的代理类型是wikipedia。随后的步骤涉及使用initialize_agent()方法创建代理对象。在调用initialize_agent()方法时,您需要传递工具类型、ChatGPT实例和代理类型作为参数。如果将verbose参数设置为True,它将显示代理任务执行的思考过程。

在下面的脚本中,我们要求维基百科代理返回2022年温布尔登锦标赛的维基百科文章摘要。

在输出中,您可以看到代理的思考过程以及包含文章摘要的最终结果。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from langchain.agents import load_tools, initialize_agent, AgentType

tools = load_tools(
    ['wikipedia'], 
)

agent_chain = initialize_agent(
    tools,
    chatgpt,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True,
)

agent_chain.run(
    "返回2022年温布尔登锦标赛的维基百科文章摘要。"
)

从ArXiv提取信息


让我们看看另一个示例。我们将从ArXiv获取一篇文章的标题和作者姓名,ArXiv是一个流行的开放获取科研论文、预印本和其他学术文章的存储库。

脚本保持不变,只需将arxiv作为参数值传递给load_tools()方法。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
tools = load_tools(
    ["arxiv"], 
)

agent_chain = initialize_agent(
    tools,
    chatgpt,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True,
)

agent_chain.run(
    "给我提供文章1301.3781的标题和作者姓名。"
)

从CSV文件提取信息


LangChain提供了直接创建特定任务代理实例的方法。例如,langchain.agents模块的create_csv_agent()方法允许您创建与CSV文件交互的CSV代理。

让我们看一个示例。以下脚本导入包含公司员工流失信息的数据集。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
dataset = pd

.read_csv(r'D:\Datasets\employee_attrition_dataset.csv')
dataset.head()

让我们使用CSV代理从此文件获取信息。我们要求ChatGPT返回销售部门的员工总数。

在输出中,您可以看到ChatGPT返回输出的过程。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from langchain.agents import create_csv_agent

agent = create_csv_agent(
    chatgpt,
    r'D:\Datasets\employee_attrition_dataset.csv',
    verbose=True
)

agent.run("返回销售部门的员工总数。")

从Pandas DataFrame提取信息


同样,您可以使用create_pandas_dataframe_agent()方法从Pandas dataframe中提取信息。在下面的脚本中,我们要求ChatGPT返回销售部门中教育领域为医学的员工总数。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
dataset = pd.read_csv(r'D:\Datasets\employee_attrition_dataset.csv')

from langchain.agents import create_pandas_dataframe_agent

agent = create_pandas_dataframe_agent(
    chatgpt,
    dataset,
    verbose=True
)

agent.run("返回销售部门中教育领域为医学的员工总数。")

至此,教程结束。希望您会喜欢它!

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件测试/人工智能|LangChain核心模块Agents详解
在之前学习 AutoGPT 的过程中,AutoGPT 的 Command 模块可以针对于 LLM 的一些局限性做补充,比如爬取网页信息,精密计算,代码执行等。Agents 设计的初衷也是同样的目的,补充大语言模型的能力。
霍格沃兹测试开发Muller老师
2023/11/29
9250
ChatGPT|LangChain介绍
(1)想像一下,如果我需要快速读一本书,想通过本书作为prompt,使用ChatGPT根据书本中来回答问题,我们需要怎么做?
用户1904552
2023/04/17
1.4K0
ChatGPT|LangChain介绍
LangChain 完整指南:使用大语言模型构建强大的应用程序
嗨,你好!让我向你介绍LangChain,这是一个非常棒的库,它能让开发者利用大型语言模型(LLMs)和其他计算资源来构建强大的应用。在这份指南中,我将快速概述LangChain的工作原理,并探讨一些很酷的使用案例,例如问答系统、聊天机器人和智能代理。我还会带你走过一个快速启动指南,帮助你开始使用。让我们开始吧!
山行AI
2023/06/14
3.4K0
LangChain 完整指南:使用大语言模型构建强大的应用程序
【AIGC】LangChain Agent(代理)技术实现及代码学习
LangChain 代理背后的思想是利用大语言模型以及要执行的一系列操作,代理使用推理引擎来确定要执行哪些操作来获取结果,代理对于处理从简单的自动响应到复杂的上下文感知交互等任务至关重要。例如,您可能有一个与 Google 搜索、Wikipedia 和 OpenAI LLM 集成的代理。使用给定的代理工具,他们可以在 Google 中搜索结果,然后使用维基百科工具中检索到的上下文来查找详细信息并扩展上下文。您必须放置明确定义的指令,以确保代理将以正确的顺序调用工具。
Freedom123
2024/05/13
5990
【AIGC】LangChain Agent最全教程学习
LangChain Agent的终极指南,本教程是您使用 Python 创建第一个agent的重要指南,请立即开始你的 LLM 开发之旅。
Freedom123
2024/05/05
1.8K0
当下LLM中最火的思维链、LangChain 库等,这本书里都有
ChatGPT 不仅将改变我们日常的生活、工作和思维方式,而且将引领人类以前所未有的速度逼近通用人工智能。我们普通人能通过使用提示词让ChatGPT为我们做各种事情,如高效写代码:
博文视点Broadview
2023/09/07
1.2K0
当下LLM中最火的思维链、LangChain 库等,这本书里都有
LangChain基础入门[1]
至此完成了jupyterlab的安装。安装完成后,我们便可以在VS Code上进行配置使用,VS Code 的安装自行百度、Google。
@派大星
2023/11/17
7570
LangChain基础入门[1]
【LangChain系列】第三节:Agent代理
大型语言模型 (LLM) 已成为能够理解和生成类似人类文本的有用 AI 系统。然而,它们的真正潜力在于它们能够充当推理引擎,处理新信息和回答复杂问题。LangChain的代理通过允许LLM与各种工具和数据库进行交互,协助推理和决策任务来释放这种潜力。在这篇博文中,我们将深入探讨LangChain的代理,探索如何使用内置工具配置它们并创建自定义工具来扩展其功能。
Freedom123
2024/05/19
6460
为什么AI大模型连简单的加法都算不对?
这个问题引发了一个常见的现象,即大模型(如讯飞星火、Kimi等)在涉及简单的加法运算时,结果经常不准确。我想主要有以下几个原因:
CoderJia
2024/10/18
3510
为什么AI大模型连简单的加法都算不对?
我为什么放弃了 LangChain?
如果你关注了过去几个月中人工智能的爆炸式发展,那你大概率听说过 LangChain。
机器之心
2023/08/08
1.2K0
我为什么放弃了 LangChain?
LangChain 的问题所在
导读:摆脱繁琐,追求高效。是开发者永远追求的目标。LangChain,虽号称多功能,但集成过多引发问题,逼人只用其代码。LangChain 给人带来的是,令人沮丧的声音,脆弱的 Agent 工作流,技术债务增加。简而言之,做自己的 Python 包比强行改造 LangChain 更好。本文作者开发了 simpleaichat,轻松与聊天应用交互,摆脱复杂,避免锁定。别误解,本文并不是攻击 LangChain,但更实际的解决方案是重新开始。技术复杂性与流行性之争是永恒的,早年是 React,今日是 ReAct。
深度学习与Python
2023/09/08
1.2K0
LangChain 的问题所在
LangChain速成课程_构建基于OpenAI_LLM的应用
LangChain会编译并组织PDF中的数据。尽管我们提到的是PDF,数据源可以是多样的:文本文件、Microsoft Word文档、YouTube的转录,甚至是网站等等。LangChain会整理这些数据,并将其分割成可管理的块。一旦分割完成,这些块会存储在向量存储器中
yeedomliu
2023/10/08
1K0
LangChain速成课程_构建基于OpenAI_LLM的应用
AI大模型企业应用实战-Agents是什么?
"Agents are not only going to change how everyone interacts with computers. They're also going to upend the software industry, bringing about the biggest revolution in computing since we went from typing commands to tapping on icons." — Bill Gates
JavaEdge
2024/08/18
1990
大语言模型的开发利器langchain
最近随着chatgpt的兴起,人工智能和大语言模型又再次进入了人们的视野,不同的是这一次像是来真的,各大公司都在拼命投入,希望能在未来的AI赛道上占有一席之地。因为AI需要大规模的算力,尤其是对于大语言模型来说。大规模的算力就意味着需要大量金钱的投入。那么对于小公司或者个人来说是不是什么都做不了呢?
程序那些事
2023/06/28
7360
LangChain+ChatGPT三分钟实现基于pdf等文档问答应用
LangChain是一个用于开发由语言模型驱动的应用程序的框架。它不仅可以通过API调用语言模型,还可以连接语言模型到其他数据源(数据感知),并允许语言模型与其环境进行交互(具有代理性)。LangChain提供了模块化的抽象组件,用于与语言模型一起工作,并为所有这些抽象提供了实现集合。此外,LangChain还提供了特定用例的链(Chains),可以将这些组件以特定方式组装在一起,以最好地完成特定用例。
老码小张
2023/05/09
5.3K0
LangChain+ChatGPT三分钟实现基于pdf等文档问答应用
LangChain基础知识入门
LangChain由 Harrison Chase 创建于2022年10月,它是围绕LLMs(大语言模型)建立的一个框架,LLMs使用机器学习算法和海量数据来分析和理解自然语言,GPT3.5、GPT4是LLMs最先进的代表,国内百度的文心一言、阿里的通义千问也属于LLMs。LangChain自身并不开发LLMs,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件“链接”在一起,简化LLMs应用的开发难度,方便开发者快速地开发复杂的LLMs应用。LangChain目前有两个语言的实现:Python和Node.js
@小森
2024/06/10
4370
LangChain基础知识入门
独家 | 开始使用LangChain:帮助你构建LLM驱动应用的新手教程
自从ChatGPT发布以来,大型语言模型 (LLMs) 已经获得了很大的普及。尽管你可能没有足够的资金和计算资源在你的地下室从头开始训练一个LLM,但你仍然可以使用预先训练的LLMs来构建一些很酷的东西,例如:
数据派THU
2023/08/08
1.4K0
独家 | 开始使用LangChain:帮助你构建LLM驱动应用的新手教程
LangChain库
链是通过以逻辑方式连接一个或多个大型语言模型(LLMs)而获得的。(链可以由LLMs之外的实体构建,但为了简单起见,让我们暂时使用这个定义)。
磐创AI
2024/03/12
3570
LangChain库
Python多智能体系统中的协同智能
使用 LangChain 等 Python 工具,可以更轻松地实现多智能体系统,从而创建超越简单自动化的智能系统。
云云众生s
2024/10/20
1980
使用知识图谱实现 RAG 应用
《福布斯》最近将 RAG 应用程序评为人工智能领域最热门的事物。这并不奇怪,因为检索增强生成需要最少的代码,并有助于建立用户对大语言模型的信任。构建出色的 RAG 应用程序或聊天机器人时面临的挑战是处理结构化文本和非结构化文本。
大数据杂货铺
2024/04/03
1.4K1
使用知识图谱实现 RAG 应用
相关推荐
软件测试/人工智能|LangChain核心模块Agents详解
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验