10月17日過后,估計(jì)很多人會(huì)看到類似的新聞,如圖:
我看到這則新聞也是覺得非常感興趣,于是本著“百聞不如一見”的實(shí)事求是的態(tài)度檢索如何申請(qǐng),沒想到還真找到了ERNIE-Bot-4(俗稱:文心一言4.0)的申請(qǐng)入口,如下:
-
體驗(yàn)地址
企業(yè)用戶/個(gè)人開發(fā)者:填寫表單申請(qǐng)開通:百度智能云千帆大模型平臺(tái)邀您測試 審核通過后即可免費(fèi)調(diào)用千帆文心4.0API
-
API文檔
ERNIE-Bot-4 - 千帆大模型平臺(tái) | 百度智能云文檔
?
我本人是填寫表單申請(qǐng)一天左右收到了“百度智能云”的短信通知我通過了申請(qǐng),老樣子,先上圖:
通過之后即使不是很擅長調(diào)用接口來測試模型質(zhì)量,百度智能云也會(huì)提供在線測試的入口方便我們測試,如圖:
也是可以外接知識(shí)庫或者調(diào)整各種參數(shù)的,還算便利,也提供了prompt模板作為參考。
如果我們不想每次都打開網(wǎng)站去測試,也可以在本地進(jìn)行調(diào)用來測試,下面以python為例:
先在百度智能云控制臺(tái)“應(yīng)用接入”里創(chuàng)建應(yīng)用,內(nèi)容自己發(fā)揮,主要是我們需要的AppID,API Key以及Secret Key。
當(dāng)然,我們需要開通一下對(duì)應(yīng)接口的付費(fèi),我這里是只開通了ERNIE-Bot-4的付費(fèi),0.12¥/千tokens,跟其他模型比可能有點(diǎn)小貴,自費(fèi)開通,為愛發(fā)電哈哈。
好了,萬事具備,下面就是一個(gè)簡單的多輪對(duì)話代碼示例:
import requests
import json
import os
import pickle
class WenXinYiYanChat:
def __init__(self, api_key, secret_key, user_id="這里輸入你的APPID", file_name="history.pkl"):
# 初始化方法,用于設(shè)置API密鑰、用戶ID、文件名等
self.api_key = api_key
self.secret_key = secret_key
self.user_id = user_id
self.file_name = file_name
self.access_token = self.get_access_token()
self.messages = []
self.is_paused = False
def get_access_token(self):
# 獲取access_token,用于后續(xù)的API調(diào)用
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
'grant_type': 'client_credentials',
'client_id': self.api_key,
'client_secret': self.secret_key
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.post(url, headers=headers, params=params)
return response.json().get("access_token")
def chat(self, user_message):
# 進(jìn)行對(duì)話的主要方法
if self.is_paused:
return "對(duì)話目前已暫停。請(qǐng)先恢復(fù)對(duì)話再繼續(xù)。"
self.messages.append({"role": "user", "content": user_message})
payload = {
"messages": self.messages,
"user_id": self.user_id,
"temperature": 0.95,
"top_p": 0.8,
"penalty_score": 1.0
}
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token={self.access_token}"
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=json.dumps(payload))
assistant_message = response.json().get("result")
self.messages.append({"role": "assistant", "content": assistant_message})
return assistant_message
def clear_history(self):
# 清除對(duì)話歷史記錄
self.messages = []
def get_chat_history(self):
# 獲取對(duì)話歷史記錄
return self.messages
def save_history(self):
# 將對(duì)話歷史記錄保存到文件中
with open(self.file_name, "wb") as f:
pickle.dump(self.messages, f)
def load_history(self):
# 從文件中讀取對(duì)話歷史記錄
if os.path.exists(self.file_name):
with open(self.file_name, "rb") as f:
self.messages = pickle.load(f)
def pause_chat(self):
# 暫停對(duì)話,并保存對(duì)話歷史記錄
self.is_paused = True
self.save_history()
def resume_chat(self):
# 恢復(fù)對(duì)話,并加載對(duì)話歷史記錄
self.is_paused = False
self.load_history()
if __name__ == "__main__":
api_key = input("請(qǐng)輸入您的API Key: ")
secret_key = input("請(qǐng)輸入您的Secret Key: ")
'''
如果不想每次都輸入這兩個(gè)KEY就把上面兩行注釋掉,去除下面兩行的注釋
'''
# api_key = "在這里輸入你的API Key"
# secret_key = "在這里輸入你的Secret Key"
chat_instance = WenXinYiYanChat(api_key, secret_key)
while True:
user_message = input("靚仔: ")
# 添加控制語句,用于實(shí)現(xiàn)功能
if user_message.lower() == "暫停":
chat_instance.pause_chat()
print("對(duì)話已暫停。")
elif user_message.lower() == "恢復(fù)":
chat_instance.resume_chat()
print("對(duì)話已恢復(fù)。")
elif user_message.lower() == "清除":
chat_instance.clear_history()
print("對(duì)話歷史記錄已清除。")
elif user_message.lower() == "查看":
history = chat_instance.get_chat_history()
print("對(duì)話歷史記錄如下:")
for message in history:
print(message["role"] + ": " + message["content"])
elif user_message.lower() == "載入":
chat_instance.load_history()
print("對(duì)話歷史記錄已載入。")
elif user_message.lower() in ["exit", "退出"]:
break
else:
response = chat_instance.chat(user_message)
print("文心一言4.0: ", response)
以上是一個(gè)非常簡陋的多輪對(duì)話代碼示例,僅供測試接口,佬輕噴,雖然國外的模型質(zhì)量很高,價(jià)格也便宜,國內(nèi)模型開發(fā)的開源項(xiàng)目確實(shí)少之又少,但還是希望有更多人能夠關(guān)注國內(nèi)模型,眾人拾柴火焰高,一同開發(fā)出更多更優(yōu)秀的項(xiàng)目,最后,上效果圖:
文章來源:http://www.zghlxwxcb.cn/news/detail-734251.html
如果有友友開發(fā)出了更好的項(xiàng)目或者發(fā)現(xiàn)了更好的項(xiàng)目,記得踢我,一起學(xué)習(xí)!文章來源地址http://www.zghlxwxcb.cn/news/detail-734251.html
到了這里,關(guān)于文心一言4.0(ERNIE-Bot-4)申請(qǐng)方法及簡單調(diào)用代碼示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!