译者 | 李睿
审校 | 重楼
用户如今可以构建自定义聊天机器人,它可以使用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_modelPREDICT responseUSINGengine = "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_modelPREDICT responseUSINGengine = "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_modelWHERE author_username = "someuser" AND text="@snoop_stein, why is gravity so different on the sun?.";
让我们试试另一个模型:
SELECT response from mindsdb.snoopstein_modelWHERE 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_twitterWITH 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_v2WITH 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的工作:
检查新的推文使用OpenAI模型生成响应把回复写回Twitter所有这些都可以在一个SQL命令中编写:
CREATE JOB mindsdb.gpt4_twitter_job AS (-- insert into tweets the output of joining model and new tweetsINSERT INTO my_twitter_v2.tweets (in_reply_to_tweet_id, text)SELECT t.id AS in_reply_to_tweet_id, r.response AS textFROM my_twitter.tweets tJOIN 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
标签:
-
如何使用GPT-4建立名人推特聊天机器人
译者|李睿审校|重楼用户如今可以构建自定义聊天机器人,它可以使用MindsDB与Twitter的连接器、OpenAI的GPT-
-
全球速递!泉州举办2023年文旅购物节
泉州举办2023年文旅购物节---
-
王子新材:控股子公司发生火灾事故
王子新材:控股子公司发生火灾事故:王子新材公告,持有51%股权的控股子公司重庆富易达科技有限公司位于山
-
中国卫生人才网查询成绩入口2023
中国卫生人才网查询成绩入口2023由卫生 护士考试栏目提供,查找更多考试报名资讯、准考证打印、成绩查询或中
-
青春中国丨在最需要的地方绽放 环球聚焦
青春中国丨在最需要的地方绽放,主流媒体,山西门户。山西新闻网是经国务院新闻办审核批准,由山西日报报业集
-
全球今日讯!警方回应江苏江阴发生枪击事件:正在处理,现场无人员死亡
5月4日,有网友爆料称,江苏无锡江阴市发生一起枪击事件,现场疑似有人伤亡,嫌疑人持枪逃离现场,当地公安
-
快看:岁月芳华
1、《岁月芳华》是2015年沈阳出版社出版的图书,作者是关俊奇。2、。本文到此分享完毕,希望对大家有所帮助。
-
罗马诺:米兰尤文关注本菲卡18岁中场恩多尔,球员合同今夏到期 环球时快讯
直播吧5月4日讯据意大利记者罗马诺的消息,米兰和尤文关注本菲卡中场恩多尔。恩多尔与本菲卡的合同将在今年
-
楚乔2什么时候播放在哪个台_楚乔2什么时候上映 当前速看
1、截止2020年1月楚乔传2开播时间的新闻官方没有公布。2、《楚乔传》是由吴锦源执导,嘉纹、杨涛、陈岚编剧
-
蛋挞的做法
1、烤蛋挞是一道特色菜肴。2、主要制作原料有鸡蛋。3、牛奶。本文到此结束,希望对大家有所帮助。
-
四川宜宾发生4.9级地震 多地有震感:宜宾为何近日频发地震??
【四川宜宾发生4 9级地震多地有震感】最近宜宾连着震了两三天了,祈祷别越来越强烈,真的要得注意防范了,
-
节后开工,这份安全攻略请收好!
五一假期已经结束企业开始复工复产开工前,请警惕复工复产时期主要危险因素↓↓↓1?假期综合征受假期影响
-
全球热议:美联储宣布加息25个基点
当地时间3号,美国联邦储备委员会宣布,将联邦基金利率目标区间上调25个基点,到5%至5.25%之间。
-
要闻:江伊婷夺飞碟世界杯女子双向金牌
厦门网讯据福建日报报道(记者肖榕)日前,来自福建莆田的江伊婷在2023年国际射联世界杯(飞碟)埃及开罗站
-
我能站在这你能吗是什么梗
【我能站在这你能吗是什么梗】今天的关注度非常高,直接上了热搜榜,那么具体的是什么情况呢,大家可以一起
-
精彩看点:消费在嘉 | 资源“串珠成链”,文旅玩出“新花样”
上海汽车文化节、2023嘉定紫藤季、嘉昆太协同创新核心圈首届梨花节……精彩纷呈的文旅活动点缀着嘉定市民的
-
党费的用途在哪里查 党费的用途-今日热搜
今天来聊聊关于党费的用途在哪里查,党费的用途的文章,现在就为大家来简单介绍下党费的用途在哪里查,党费
-
环球观焦点:学习拓片书法 传承传统文化
千年拓印,传承非遗。五四青年节来临之际,为丰富辖区青少年校外实践,弘扬传统文化。合肥市包河区万年埠街
-
两市融资余额减少102.46亿元
截至4月28日,上交所融资余额报7912 18亿元,较前一交易日减少54 58亿元;深交所融资余额报7225 37亿元,较
-
全方位领先智慧科技 海尔智家魁星闪耀AWE2023|天天时讯
作为行业焦点,智能家居领域吸引了IT数码、家居建材及互联网公司以及创业新军纷纷入局,各自打造专有的智能
-
全球播报:数字赋能 家电品牌整合全渠道追求“全域”增长
21世纪经济报道记者叶碧华、实习生杨璇上海报道提振消费成为今年的关键词。但对于市场高保有量、消费频率低
-
【独家焦点】松树的寓意 五棵松树的寓意
1、松树的寓意为坚强、优雅以及长寿,松树生命力顽强,无论是炎热的天气还是寒冷的季节都能生机盎然的生长
-
世界快播:日语在线翻译器带语音(日语在线翻译器)
日语在线翻译器带语音,日语在线翻译器这个很多人还不知道,现在让我们一起来看看吧!1、2009年8月17日。2、
-
观速讯丨x86手机性能_x86手机
1、导语:联想是一个非常著名的手机品牌,有很多著名的手机型号,联想k800就是其中之一。联想k800手机应该
-
违法党的优良传统和工作惯例等党的规矩_违反党的优良传统和工作惯例等党的规矩
一、题文违反党的优良传统和工作惯例等党的规矩,在政治上造成不良影响的,给予(jǐyǔ)警告或者严重警告处分
-
珍珠鱼皮贵吗_珍珠鱼皮算高档皮吗珍珠鱼皮是什么鱼的皮 聚焦
解答:1、珍珠鱼的皮很坚韧,皮革表面是随机的坚硬的珠状凸起,反射性好,不易切割,不能拉伸,几乎没有弹
-
6天三破日客运量纪录:五一假期武汉地铁累计送客2648万乘次 全球百事通
极目新闻记者潘锡珩通讯员李丹产启斗五一小长假,无论是武汉市民还是外地游客,地铁成为市内交通重要选择。
-
念天地之悠悠独怆然而涕下意思_念天地之悠悠独怆然而涕下 焦点关注
1、解释:想到天悠悠而高远、地悠悠而广袤的天地之间,我独自忧伤啊,让人禁不住泪流满面沾湿了衣襟!“念
-
【全球新视野】重铬酸铵与氢氧化钠反应现象_重铬酸钠与硫酸铵反应
1、6Fe(NH4)2(SO4)2+K2Cr2O7+7H2SO4=3Fe2(SO4)3+Cr2(SO4)3+K2SO4+
-
天天微动态丨中青漫评丨“五个一百”:描绘美好生活精彩篇章
携手共赢创未来,凝心聚力追梦路。2022中国正能量“五个一百”网络精品征集评选展播活动正在火热开展,一部