开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開(kāi)APP
          userphoto
          未登錄

          開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

          開(kāi)通VIP
          騰訊云DeepSeek API對(duì)接微信小程序完全指南

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

          在開(kāi)始開(kāi)發(fā)微信小程序與騰訊云DeepSeek API的對(duì)接之前,我們需要做好必要的環(huán)境準(zhǔn)備工作。本章將指導(dǎo)你完成開(kāi)發(fā)環(huán)境的搭建,包括安裝最新版本的微信開(kāi)發(fā)者工具(IDE),配置小程序的基本信息,如果你習(xí)慣于wxml語(yǔ)法的開(kāi)發(fā),本教程中也會(huì)有關(guān)于騰訊云AI代碼助手插件的安裝,需要注意的是本教程對(duì)于騰訊云AI代碼助手插件 僅停留在安裝的的這一步驟,因?yàn)槲疫€是習(xí)慣于uniapp 的使用。 讓我們按照以下步驟,一步步完成開(kāi)發(fā)環(huán)境的準(zhǔn)備工作。

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

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

          注意:第一次使用微信開(kāi)發(fā)者工具時(shí),第一步并不是下載微信開(kāi)發(fā)者工具哦! 而是前往小程序后臺(tái), 進(jìn)行注冊(cè)并完成小程序開(kāi)發(fā)者認(rèn)證,這一內(nèi)容本篇不會(huì)詳細(xì)講解。

          關(guān)于:微信開(kāi)發(fā)者工具, 我們需要點(diǎn)鏈接選擇符合自己電腦版本的ide 進(jìn)行下載

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

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

          1.2 騰訊云AI代碼助手配置

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

          如上圖所示三步幫你安裝騰訊云AI 代碼助手

          1. 點(diǎn)擊圖中所示的 1(擴(kuò)展)。
          2. 2(輸入框)中輸入騰訊云 即可
          3. 點(diǎn)擊 3 (安裝) ,等待安裝完成之后我們就可以體驗(yàn)啦

          如下所示,騰訊AI代碼助手目前已整合了tencent-deepseek R1模型。 開(kāi)發(fā)者可以盡情的體驗(yàn)tencent-deepseek R1模型帶來(lái)的便捷開(kāi)發(fā)體驗(yàn)了嘍~~

          1.3 文案生成流程

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

          溫馨提示:由于本人習(xí)慣于uniapp 項(xiàng)目的開(kāi)發(fā) 因此本項(xiàng)目使用的是uniapp 來(lái)打包運(yùn)行我們的小程序項(xiàng)目

          UI界面如下圖所示:

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

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

          1. 關(guān)鍵詞輸入?yún)^(qū):用戶通過(guò)輸入關(guān)鍵詞,來(lái)覺(jué)得接下來(lái)文案的主要風(fēng)格。
          2. 類(lèi)型選擇區(qū): 用戶通過(guò)選擇公眾號(hào),小紅書(shū)等類(lèi)型,來(lái)覺(jué)得文案生成的類(lèi)型。
          3. 結(jié)果展示區(qū):用于展示騰訊云DeepSeek API 返回的結(jié)果。

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

          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à)格表 | 模型類(lèi)型 | 輸入價(jià)格 | 輸出價(jià)格 | |:--------:|:--------:|:--------:| | DeepSeek-R1 | 0.004元/千token | 0.016元/千token | | DeepSeek-V3 | 0.002元/千token | 0.008元/千token |?? 詳細(xì)文檔:騰訊云DeepSeek API調(diào)用指南

          3.1 API接入配置

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

          創(chuàng)建API KEY

          API 使用前提是需要用于一個(gè)API KEY ,訪問(wèn)地址 來(lái)創(chuàng)建我們的API KEY 如下圖所示, 點(diǎn)擊按鈕 創(chuàng)建API KEY 即可, 點(diǎn)擊查看時(shí)可以看到已經(jīng)創(chuàng)建的 API KEY

          編寫(xiě)py代碼 進(jìn)行本地請(qǐng)求

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

          代碼語(yǔ)言:python
          代碼運(yùn)行次數(shù):10
          運(yùn)行
          AI代碼解釋
          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:
              """請(qǐng)求參數(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():
              """
              處理生成請(qǐng)求
              ---
              parameters:
                - name: body
                  in: body
                  required: true
                  schema:
                    type: object
                    properties:
                      content:
                        type: string
              responses:
                200:
                  description: 生成結(jié)果
                400:
                  description: 無(wú)效請(qǐng)求
                500:
                  description: 服務(wù)器錯(cuò)誤
              """
              # 請(qǐng)求驗(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)建流式請(qǐ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請(qǐng)求失敗: {str(e)}", exc_info=True)
                  return jsonify({"error": "服務(wù)暫時(shí)不可用,請(qǐng)稍后再試"}), 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 框架暴露出來(lái)的請(qǐng)求信息如下:

          代碼語(yǔ)言:bash
          AI代碼解釋
          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: "請(qǐng)根據(jù)以下內(nèi)容生成500字小紅書(shū)種草文案:?關(guān)鍵詞:三亞,海邊,游泳,拍照?"
          }'

          我么通過(guò)postman 來(lái)測(cè)試其連通性,如下圖所示

          運(yùn)行服務(wù)

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

          postman 接口配置示例

          我們輸入的content內(nèi)容是:請(qǐng)根據(jù)以下內(nèi)容生成500字小紅書(shū)種草文案:?關(guān)鍵詞:三亞,海邊,游泳,拍照?, 發(fā)送請(qǐng)求查看結(jié)果

          此時(shí)我們的DeepSeek接口的本地調(diào)用就已經(jīng)完成了。

          整體來(lái)說(shuō)整個(gè)過(guò)程還是蠻絲滑的, 接下來(lái)我們分析一下 如和實(shí)現(xiàn)小程序的對(duì)接。

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

          ui 代碼層

          代碼語(yǔ)言:js
          AI代碼解釋
          <template>
              <view class="content">
                  <!--   <view class="upload-section">
                      <uv-upload
                          :fileList="fileList"
                          @afterRead="afterRead"
                          @delete="deletePic"
                          :maxCount="1"
                          name="1"
                      ></uv-upload>
                  </view> -->
                  <view class="txtArea">
                      <uv-textarea
                          v-model="textArea"
                          placeholder="請(qǐng)輸入關(guān)鍵詞,以逗號(hào)隔開(kāi)"
                          :height="150"
                          :border="'surround'"
                          :count="true"
                          :maxlength="500"
                      ></uv-textarea>
                  </view>
                  <view class="type-section">
                      <uv-radio-group
                          v-model="typeValue"
                          placement="row"
                          @change="handleChangeType"
                          :wrap="false"
                      >
                          <uv-radio
                              v-for="(item, index) in typeOptions"
                              :key="index"
                              :name="item.value"
                              :label="item.text"
                          ></uv-radio>
                      </uv-radio-group>
                  </view>
          
                  <view class="button-section">
                      <uv-button
                          type="primary"
                          text="開(kāi)始生成"
                          @click="startGenerate"
                      ></uv-button>
                      <uv-button type="info" text="重置" @click="resetForm"></uv-button>
                  </view>
          
                  <view class="result-section">
                      <uv-loading-icon
                          v-if="loading"
                          text="文案生成中..."
                          mode="circle"
                          size="28"
                      ></uv-loading-icon>
                      <uv-text v-if="resultText" :text="resultText"></uv-text>
                  </view>
              </view>
          </template>

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

          接口調(diào)用方法

          代碼語(yǔ)言:js
          AI代碼解釋
               startGenerate() {
                      // 1. 判斷用戶是否上傳圖片或輸入關(guān)鍵詞
                      if (!this.textArea) {
                          uni.showToast({
                              title: "請(qǐng)輸入關(guān)鍵詞",
                              icon: "none",
                          });
                          return;
                      }
          
                      // 2. 配置prompt提示詞
                      let prompt = `請(qǐng)根據(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 || "文案生成失敗,請(qǐng)稍后重試...";
                          })
                          .catch((err) => {
                              console.error("生成失敗:", err);
                              this.loading = false;
                          });
                  },
                

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

          效果演示

          如下圖所示:

          附錄

          該小程序其實(shí)最初的設(shè)計(jì)是有個(gè)圖片識(shí)別功能, 通過(guò)識(shí)別圖片來(lái)生成對(duì)應(yīng)的文案, 但是目前如果僅使用騰訊云DeepSeek API 是無(wú)法實(shí)現(xiàn)該功能的,需要結(jié)合 大模型知識(shí)引擎 中的圖片對(duì)話或文件對(duì)話(實(shí)時(shí)文檔解析+對(duì)話) 的接口,通過(guò)識(shí)別圖片內(nèi)容之后再次調(diào)用騰訊云DeepSeek API 來(lái)獲取對(duì)應(yīng)的文案。

          總結(jié)

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

          [uniapp](https://gitcode.com/qq_33681891/txDeepseek)源碼訪問(wèn)地址 

          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
          打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
          猜你喜歡
          類(lèi)似文章
          DeepSeek在微信里的10個(gè)入口,建議收藏
          全網(wǎng)最簡(jiǎn)單!3分鐘用滿血DeepSeek R1開(kāi)發(fā)一款A(yù)I智能客服,零代碼輕松接入微信、公眾號(hào)、小程序,新手也能快速上手!
          深度使用DeepSeek半個(gè)月后,我得了「能力退化焦慮癥」
          250,震驚!微信竟能與 deepseek 聯(lián)動(dòng),用法速看
          普通人用DeepSeek年賺100萬(wàn)的六個(gè)具體方案
          Manus不是最好的AI產(chǎn)品,是很好的營(yíng)銷(xiāo)案例
          更多類(lèi)似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服