微信小程序如何接入DeepSeek?
微信小程序中接入DeepSeek ai,開發(fā)者需進(jìn)行以下環(huán)境配置和代碼實現(xiàn)。
首先,確保您的小程序基礎(chǔ)庫版本在3.7.1及以上,并且已為小程序開通了云開發(fā)功能。可以在微信開發(fā)者工具中通過工具欄的【云開發(fā)】按鈕進(jìn)行相關(guān)設(shè)置并創(chuàng)建相應(yīng)的環(huán)境。
一、準(zhǔn)備工作
注冊微信小程序賬號:
訪問微信公眾平臺(mp.weixin.qq.com),注冊一個微信小程序賬號。
創(chuàng)建小程序工程項目:
下載并安裝微信開發(fā)者工具。
更新小程序基礎(chǔ)庫:
確保您使用的微信小程序基礎(chǔ)庫版本至少為 3.7.1 及以上。
開通云開發(fā):
在微信開發(fā)者工具中,點擊工具欄中的「云開發(fā)」按鈕,按提示開通云開發(fā),并創(chuàng)建一個新的環(huán)境。首次使用云開發(fā)的用戶可以獲得一個月的免費套餐。
二、初始化云開發(fā)環(huán)境
在您的小程序代碼中,添加以下代碼以初始化云開發(fā)環(huán)境:
// app.js 文件中 App({ onLaunch() { if (!wx.cloud) { console.error('請檢查是否已啟用 cloud 開發(fā)'); return; } // 初始化云開發(fā)環(huán)境,默認(rèn)指向當(dāng)前項目的默認(rèn)環(huán)境 wx.cloud.init({ env: 'your-env-id', // 替換為您的云開發(fā)環(huán)境ID traceUser: true, }); }, });
三、調(diào)用大模型實現(xiàn)文本生成
假設(shè)我們要在一個簡單的頁面中實現(xiàn)文本生成功能,比如生成一段描述性的文字。
四、編寫前端代碼
在某個頁面的 .js 和 .wxml 文件中分別編寫邏輯和展示代碼。
示例頁面結(jié)構(gòu) (pages/index/index.wxml)
生成文本
示例頁面邏輯 (pages/index/index.js)
Page({ data: { generatedText: '', }, generateText() { const that = this; wx.showLoading({ title: '正在生成...' }); wx.cloud.callFunction({ name: 'callDeepSeek', success(res) { console.log('[Cloud Function] callDeepSeek result:', res.result); that.setData({ generatedText: res.result.text, // 假設(shè)返回結(jié)果包含 text 字段 }); }, fail(err) { console.error('[Cloud Function] callDeepSeek error:', err); wx.showToast({ icon: 'none', title: '請求失敗' }); }, complete() { wx.hideLoading(); }, }); }, });
五、編寫云端函數(shù)
我們需要在云開發(fā)控制臺中創(chuàng)建一個名為 callDeepSeek 的云函數(shù),以便調(diào)用 DeepSeek 并返回結(jié)果。
創(chuàng)建云函數(shù)
1. 登錄到 微信云開發(fā)管理后臺。
2. 導(dǎo)航至左側(cè)菜單中的【云函數(shù)】,點擊【新建】。
3. 輸入名稱 callDeepSeek,然后點擊確定。
編寫云函數(shù)代碼 (Node.js)
在 index.js 中編寫如下代碼:
const axios = require('axios'); exports.main = async (event, context) => { try { const apiKey = process.env.DEEPSEEK_API_KEY; // 設(shè)置環(huán)境變量 DEEPSEEK_API_KEY 存儲 API Key const apiUrl = 'https://api.deepseek.com/v1/generate'; // DeepSeek 文本生成 API 地址 const response = await axios.post(apiUrl, { prompt: event.prompt || '請輸入您的指令或主題。', max_tokens: 150, // 返回的最大 token 數(shù)量 }, { headers: { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' } }); return { code: 0, message: 'success', text: response.data.choices[0].text.trim(), // 解析返回的數(shù)據(jù) }; } catch (error) { console.error(error); return { code: -1, message: 'failed to fetch from deepseek api', text: '' }; } };
添加依賴包
為了使用 Axios 庫發(fā)送 HTTP 請求,請確保在云函數(shù)根目錄下安裝 Axios 包。可以通過 npm 來安裝:
1. 切換到云函數(shù)目錄:
cd functions/callDeepSeek/
2. 安裝 Axios:
npm install axios --save
3. 構(gòu)建 Node_modules:
npm run build:npm
(如果沒有 build:npm 腳本,可以在 package.json 中手動添加)
4. 上傳更改到云開發(fā): 回到微信開發(fā)者工具,右鍵點擊 functions/callDeepSeek/ 目錄,選擇「上傳并部署:云端安裝依賴」
六、測試與驗證
完成上述設(shè)置后,回到微信開發(fā)者工具預(yù)覽模式,嘗試觸發(fā)「生成文本」按鈕,觀察是否有預(yù)期的結(jié)果出現(xiàn)。