1. 開發(fā)環(huán)境準(zhǔn)備

在開始開發(fā)微信小程序與騰訊云DeepSeek API的對接之前,我們需要做好必要的環(huán)境準(zhǔn)備工作。本章將指導(dǎo)你完成開發(fā)環(huán)境的搭建,包括安裝最新版本的微信開發(fā)者工具(IDE),配置小程序的基本信息,如果你習(xí)慣于wxml語法的開發(fā),本教程中也會有關(guān)于

騰訊云AI代碼助手插件

的安裝,需要注意的是本教程對于

騰訊云AI代碼助手插件

僅停留在安裝的這一步驟,因?yàn)槲疫€是習(xí)慣于uniapp的使用。讓我們按照以下步驟,一步步完成開發(fā)環(huán)境的準(zhǔn)備工作。

系統(tǒng)架構(gòu)

image

1.1 微信開發(fā)者工具安裝

?注意:第一次使用微信開發(fā)者工具時(shí),第一步并不是下載微信開發(fā)者工具哦! 而是前往小程序后臺, 進(jìn)行注冊并完成小程序開發(fā)者認(rèn)證,這一內(nèi)容本篇不會詳細(xì)講解。關(guān)于:微信開發(fā)者工具,我們需要點(diǎn)鏈接選擇符合自己電腦版本的ide進(jìn)行下載。

image

下載完成之后按照提示進(jìn)行安裝即可。

image

當(dāng)開發(fā)工具安裝完成之后,我們首先創(chuàng)建一個(gè)空的項(xiàng)目模板如下圖所示。

image

1.2 騰訊云AI代碼助手配置

?騰訊云AI代碼助手現(xiàn)已完全集成到微信開發(fā)者工具中,配置過程變得更加簡便。具體步驟如下:

image

如上圖所示三步幫你安裝騰訊云AI代碼助手點(diǎn)擊圖中所示的

1

(擴(kuò)展)。在

2

(輸入框)中輸入

騰訊云

即可點(diǎn)擊

3

(安裝),等待安裝完成之后我們就可以體驗(yàn)啦如下所示,騰訊AI代碼助手目前已整合了

tencent-deepseek R1

模型。開發(fā)者可以盡情的體驗(yàn)

tencent-deepseek R1

模型帶來的便捷開發(fā)體驗(yàn)了嘍~~

image

1.3 文案生成流程

image

2. 小程序界面設(shè)計(jì)

?溫馨提示:由于本人習(xí)慣于uniapp 項(xiàng)目的開發(fā)因此本項(xiàng)目使用的是uniapp來打包運(yùn)行我們的小程序項(xiàng)目UI界面如下圖所示:

image

2.1 搭建基礎(chǔ)UI界面

我們的UI界面設(shè)計(jì)簡潔,主要包含以下四個(gè)核心組件:

公眾號

,

小紅書

等類型,來決定文案生成的類型。

運(yùn)行效果圖如下

image

3. 騰訊云DeepSeek API集成

下面是騰訊云DeepSeek API最新計(jì)費(fèi)標(biāo)準(zhǔn),注意自己的token使用哦!

????騰訊云DeepSeek API 最新計(jì)費(fèi)標(biāo)準(zhǔn)???生效時(shí)間:2025年2月26日 0時(shí)起 DeepSeek 模型價(jià)格表[表格]???詳細(xì)文檔: 騰訊云DeepSeek API調(diào)用指南

3.1 API接入配置

關(guān)于 DeepSeek API 接口的相關(guān)文檔可以點(diǎn)擊鏈接進(jìn)行查看,接下來我們將逐步實(shí)現(xiàn)如何配置騰訊云DeepSeek為我們接下來的開發(fā)作準(zhǔn)備。

創(chuàng)建API KEY

API 使用前提是需要用于一個(gè)API KEY,訪問地址: (https://console.cloud.tencent.com/lkeap/api) 來創(chuàng)建我們的API KEY 如下圖所示,點(diǎn)擊按鈕

創(chuàng)建API KEY

即可,點(diǎn)擊查看時(shí)可以看到已經(jīng)創(chuàng)建的

API KEY

image

編寫py代碼進(jìn)行本地請求我這里用的是

Flask

框架,為我們小程序調(diào)用DeepSeek API提供接口服務(wù),代碼如下:

import os
import logging
from flask import Flask, request, jsonify
from flask_cors import CORS
from openai import OpenAI
from typing import Dict, Any

# 初始化Flask應(yīng)用
app = Flask(__name__)
CORS(app) ?# 啟用跨域支持

# 配置日志記錄
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 環(huán)境變量配置
OPENAI_CONFIG = {
? ? "api_key": os.getenv("OPENAI_API_KEY", "sk-pXLyNnk8bdl8zkmFkBIi7KBRiaLTATlmGsr8QfTwek7Zawfk"),
? ? "base_url": os.getenv("OPENAI_BASE_URL", "https://api.lkeap.cloud.tencent.com/v1")
}

# 初始化OpenAI客戶端
client = OpenAI(**OPENAI_CONFIG)

def validate_request(data: Dict[str, Any]) -> tuple:
? ? """請求參數(shù)驗(yàn)證"""
? ? if not data.get('content'):
? ? ? ? logger.warning("Missing content parameter")
? ? ? ? return False, "Content parameter is required"
? ? if len(data['content']) > 1000:
? ? ? ? logger.warning("Content length exceeds limit")
? ? ? ? return False, "Content exceeds maximum length of 1000 characters"
? ? return True, ""

def process_stream_response(stream) -> dict:
? ? """處理流式響應(yīng)數(shù)據(jù)"""
? ? result = {"reasoning_content": "", "answer_content": ""}
? ? for chunk in stream:
? ? ? ? if not chunk.choices:
? ? ? ? ? ? continue
? ? ? ? delta = chunk.choices[0].delta
? ? ? ? # 使用getattr安全獲取屬性
? ? ? ? if reasoning := getattr(delta, 'reasoningcontent', None):
? ? ? ? ? ? result["reasoning_content"] += reasoning
? ? ? ? if content := getattr(delta, 'content', None):
? ? ? ? ? ? result["answer_content"] += content
? ? return result

@app.route('/deepseekapi', methods=['POST'])
def generate_content():
? ? """
? ? 處理生成請求
? ? ---
? ? parameters:
? ? ? - name: body
? ? ? ? in: body
? ? ? ? required: true
? ? ? ? schema:
? ? ? ? ? type: object
? ? ? ? ? properties:
? ? ? ? ? ? content:
? ? ? ? ? ? ? type: string
? ? responses:
? ? ? 200:
? ? ? ? description: 生成結(jié)果
? ? ? 400:
? ? ? ? description: 無效請求
? ? ? 500:
? ? ? ? description: 服務(wù)器錯(cuò)誤
? ? """
? ? # 請求驗(yàn)證
? ? data = request.get_json()
? ? print(data)
? ? is_valid, message = validate_request(data)
? ? if not is_valid:
? ? ? ? return jsonify({"error": message}), 400
? ? try:
? ? ? ? # 創(chuàng)建流式請求
? ? ? ? stream = client.chat.completions.create(
? ? ? ? ? ? model="deepseek-r1",
? ? ? ? ? ? messages=[{"role": "user", "content": data['content']}],
? ? ? ? ? ? stream=True,
? ? ? ? ? ? temperature=0.7, ?# 添加生成參數(shù)
? ? ? ? ? ? max_tokens=1000
? ? ? ? )
? ? ? ? # 處理流式響應(yīng)
? ? ? ? processed_data = process_stream_response(stream)
? ? ? ? # 結(jié)果后處理
? ? ? ? processed_data["answer_content"] = processed_data["answer_content"].strip()
? ? ? ? return jsonify(processed_data)
? ? except Exception as e:
? ? ? ? logger.error(f"API請求失敗: {str(e)}", exc_info=True)
? ? ? ? return jsonify({"error": "服務(wù)暫時(shí)不可用,請稍后再試"}), 500

if __name__ == "__main__":
? ? app.run(
? ? ? ? host=os.getenv("FLASK_HOST", "0.0.0.0"),
? ? ? ? port=int(os.getenv("FLASK_PORT", 5001)),
? ? ? ? debug=os.getenv("FLASK_DEBUG", "false").lower() == "true"
? ? )

驗(yàn)證我們的

Flask

框架暴露出來的請求信息如下:

curl --location --request POST 'http://192.168.31.134:5001/deepseekapi' 
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' 
--header 'Content-Type: application/json' 
--header 'Accept: */*' 
--header 'Host: 192.168.31.134:5001' 
--header 'Connection: keep-alive' 
--data-raw '{   content: "請根據(jù)以下內(nèi)容生成500字小紅書種草文案:?關(guān)鍵詞:三亞,海邊,游泳,拍照?"}'

我們通過postman來測試其連通性,如下圖所示運(yùn)行服務(wù)

image

postman 數(shù)據(jù)返回

image

postman 接口配置示例

image

我們輸入的

content

內(nèi)容是:

請根據(jù)以下內(nèi)容生成500字小紅書種草文案:?關(guān)鍵詞:三亞,海邊,游泳,拍照?

發(fā)送請求查看結(jié)果。此時(shí)我們的DeepSeek接口的本地調(diào)用就已經(jīng)完成了。整體來說整個(gè)過程還是蠻絲滑的,接下來我們分析一下如何實(shí)現(xiàn)小程序的對接。

4. 小程序代碼實(shí)現(xiàn)

ui 代碼層


? ? 
? ? ? ? <!-- ? 
? ? ? ? ? ? 
? ? ? ?  -->
? ? ? ? 
? ? ? ? ? ? 
? ? ? ? 
? ? ? ? 
? ? ? ? ? ? 
? ? ? ? ? ? ? ? 
? ? ? ? ? ? 
? ? ? ? 
? ? ? ? 
? ? ? ? ? ? 
? ? ? ? ? ? 
? ? ? ? 
? ? ? ? 
? ? ? ? ? ? 
? ? ? ? ? ? 
? ? ? ? 
? ? 

tip:

關(guān)于注釋地方會在最下面的附錄項(xiàng)進(jìn)行講解說明

接口調(diào)用方法

startGenerate() {
? ? ? ? ? ? // 1. 判斷用戶是否上傳圖片或輸入關(guān)鍵詞
? ? ? ? ? ? if (!this.textArea) {
? ? ? ? ? ? ? ? uni.showToast({
? ? ? ? ? ? ? ? ? ? title: "請輸入關(guān)鍵詞",
? ? ? ? ? ? ? ? ? ? icon: "none",
? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }

? ? ? ? ? ? // 2. 配置prompt提示詞
? ? ? ? ? ? let prompt = 請根據(jù)以下內(nèi)容生成500字${this.typeText}文案:n;

? ? ? ? ? ? // 添加關(guān)鍵詞內(nèi)容
? ? ? ? ? ? if (this.textArea) {
? ? ? ? ? ? ? ? prompt += 關(guān)鍵詞:${this.textArea}n;
? ? ? ? ? ? }

? ? ? ? ? ? // 添加圖片信息
? ? ? ? ? ? // if (this.fileList.length > 0) {
? ? ? ? ? ? // ? ? prompt += ${this.fileList[0].url}n;
? ? ? ? ? ? // }

? ? ? ? ? ? // 3. 設(shè)置加載狀態(tài)
? ? ? ? ? ? this.loading = true;

? ? ? ? ? ? // 4. 接口調(diào)用
? ? ? ? ? ? request({
? ? ? ? ? ? ? ? url: "/deepseekapi",
? ? ? ? ? ? ? ? method: "POST",
? ? ? ? ? ? ? ? data: {
? ? ? ? ? ? ? ? ? ? content: prompt,
? ? ? ? ? ? ? ? },
? ? ? ? ? ? })
? ? ? ? ? ? ? ? .then((res) => {
? ? ? ? ? ? ? ? ? ? console.log("生成成功:", res);
? ? ? ? ? ? ? ? ? ? this.loading = false;
? ? ? ? ? ? ? ? ? ? this.resultText =
? ? ? ? ? ? ? ? ? ? ? ? res.answer_content || "文案生成失敗,請稍后重試...";
? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? .catch((err) => {
? ? ? ? ? ? ? ? ? ? console.error("生成失敗:", err);
? ? ? ? ? ? ? ? ? ? this.loading = false;
? ? ? ? ? ? ? ? });
? ? ? ? },

此處我們主要實(shí)現(xiàn)的事對于提示詞的拼接,然后進(jìn)行接口的調(diào)用, 需要注意的是,我進(jìn)行的提示詞拼接可能并不是最完美的,具體應(yīng)用到業(yè)務(wù)層時(shí)還需要微調(diào)哦??!

效果演示如下圖所示:

image

附錄

該小程序其實(shí)最初的設(shè)計(jì)是有個(gè)圖片識別功能,通過識別圖片來生成對應(yīng)的文案,但是目前如果僅使用

騰訊云DeepSeek API

是無法實(shí)現(xiàn)該功能的,需要結(jié)合

大模型知識引擎

中的 (https://cloud.tencent.com/document/product/1759/107908) 的接口,通過識別圖片內(nèi)容之后再次調(diào)用

騰訊云DeepSeek API

來獲取對應(yīng)的文案。

總結(jié)

通過本教程,開發(fā)者可以快速搭建一個(gè)基于騰訊云DeepSeek API的文案生成小程序,為內(nèi)容創(chuàng)作提供AI助手支持。后續(xù)還可以擴(kuò)展更多功能,如圖片識別等高級特性,進(jìn)一步提升應(yīng)用的實(shí)用性。

uniapp

源碼訪問地址 : (https://gitcode.com/qq_33681891/txDeepseek)

原文轉(zhuǎn)載自:https://mp.weixin.qq.com/s/1-qY9DWC4Lw2DpJ_OloHnw

上一篇:

什么是 MCP 服務(wù)?如何利用 cursor + MCP 快速將現(xiàn)有服務(wù)接入大模型?

下一篇:

使用Google Gemini API密鑰創(chuàng)建AI驅(qū)動(dòng)的Chrome擴(kuò)展程序
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)