成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用 GPT-3 構建適合公司業務的聊天機器人

人工智能
GPT-3 是一種強大的大型語言生成模型,最近火到無邊無際的Chatgpt就是基于GPT-3上fine-tuning的,我們也可以對GPT-3進行fine-tuning,以構建適合我們自己業務的聊天機器人。

背景

聊天機器人或客服助手是AI工具,希望通過互聯網上的文本或語音與用戶的交付,實現業務價值。聊天機器人的發展在這幾年間迅速進步,從最初的基于簡單邏輯的機器人到現在基于自然語言理解(NLU)的人工智能。對于后者,構建此類聊天機器人時最常用的框架或庫包括國外的RASA、Dialogflow和Amazon Lex等,以及國內大廠百度、科大訊飛等。這些框架可以集成自然語言處理(NLP)和NLU來處理輸入文本、分類意圖并觸發正確的操作以生成響應。

隨著大型語言模型(LLM)的出現,我們可以直接使用這些模型構建功能齊全的聊天機器人。其中一個著名的LLM例子是來自OpenAI的生成Generative Pre-trained Transformer 3 (GPT-3:chatgpt就是基于gpt fine-tuning及加入人類反饋模型的),它可以通過使用對話或會話數據來fine-tuning模型,生成類似于自然對話的文本。這種能力使其成為構建自定義聊天機器人的最佳選擇。

今天我們來聊如何通過fine-tuning GPT-3模型來構建滿足屬于我們自己的簡單會話聊天機器人。

通常,我們希望在自己的業務對話示例的數據集上fine-tuning模型,例如客戶服務的對話記錄、聊天日志或電影中的字幕。fine-tuning過程調整模型的參數,讓它更好地適應這些會話數據,從而使聊天機器人更擅長理解和回復用戶輸入。

要fine-tuningGPT-3,我們可以使用Hugging Face的Transformers庫,該庫提供了預訓練模型和fine-tuning工具。該庫提供了幾種不同大小和較多能力的GPT-3模型。模型越大,可以處理的數據就越多,精度也可能越高。但是,為了簡單起見,我們這次使用的是OpenAI接口,可通過編寫少量的代碼來實現fine-tuning。

接下來就是我們使用OpenAI GPT-3 來實現fine-tuning,可從這獲取數據集,抱歉我又用國外數據集了,國內真的很少這類已經處理好的數據集。

1、創建Open API密匙

創建帳戶非常簡單,可以使用打開這個鏈接就可以完成。我們可以通過openai key訪問 OpenAI 上的模型。創建API 密鑰步驟如下:

  • 登錄到您的帳戶
  • 轉到頁面的右上角,然后單擊帳戶名,下拉列表,然后單擊“查看 API 密鑰”

  • 單擊“創建新密鑰”,記得馬上復制生成的密鑰,切記,并保存好,不然無法再次查看它。

2、準備數據

我們已經創建了api密匙,那么我們可以開始準備fine-tuning模型的數據,在這可以查看數據集。

第一步:

安裝 OpenAI 庫pip install openai

安裝后,我們就可以加載數據了:

import os
import json
import openai
import pandas as pd
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_KEY')
openai.api_key = os.getenv('OPENAI_KEY')
data = pd.read_csv('data/data.csv')
new_df = pd.DataFrame({'Interview AI': data['Text'].iloc[::2].values, 'Human': data['Text'].iloc[1::2].values})
print(new_df.head(5))

我們將問題加載到Interview AI列中,并將相應的答案加載到Human列中。我們還需要創建一個環境變量.env文件來保存OPENAI_API_KEY

接下來,我們將數據轉換為 GPT-3 的標準。根據文檔,確保數據采用JSONL具有兩個鍵的格式,這個很重要:prompt例如completion

{ "prompt" :  "<prompt text>" ,  "completion" :  "<ideal generated text>" } 
{ "prompt" : "<prompt text>" , "completion" : "<ideal generated text>" }

重新構造數據集以適應以上方式,基本是循環遍歷數據框中的每一行,并將文本分配給Human,將Interview AI文本分配給完成。

output = []
for index, row in new_df.iterrows():
print(row)
completion = ''
line = {'prompt': row['Human'], 'completion': row['Interview AI']}
output.append(line)
print(output)
with open('data/data.jsonl', 'w') as outfile:
for i in output:
json.dump(i, outfile)
outfile.write('\n')

使用prepare_data命令,這時會在提示時詢問一些問題,我們可以提供Y或N回復。

os.system("openai tools fine_tunes.prepare_data -f 'data/data.jsonl' ")

最后,一個名為的文件data_prepared.jsonl被轉儲到目錄中。

3、fun-tuning 模型

要fun-tuning模型,我們只需要運行一行命令:

os .system( "openai api fine_tunes.create -t 'data/data_prepared.jsonl' -m davinci " )

這基本上使用準備好的數據從 OpenAI 訓練davinci模型,fine-tuning后的模型將存儲在用戶配置文件下,可以在模型下的右側面板中找到。

4、模型調試

我們可以使用多種方法來驗證我們的模型。可以直接從 Python 腳本、OpenAI Playground 來測試,或者使用 Flask 或 FastAPI 等框構建 Web 服務來測試。

我們先構建一個簡單的函數來與此實驗的模型進行交互。

def generate_response(input_text):
response = openai.Completion.create(
engine="davinci:ft-personal-2023-01-25-19-20-17",
prompt="The following is a conversation with DSA an AI assistant. "
"DSA is an interview bot who is very helpful and knowledgeable in data structure and algorithms.\n\n"
"Human: Hello, who are you?\n"
"DSA: I am DSA, an interview digital assistant. How can I help you today?\n"
"Human: {}\nDSA:".format(input_text),
temperature=0.9,
max_tokens=150,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.6,
stop=["\n", " Human:", " DSA:"]
)
return response.choices[0].text.strip()

output = generate_response(input_text)
print(output)

把它們放在一起。

import os
import json
import openai
import pandas as pd
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_KEY')
openai.api_key = os.getenv('OPENAI_KEY')
data = pd.read_csv('data/data.csv')
new_df = pd.DataFrame({'Interview AI': data['Text'].iloc[::2].values, 'Human': data['Text'].iloc[1::2].values})
print(new_df.head(5))
output = []
for index, row in new_df.iterrows():
print(row)
completion = ''
line = {'prompt': row['Human'], 'completion': row['Interview AI']}
output.append(line)
print(output)
with open('data/data.jsonl', 'w') as outfile:
for i in output:
json.dump(i, outfile)
outfile.write('\n')
os.system("openai tools fine_tunes.prepare_data -f 'data/data.jsonl' ")
os.system("openai api fine_tunes.create -t 'data/data_prepared.jsonl' -m davinci ")
def generate_response(input_text):
response = openai.Completion.create(
engine="davinci:ft-personal-2023-01-25-19-20-17",
prompt="The following is a conversation with DSA an AI assistant. "
"DSA is an interview bot who is very helpful and knowledgeable in data structure and algorithms.\n\n"
"Human: Hello, who are you?\n"
"DSA: I am DSA, an interview digital assistant. How can I help you today?\n"
"Human: {}\nDSA:".format(input_text),
temperature=0.9,
max_tokens=150,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.6,
stop=["\n", " Human:", " DSA:"]
)
return response.choices[0].text.strip()

示例響應:

input_text = "what is breadth first search algorithm"
output = generate_response(input_text)
The breadth-first search (BFS) is an algorithm for discovering all the 
reachable nodes from a starting point in a computer network graph or tree data
structure

結論

GPT-3 是一種強大的大型語言生成模型,最近火到無邊無際的chatgpt就是基于GPT-3上fine-tuning的,我們也可以對GPT-3進行fine-tuning,以構建適合我們自己業務的聊天機器人。fun-tuning過程調整模型的參數可以更好地適應業務對話數據,讓機器人更善于理解和響應業務的需求。經過fine-tuning的模型可以集成到聊天機器人平臺中以處理用戶交互,還可以為聊天機器人生成客服回復習慣與用戶交互。整個實現可以在這里找到,數據集可以從這里下載。

責任編輯:姜華 來源: 今日頭條
相關推薦

2025-06-04 08:21:28

2022-07-05 06:42:01

聊天機器人人工智能

2019-07-03 10:02:47

聊天機器人平臺機器人

2017-08-21 13:31:44

AI聊天機器人facebook

2018-03-23 09:35:54

機器人業務成長

2019-03-22 09:00:00

AI人工智能聊天機器人

2019-01-25 16:30:34

機器人機器學習人工智能

2023-03-22 17:25:18

ChatGPT人工智能聊天機器人

2017-03-28 12:21:21

機器人定義

2020-02-02 09:19:14

聊天機器人機器人智能

2016-02-16 14:46:33

聊天機器人機器學習自然語言

2024-09-30 13:11:09

2023-05-04 08:00:00

機器人GPT4模型機器學習

2019-12-19 16:08:40

人工智能機器人數據

2022-07-03 10:23:06

機器人場景個性化

2023-06-29 15:04:21

微軟ChatGPT

2023-12-18 19:05:34

2017-12-15 08:58:40

測試工具地圖API文檔

2023-09-18 09:00:00

聊天機器人DeepInfraLangChain
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产欧美在线 | 91精品国产高清一区二区三区 | 在线中文字幕亚洲 | 国产亚洲成av人在线观看导航 | 欧美午夜在线 | 成人在线视频一区二区三区 | 日本一道本视频 | 久草视频在线播放 | 2021狠狠干 | 精品国产乱码一区二区三 | 日本精品一区二区三区在线观看 | 日韩精品无码一区二区三区 | 亚洲成人免费视频在线 | 麻豆天堂 | 精品一二三区在线观看 | 精品国产乱码久久久久久牛牛 | 亚洲综合色自拍一区 | 日韩视频精品 | 欧洲一区二区三区 | 青青草中文字幕 | 玖玖色在线视频 | 欧美激情亚洲天堂 | 久久区二区 | 国产久 | 国产区在线看 | 国产成人精品一区二区三 | 亚洲色图综合 | 国产精品美女久久久久aⅴ国产馆 | 国产精品伦理一区二区三区 | 一区二区三区亚洲 | 精品一区二区三区在线观看国产 | 午夜激情在线视频 | 狠狠干在线 | 国产人免费人成免费视频 | 日韩在线一区二区 | 久精品久久 | 欧美成年黄网站色视频 | 欧美在线日韩 | 草久在线视频 | 国产资源一区二区三区 | 亚洲码欧美码一区二区三区 |