1.引言
ChatGPT是由OpenAI開發(fā)的基于深度學(xué)習(xí)的自然語言處理模型,它在人工智能領(lǐng)域具有重要的影響力。ChatGPT基于大規(guī)模的文本數(shù)據(jù)進(jìn)行訓(xùn)練,能夠生成高質(zhì)量的自然語言文本,包括對話、文章等。它的影響力主要體現(xiàn)在以下幾個方面:
-
語言生成和理解能力:ChatGPT具有出色的語言生成和理解能力,可以模擬人類的對話方式,生成連貫、自然的文本。這種能力使得ChatGPT可以用于各種自然語言處理任務(wù),如對話系統(tǒng)、文本摘要、翻譯等。
-
開放性和通用性:ChatGPT是一個開放式模型,能夠處理各種類型和主題的文本。它不僅可以應(yīng)對預(yù)定義的任務(wù),還可以適應(yīng)新的領(lǐng)域和場景,具有很強(qiáng)的通用性。
-
社交和娛樂應(yīng)用:ChatGPT在社交和娛樂應(yīng)用中具有很大的潛力,可以用于構(gòu)建智能聊天機(jī)器人、虛擬助手等。它可以與用戶進(jìn)行自然、流暢的對話,提供個性化的服務(wù)和娛樂。
微信小程序作為輕量級應(yīng)用開發(fā)平臺在移動互聯(lián)網(wǎng)領(lǐng)域擁有廣泛的使用和便捷性。它允許開發(fā)者在微信環(huán)境中快速開發(fā)和發(fā)布應(yīng)用,無需下載安裝即可直接使用,具有良好的用戶體驗(yàn)。微信小程序的特點(diǎn)包括:
-
低門檻:微信小程序的開發(fā)門檻較低,開發(fā)者可以使用HTML、CSS、JavaScript等前端技術(shù)進(jìn)行開發(fā),無需學(xué)習(xí)新的編程語言。
-
即時體驗(yàn):用戶可以直接在微信中打開和使用小程序,無需下載安裝,節(jié)省了用戶的時間和手機(jī)存儲空間。
-
社交共享:微信小程序可以方便地與微信的社交功能集成,用戶可以通過微信分享、轉(zhuǎn)發(fā)小程序,擴(kuò)大了小程序的傳播范圍。
在微信小程序中集成ChatGPT API能夠帶來以下創(chuàng)新功能和服務(wù):
-
智能客服和虛擬助手:開發(fā)者可以通過整合ChatGPT API實(shí)現(xiàn)智能客服和虛擬助手功能,幫助用戶解決問題、提供個性化的服務(wù)。
-
智能對話應(yīng)用:基于ChatGPT的強(qiáng)大對話生成能力,開發(fā)者可以構(gòu)建各種智能對話應(yīng)用,如智能聊天機(jī)器人、情感交互應(yīng)用等,提供更加豐富和有趣的用戶體驗(yàn)。
-
個性化推薦和建議:通過分析用戶的對話和需求,結(jié)合ChatGPT的語言理解能力,開發(fā)者可以實(shí)現(xiàn)個性化的推薦和建議服務(wù),提高用戶的滿意度和粘性。
綜上所述,將ChatGPT集成到微信小程序中可以為開發(fā)者提供更加智能、個性化的應(yīng)用服務(wù),豐富了小程序的功能和體驗(yàn),促進(jìn)了人工智能與移動互聯(lián)網(wǎng)的深度融合。
2.準(zhǔn)備工作
1.創(chuàng)建API Key
要獲取并啟用ChatGPT API功能,用戶只需訪問ChatGPT管理后臺并通過點(diǎn)擊指定鏈接進(jìn)入。在用戶后臺界面中,您將找到創(chuàng)建新密鑰的功能選項(xiàng)——“Create new secret key”。只需輕點(diǎn)此按鈕,系統(tǒng)即會自動生成一個新的API Key供用戶使用。通過這一關(guān)鍵步驟,用戶即可順利調(diào)用強(qiáng)大的ChatGPT大模型,并將其集成至各類應(yīng)用和服務(wù)中,從而實(shí)現(xiàn)與ChatGPT的深度交互和高效利用。
2.查詢余額
在成功創(chuàng)建API Key之后,需要注意的是,僅憑此步驟并不意味著可以立即啟用ChatGPT大模型的調(diào)用功能。為了確保順利使用接口服務(wù),用戶的賬戶中必須擁有充足的余額。請?jiān)谏葾PI Key后,核實(shí)并確保您的賬戶已充值或具有足夠的信用額度。具體查詢賬戶余額的鏈接如右側(cè)所示:余額查詢鏈接,請通過該鏈接進(jìn)行實(shí)時核查,以避免因余額不足導(dǎo)致無法順利調(diào)用ChatGPT大模型接口的情況發(fā)生。
3.微信小程序代碼測試
1.index.wxml
<!--index.wxml-->
<navigation-bar title="Chat問答系統(tǒng)" back="{{false}}" color="black" background="#FFF"></navigation-bar>
<scroll-view class="scrollarea" scroll-y type="list">
<view class="container">
<scroll-view scroll-y="true" class="chat-content">
<view wx:for="{{chatMessages}}" wx:key="{{index}}" class="chat-message">
<view wx:if="{{item.type === 'user'}}" class="user-message">{{item.text}}</view>
<view wx:else class="bot-message">{{item.text}}</view>
</view>
</scroll-view>
<view class="input-box">
<input class="input" type="text" placeholder="Type a message..." value="{{inputText}}" bindinput="handleInput"/>
<button class="send-btn" bindtap="sendMessage">Send</button>
</view>
</view>
</scroll-view>
2.index.css
/**index.wxss**/
page {
height: 100vh;
display: flex;
flex-direction: column;
}
.scrollarea {
flex: 1;
overflow-y: hidden;
}
.container {
display: flex;
flex-direction: column;
height: 100vh;
}
.chat-content {
flex: 1;
}
.chat-message {
margin: 5px 10px;
}
.user-message {
background-color: #f0f0f0;
padding: 5px 10px;
border-radius: 5px;
}
.bot-message {
background-color: #c0e5fc;
padding: 5px 10px;
border-radius: 5px;
}
.input-box {
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
}
.input {
flex: 1;
height: 36px;
margin-right: 10px;
}
.send-btn {
width: 80px;
height: 36px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 5px;
outline: none;
}
3.index.js
// index.js
Page({
data: {
chatMessages: [],
inputText: ''
},
handleInput: function (e) {
this.setData({
inputText: e.detail.value
});
},
sendMessage: function () {
const inputText = this.data.inputText.trim();
if (inputText === '') return;
const chatMessages = this.data.chatMessages;
chatMessages.push({ text: inputText, type: 'user' });
this.setData({
chatMessages: chatMessages,
inputText: ''
});
this.getChatResponse(inputText);
},
getChatResponse: function (inputText) {
// 發(fā)送請求到 ChatGPT API,獲取響應(yīng)
// 以下為示例代碼,實(shí)際需根據(jù) API 接口的調(diào)用方式進(jìn)行修改
wx.request({
// 國內(nèi)需要走代理url
url: 'https://api.openai-proxy.com/v1/chat/completions',
method: 'POST',
data: {
model: 'gpt-3.5-turbo',
messages: [
{"role": "user",
"content": inputText},
],
// max_tokens: 150
// 其他參數(shù)根據(jù) API 要求進(jìn)行設(shè)置
},
header: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR-API-KEY' // 將YOUR_API_KEY替換為您的API密鑰
},
success: res => {
const chatMessages = this.data.chatMessages;
// res.data.choices[0].message.content 這個根據(jù)返回?cái)?shù)據(jù)的結(jié)構(gòu)進(jìn)行動態(tài)調(diào)整
chatMessages.push({ text: res.data.choices[0].message.content, type: 'bot' });
this.setData({
chatMessages: chatMessages
});
},
fail: err => {
console.error('Failed to get chat response: ', err);
}
});
}
});
4.問題解決
1.非合法域名校驗(yàn)
如果你創(chuàng)建了API Key,同時也完成了代碼,但是代碼運(yùn)行后報(bào)錯,即:
https://api.openai-proxy.com 不在以下 request 合法域名列表中,請參考文檔:
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html(env:
Windows,mp,1.06.2401020; lib: 3.3.4)
則證明你需要在微信開發(fā)者工具右上角,點(diǎn)擊詳情,在下面勾選 “不校驗(yàn)合法域名” ,具體如下所示:
2.超出限額
若解決上述問題后,出現(xiàn)新的問題,即:
“error”: { “message”: “You exceeded your current quota, please check your plan
and billing details.”, “type”: “insufficient_quota”, “param”: null, “code”: null }}
則代表該賬號OpenAI提供的配額用完了,需要重新更換賬號或充值!
3.服務(wù)代理
由于OpenAI及GFW的雙重限制,導(dǎo)致國內(nèi)用戶無法訪問OpenAI的API,因此,如果直接使用OpenAI的API,將會出現(xiàn)如下錯誤:
POST https://api.openai.com/v1/chat/completions 401 (Unauthorized)
(env: Windows,mp,1.06.2401020; lib: 3.3.4)
因此,需要將url更換為代理url,即為https://api.openai-proxy.com/v1/chat/completions。文章來源:http://www.zghlxwxcb.cn/news/detail-841914.html
5.效果展示
解決完上述問題后,可以發(fā)現(xiàn)代碼運(yùn)行效果如下所示:文章來源地址http://www.zghlxwxcb.cn/news/detail-841914.html
到了這里,關(guān)于ChatGPT引領(lǐng)智能對話:微信小程序的新潮玩法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!