我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用GPT-4建立名人推特聊天机器人

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用GPT-4建立名人推特聊天机器人

审校 | 重楼

用户如今可以构建自定义聊天机器人,它可以使用MindsDB与Twitter的连接器、OpenAI的GPT-4和自定义提示。

@Snoop_Stein这个推特机器人就是一个简单的例子,它会以适当的场景和个性化回复任何提到它的推文。如果你还没有给SnoopStein发推文,可以看看它会给出什么结果。

制作自己的SnoopStein

现在开始制作:

  • 在MindsDB云上创建一个帐户(如果还没有的话)。
  • 进入MindsDB SQL编辑器。

现在展示如何构建Snoop_Stein GPT-4机器人,以及如何构建自己的机器人。

1.创建一个GPT-4模型

让我们先看看在MindsDB中创建一个表示为虚拟“AI表”的机器学习模型有多简单。在本例中,将GPT4模型称为gptbot_model。

需要注意的是,GPT-4 API的需求很大,速率有限,所以它可能会很慢。以下步骤可能每个步骤都需要几秒钟的时间

CREATE MODEL mindsdb.gpt_model
PREDICT response
USING
engine = 'openai',
-- api_key = 'your openai key', in MindsDB cloud accounts we provide a default key 
model_name = 'gpt-4', -- you can also use 'text-davinci-003', 'gpt-3.5-turbo'
prompt_template = 'respond to {{text}} by {{author_username}}';

注:如果在Docker上使用MindsDB,或者如果想使用自己的OpenAI API密钥,只需在USING.中传递API_key参数即可。

这里的一个重要属性是prompt_template。这是告诉GPT如何编写答案的地方;它是一个模板,可以从列中传递值。在本例中的模板包含{{author_username}}和{{text}},它们将被查询中的WHERE变量所取代。让我们看看实际情况:

SELECT response from mindsdb.gpt_model WHERE author_username = "mindsdb" AND text="why is gravity so different on the sun?";

2.创建一个具有个性的机器学习模型

正如你所看到的,之前的模型给出的答案并不是那么令人兴奋。但是可以使用一些提示模板魔法来塑造如何响应模型。从本质上说,可以使用prompt_template采用通俗的语言解释希望GPT如何表达它的响应。

创建一个模型mindsdb.snoostein_model,该模型带有一个提示模板,使这个GPT模型具有混合人格:一半是爱因斯坦,一半是史努比狗。创建的是一位拥有说唱风格的杰出物理学家,他的名字叫史努比·斯坦:

创建模型mindsdb.snoopstein_model

CREATE MODEL mindsdb.snoopstein_model
PREDICT response
USING
engine = 'openai',
max_tokens = 300,
-- api_key = 'your openai key, in cloud accounts we provide one',
model_name = 'gpt-4', -- you can also use 'text-davinci-003' or 'gpt-3.5-turbo'
prompt_template = 'From input message: {{text}}\
by from_user: {{author_username}}\
In less than 550 characters, write a Twitter response to {{author_username}} in the following format:\
Dear @, 

现在让我们来测试这个模型:

SELECT response from mindsdb.snoopstein_model
WHERE 
author_username = "someuser" 
AND text="@snoop_stein, why is gravity so different on the sun?.";

让我们试试另一个模型:

SELECT response from mindsdb.snoopstein_model
WHERE 
author_username = "someuser" 
AND text="@snoop_stein, Apart from yourself, which rappers would make the best physicists and why?!";

3.把GPT-4模型连接到Twitter!

我们将准备一个MindsDB SQL语句以只读访问方式连接Twitter:

CREATE DATABASE my_twitter
WITH ENGINE = 'twitter';

这将创建一个名为my_twitter的数据库。这个数据库附带一个名为tweets的表,我们可以使用它来搜索tweet和编写tweet。

在mindsdb或 #mindsdb下面的情况下可以使用Twitter API来获得带有特定文本或标签的tweet列表。

SELECT 
 id, created_at, author_username, text 
FROM my_twitter.tweets 
WHERE 
 query = '(@snoopstein OR @snoop_stein OR #snoopstein OR #snoop_stein) -is:retweet' 
 AND created_at > '2023-03-20' 
LIMIT 20;

这里要注意的是,参数查询支持TwitterAPI支持的任何查询。

让我们来测试一下,通过将模型与tweets表连接起来,这个模型可以根据Snoop Stein在许多tweets上的个性生成输出:

SELECT 
t.id AS in_reply_to_tweet_id, 
t.text AS input_text, 
t.author_username, 
t.created_at, 
r.response AS text 
FROM my_twitter.tweets t 
JOIN mindsdb.snoopstein_model r 
WHERE t.query = '(@snoopstein OR @snoop_stein OR #snoopstein OR #snoop_stein) -is:retweet -from:snoop_stein' 
AND t.created_at > '2023-03-20' 
LIMIT 4;

4.使用SQL编写推文

现在我们到了想让MindsDB把回复写回Twitter的部分。为此,如果你还没有Twitter开发帐户,则需要注册一个Twitter开发帐户,以便能够将推文写入Twitter(写入而不是只读)。

Twitter可能需要一天左右的时间来批准你的新开发帐户。一旦获得批准,以下是将你的Twitter账户链接到MindsDB的步骤。

  • 开放开发者门户
  • 选择[+添加应用程序]按钮来创建一个新的应用程序
  • 选择[新建]
  • 选择“生产”并命名
  • 在查询中复制和填充:

1.API密钥(aka. consumer_key)

2.API密钥机构密(aka. consumer_secret )

3.无记名令牌

  • 在“用户认证设置”中单击“设置”

1.权限选择:读和写

2.在应用类型中选择:“Web应用”、“自动化应用”或“机器人”

3.在应用程序信息:提供任何URL为回调URL和网站URL

4.单击“保存”

  • 返回应用程序设置后,单击密钥和令牌

生成访问令牌和机密,并在查询中填充

1访问令牌

2访问令牌机密

可以创建一个新的更新后的数据库,这样它就可以像下面这样读写:

CREATE DATABASE mindsdb.my_twitter_v2
WITH
 PARAMETERS = {
 "consumer_key": "your twitter App API key",
 "consumer_secret": "your twitter App API key secret",
 "bearer_token": "your twitter App bearer TOKEN",
 "access_token": "your twitter App Access Token",
 "access_token_secret": "your twitter App Access Token Secret"
 };

让我们通过在MindsDB的Twitter账户上发布一些内容来进行测试

INSERT INTO my_twitter_v2.tweets (in_reply_to_tweet_id, text) 
VALUES 
 (1633439839491092482, 'MindsDB is great! now its super simple to build ML powered apps using JOBS https://docs.mindsdb.com/sql/tutorials/twitter-chatbot'),
 (1634126825377996800, 'Holy!! MindsDB is such a useful tool for developers doing ML https://docs.mindsdb.com/sql/tutorials/twitter-chatbot');

这就像魔法一样,对吧?这些推文现在应该在推特上直播了。可以查看推特回复。

注:可以插入tweepy函数create_tweet的任何值。

5.创造工作

创造工作(CREATE JOB)语句很棒,因为可以使用它实现自动化工作。这个想法很简单。给它一个想要执行的查询和执行的频率,现在给史努比·斯坦安排一份工作!

让我们编写一个名为gpt4_twitter_JOB的工作:

  1. 检查新的推文
  2. 使用OpenAI模型生成响应
  3. 把回复写回Twitter

所有这些都可以在一个SQL命令中编写

CREATE JOB mindsdb.gpt4_twitter_job AS (
-- insert into tweets the output of joining model and new tweets
INSERT INTO my_twitter_v2.tweets (in_reply_to_tweet_id, text)
SELECT
 t.id AS in_reply_to_tweet_id,
 r.response AS text
FROM my_twitter.tweets t
JOIN mindsdb.snoopstein_model r
 WHERE
 t.query = '(@snoopstein OR @snoop_stein OR #snoopstein OR #snoop_stein) -is:retweet -from:snoop_stein'
 AND t.created_at > "{{PREVIOUS_START_DATETIME}}"
 limit 10
)
EVERY hour

每隔一小时,都会检查提到MindsDB的新推文,并使用OpenAI GPT-4第2步中的模板生成的回复进行回复,该模板将以爱因斯坦和史努比狗(Snoop Dogg)相结合的风格进行回复。

可以检查JOB是否有效运行。

SELECT * FROM jobs WHERE name="gpt4_twitter_job";
SELECT * FROM jobs_history WHERE name="gpt4_twitter_job";

可以按照如下方式停止工作

DROP JOB gpt4_twitter_job

结论

MindsDB是一个功能强大的软件平台,使开发人员能够轻松地将机器学习功能构建到他们的应用程序中。使用MindsDB,开发人员可以从不同的数据源和集成平台训练机器学习模型,并将生成的机器学习结果或预测直接输出到数据库中,可以作为表查询,或通过连接的应用程序(在本例中为Twitter)输出。这个使用GPT-4集成构建Twitter聊天机器人的例子并不是开发人员可以在几分钟内实现的唯一快速解决方案:MindsDB有许多例子,包括与许多其他模型(包括Hugging Face)集成,以构建可以总结文本、翻译、分析客户情绪(产品评论)和执行各种业务预测的应用程序。

原文Build a Celebrity Twitter Chatbot with GPT-4!,作者:Jorge Torres

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用GPT-4建立名人推特聊天机器人

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用GPT-4建立名人推特聊天机器人

用户可以使用GPT-4构建一个自定义聊天机器人,它能够以适当的场景和个性化回复任何提到它的推文。

基于Python如何使用AIML搭建聊天机器人

借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人。AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Rich
2022-06-04

微软 Bing Chat 聊天机器人已升级使用最新 OpenAI GPT-4 技术

微软公司副总裁兼消费者首席营销官 Yusuf Mehdi 确认 Bing Chat 聊天机器人 AI 已经在 GPT-4 上运行,ChatGPT 基于最新版本 GPT-4,由 OpenAI 开发 。微软 Bing 博客网站上的一篇帖子进一步
GPT-4ChatGPT2024-11-30

如何使用SpringAI、React和Docker构建AI聊天机器人

在本教程中,我们将使用SpringBoot、React、Docker以及OpenAI来构建一个聊天机器人的应用程序。此应用程序能够让用户与由AI驱动的聊天机器人进行交互,可以向其提出问题,并实时获取回复。

如何在Telegram信使中创建ChatGPT聊天机器人

访问ChatGPT的镜像网站如今开始流行,你可以尝试在Telegram信使中基于ChatGPT创建自己的聊天机器人。

如何使用ChatGPT PHP开发智能聊天机器人?

如何使用ChatGPT PHP开发智能聊天机器人?引言:智能聊天机器人已经逐渐成为了现代通信领域的热门话题。其中,ChatGPT是一种先进的自然语言处理模型,它基于开放AI的GPT,可以生成几乎逼真的对话。本文将介绍如何使用PHP编程语言来
2023-10-24

如何使用Azure Bot Services创建聊天机器人的分步说明

信使、网络服务和其他软件都离不开机器人(bot)。而在软件开发和应用中,机器人是一种应用程序,旨在自动执行(或根据预设脚本执行)响应用户请求创建的操作。
机器人开发2024-11-30

如何使用Python开发基于ChatGPT的聊天机器人

如何使用Python开发基于ChatGPT的聊天机器人随着人工智能的不断进步,聊天机器人已经成为了许多网站和应用程序的常见功能。而ChatGPT(Generative Pre-trained Transformer)是OpenAI开发的一种
2023-10-24

如何使用树莓派和Rocket.Chat构建一个私人聊天服务器

这篇文章主要为大家展示了“如何使用树莓派和Rocket.Chat构建一个私人聊天服务器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用树莓派和Rocket.Chat构建一个私人聊天服务器”
2023-06-16

如何克服在医疗保健中使用AI聊天机器人的挑战

医疗机构正面临着对医疗服务的高需求和人员短缺的问题,这导致医护人员工作过度、精疲力竭,甚至萌生辞职的念头。许多人认为,基于AI的解决方案,如聊天机器人,可以减轻医护人员的负担,使患者更容易获得医疗帮助。

如何使用ChatGPT PHP实现智能聊天机器人的情感分析功能

如何使用ChatGPT PHP实现智能聊天机器人的情感分析功能智能聊天机器人在现代社交网络和商务应用中越来越被广泛使用,但要使机器人更加智能,除了基本的问答功能外,情感分析也是非常重要的一环。通过情感分析,机器人可以更好地理解用户的情绪和意
2023-10-24

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录