自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

譯文
人工智能 機器人
用戶可以使用GPT-4構(gòu)建一個自定義聊天機器人,它能夠以適當(dāng)?shù)膱鼍昂蛡€性化回復(fù)任何提到它的推文。

譯者 | 李睿

審校 | 重樓

用戶如今可以構(gòu)建自定義聊天機器人,它可以使用MindsDB與Twitter的連接器、OpenAI的GPT-4和自定義提示。

@Snoop_Stein這個推特機器人就是一個簡單的例子,它會以適當(dāng)?shù)膱鼍昂蛡€性化回復(fù)任何提到它的推文。如果你還沒有給SnoopStein發(fā)推文,可以看看它會給出什么結(jié)果。

制作自己的SnoopStein

現(xiàn)在開始制作:

  • 在MindsDB云上創(chuàng)建一個帳戶(如果還沒有的話)。
  • 進入MindsDB SQL編輯器。

現(xiàn)在展示如何構(gòu)建Snoop_Stein GPT-4機器人,以及如何構(gòu)建自己的機器人。

1.創(chuàng)建一個GPT-4模型

讓我們先看看在MindsDB中創(chuàng)建一個表示為虛擬“AI表”的機器學(xué)習(xí)模型有多簡單。在本例中,將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參數(shù)即可。

這里的一個重要屬性是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.創(chuàng)建一個具有個性的機器學(xué)習(xí)模型

正如你所看到的,之前的模型給出的答案并不是那么令人興奮。但是可以使用一些提示模板魔法來塑造如何響應(yīng)模型。從本質(zhì)上說,可以使用prompt_template采用通俗的語言解釋希望GPT如何表達它的響應(yīng)。

創(chuàng)建一個模型mindsdb.snoostein_model,該模型帶有一個提示模板,使這個GPT模型具有混合人格:一半是愛因斯坦,一半是史努比狗。創(chuàng)建的是一位擁有說唱風(fēng)格的杰出物理學(xué)家,他的名字叫史努比·斯坦:

創(chuàng)建模型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 @<from_user>, <respond a rhyme as if you were Snoop Dogg but you also were as smart as Albert Einstein, still explain things like Snoop Dogg would, do not mention that you are part Einstein. If possible include references to publications for further reading. If you make a reference quoting some personality, add OG, for example;, if you are referencing Alan Turing, say OG Alan Turing and very briefly explain why you think they would be dope reads. If the question makes no sense, explain that you are a bit lost, and make something up that is both hilarious and relevant. sign with -- mdb.ai/bot by @mindsdb.';

現(xiàn)在讓我們來測試這個模型:

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!

我們將準(zhǔn)備一個MindsDB SQL語句以只讀訪問方式連接Twitter:

CREATE DATABASE my_twitter
WITH ENGINE = 'twitter';

這將創(chuàng)建一個名為my_twitter的數(shù)據(jù)庫。這個數(shù)據(jù)庫附帶一個名為tweets的表,我們可以使用它來搜索tweet和編寫tweet。

在mindsdb或 #mindsdb下面的情況下,可以使用Twitter API來獲得帶有特定文本或標(biāo)簽的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;

這里要注意的是,參數(shù)查詢支持TwitterAPI支持的任何查詢。

讓我們來測試一下,通過將模型與tweets表連接起來,這個模型可以根據(jù)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編寫推文

現(xiàn)在,我們到了想讓MindsDB把回復(fù)寫回Twitter的部分。為此,如果你還沒有Twitter開發(fā)帳戶,則需要注冊一個Twitter開發(fā)帳戶,以便能夠?qū)⑼莆膶懭隩witter(寫入而不是只讀)。

Twitter可能需要一天左右的時間來批準(zhǔn)你的新開發(fā)帳戶。一旦獲得批準(zhǔn),以下是將你的Twitter賬戶鏈接到MindsDB的步驟。

  • 開放開發(fā)者門戶
  • 選擇[+添加應(yīng)用程序]按鈕來創(chuàng)建一個新的應(yīng)用程序
  • 選擇[新建]
  • 選擇“生產(chǎn)”并命名
  • 在查詢中復(fù)制和填充:

1.API密鑰(aka. consumer_key)

2.API密鑰機構(gòu)密(aka. consumer_secret )

3.無記名令牌

  • 在“用戶認證設(shè)置”中單擊“設(shè)置”

1.權(quán)限選擇:讀和寫

2.在應(yīng)用類型中選擇:“Web應(yīng)用”、“自動化應(yīng)用”或“機器人”

3.在應(yīng)用程序信息:提供任何URL為回調(diào)URL和網(wǎng)站URL

4.單擊“保存”

  • 返回應(yīng)用程序設(shè)置后,單擊密鑰和令牌

生成訪問令牌和機密,并在查詢中填充

1訪問令牌

2訪問令牌機密

可以創(chuàng)建一個新的更新后的數(shù)據(jù)庫,這樣它就可以像下面這樣讀寫:

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賬戶上發(fā)布一些內(nèi)容來進行測試

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');

這就像魔法一樣,對吧?這些推文現(xiàn)在應(yīng)該在推特上直播了。可以查看推特回復(fù)。

注:可以插入tweepy函數(shù)create_tweet的任何值。

5.創(chuàng)造工作

創(chuàng)造工作(CREATE JOB)語句很棒,因為可以使用它實現(xiàn)自動化工作。這個想法很簡單。給它一個想要執(zhí)行的查詢和執(zhí)行的頻率,現(xiàn)在給史努比·斯坦安排一份工作!

讓我們編寫一個名為gpt4_twitter_JOB的工作:

  1. 檢查新的推文
  2. 使用OpenAI模型生成響應(yīng)
  3. 把回復(fù)寫回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步中的模板生成的回復(fù)進行回復(fù),該模板將以愛因斯坦和史努比狗(Snoop Dogg)相結(jié)合的風(fēng)格進行回復(fù)。

可以檢查JOB是否有效運行。

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

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

DROP JOB gpt4_twitter_job

結(jié)論

MindsDB是一個功能強大的軟件平臺,使開發(fā)人員能夠輕松地將機器學(xué)習(xí)功能構(gòu)建到他們的應(yīng)用程序中。使用MindsDB,開發(fā)人員可以從不同的數(shù)據(jù)源和集成平臺訓(xùn)練機器學(xué)習(xí)模型,并將生成的機器學(xué)習(xí)結(jié)果或預(yù)測直接輸出到數(shù)據(jù)庫中,可以作為表查詢,或通過連接的應(yīng)用程序(在本例中為Twitter)輸出。這個使用GPT-4集成構(gòu)建Twitter聊天機器人的例子并不是開發(fā)人員可以在幾分鐘內(nèi)實現(xiàn)的唯一快速解決方案:MindsDB有許多例子,包括與許多其他模型(包括Hugging Face)集成,以構(gòu)建可以總結(jié)文本、翻譯、分析客戶情緒(產(chǎn)品評論)和執(zhí)行各種業(yè)務(wù)預(yù)測的應(yīng)用程序。

原文標(biāo)題:Build a Celebrity Twitter Chatbot with GPT-4!,作者:Jorge Torres

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2023-03-15 08:44:58

2023-05-04 06:28:51

GPT-4OpenAI

2023-11-23 14:05:36

Claude 2.0聊天機器人

2022-07-05 06:42:01

聊天機器人人工智能

2019-01-25 16:30:34

機器人機器學(xué)習(xí)人工智能

2022-07-03 10:23:06

機器人場景個性化

2017-03-28 12:21:21

機器人定義

2024-09-30 13:11:09

2023-05-18 10:06:00

聊天機器人醫(yī)療保健

2023-03-22 17:25:18

ChatGPT人工智能聊天機器人

2023-04-05 19:32:28

2023-03-08 08:00:00

機器人開發(fā)

2021-11-30 10:56:43

ChatterBot機器人人工智能

2023-06-29 15:04:21

微軟ChatGPT

2016-02-16 14:46:33

聊天機器人機器學(xué)習(xí)自然語言

2023-12-18 19:05:34

2023-04-27 08:00:00

2023-10-13 09:00:00

2023-02-18 21:39:08

聊天機器人AI工具

2020-02-02 09:19:14

聊天機器人機器人智能
點贊
收藏

51CTO技術(shù)棧公眾號