api_key = "your_api_key_here" # 替換為您的API Key
os.environ["DEEPSEEK_API_KEY"] = api_key

此外,您也可以在系統環境中設置環境變量,例如在Linux或Mac系統中,可以在終端中運行以下命令:

bash復制

export DEEPSEEK_API_KEY="your_api_key_here"

這樣,您就可以在代碼中通過os.environ["DEEPSEEK_API_KEY"]來獲取API Key。

二、DeepSeek API Key的應用

(一)使用Python調用DeepSeek API

獲取API Key后,就可以通過編程接口調用DeepSeek的API了。DeepSeek的API與OpenAI完全兼容,因此您可以使用OpenAI的SDK來訪問DeepSeek API。以下是一個使用Python調用DeepSeek API的示例代碼:

Python復制

from openai import OpenAI

# 初始化OpenAI客戶端
client = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com")

# 創建對話消息
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]

# 調用API
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
stream=False
)

# 輸出AI回復
print("AI回復:", response.choices[0].message.content)

在上述代碼中,model參數指定為deepseek-chat,表示使用DeepSeek-V3模型。messages參數是一個列表,包含系統消息和用戶消息。系統消息用于定義AI的角色和行為,用戶消息則是用戶輸入的內容。調用API后,DeepSeek會返回一個響應,其中response.choices[0].message.content包含了AI的回復內容。

(二)實現多輪對話

DeepSeek的/chat/completions API是一個“無狀態”API,即服務端不會記錄用戶請求的上下文。因此,要實現多輪對話,需要在每次請求時將之前所有對話歷史拼接好后傳遞給API。以下是一個實現多輪對話的Python代碼示例:

Python復制

from openai import OpenAI

# 初始化OpenAI客戶端
client = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com")

# 初始化對話消息列表
messages = [
{"role": "system", "content": "You are a helpful assistant."}
]

while True:
# 獲取用戶輸入
user_input = input("請輸入對話:\n")
messages.append({"role": "user", "content": user_input})

# 調用API
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
stream=True
)

# 輸出AI回復
print("AI回復:")
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print()

在上述代碼中,使用了while循環來實現多輪對話。每次用戶輸入后,將用戶的消息添加到messages列表中,然后調用API。通過設置stream=True參數,可以逐行獲取AI的回復內容,并實時顯示給用戶。

(三)接入微信平臺

除了在本地應用中調用DeepSeek API,您還可以將DeepSeek的AI能力接入微信平臺,例如個人微信或微信公眾平臺。以下是接入個人微信的步驟:

  1. 獲取DeepSeek API Key:按照前面介紹的方法獲取DeepSeek API Key。
  2. 創建并配置docker-compose.yml文件:創建一個文件夾,并在其中新建一個docker-compose.yml文件。將以下內容復制到文件中:

yaml復制

version: '2.0'
services:
chatgpt-on-wechat:
image: registry.cn-guangzhou.aliyuncs.com/kangarooking/chatgpt-on-wechat:250131
container_name: chatgpt-on-wechat
security_opt:
- seccomp:unconfined
environment:
OPEN_AI_API_KEY: 'your_api_key_here' # 替換為您的DeepSeek API Key
OPEN_AI_API_BASE: 'https://api.deepseek.com/v1'
MODEL: 'deepseek-chat'
SINGLE_CHAT_PREFIX: '[""]'
SINGLE_CHAT_REPLY_PREFIX: '" "'
GROUP_CHAT_PREFIX: '["@your_wechat_name"]' # 替換為您的微信名
GROUP_NAME_WHITE_LIST: '["測試1群", "測試2群"]'
IMAGE_CREATE_PREFIX: '["畫", "看", "找"]'
CONVERSATION_MAX_TOKENS: 3000
SPEECH_RECOGNITION: 'False'
CHARACTER_DESC: '用貓娘的語氣跟我說話'
EXPIRES_IN_SECONDS: 3600
USE_GLOBAL_PLUGIN_CONFIG: 'True'
HOT_RELOAD: 'True'
  1. 使用Docker一鍵啟動:在docker-compose.yml文件所在目錄的地址欄輸入cmd,進入控制臺。輸入命令docker-compose up -d,然后回車。等待部署完成后,用微信小號掃碼登錄即可。

要將DeepSeek接入微信公眾平臺,需要通過微信公眾平臺的開發接口實現消息交互。以下是接入微信公眾平臺的步驟:

  1. 注冊微信公眾號:選擇服務號或訂閱號,并完成微信認證。
  2. 獲取DeepSeek API Key:按照前面介紹的方法獲取DeepSeek API Key。
  3. 準備服務器:需要一個公網可訪問的服務器,并配置HTTPS。
  4. 配置微信公眾平臺:登錄微信公眾平臺,進入“開發->基本配置”,填寫服務器API地址、Token、EncodingAESKey等信息。
  5. 開發后端服務:以Python Flask為例,處理微信消息并調用DeepSeek API。以下是一個簡單的后端服務代碼示例:

Python復制

from flask import Flask, request, jsonify
import hashlib
import requests
import time

app = Flask(__name__)

TOKEN = "your_token_here" # 替換為您的微信Token
DEEPSEEK_API_KEY = "your_api_key_here" # 替換為您的DeepSeek API Key

# 微信驗證接口
@app.route('/wechat', methods=['GET'])
def verify():
signature = request.args.get('signature', '')
timestamp = request.args.get('timestamp', '')
nonce = request.args.get('nonce', '')
echostr = request.args.get('echostr', '')

# 驗證簽名
tmp_list = sorted([timestamp, nonce, TOKEN])
tmp_str = ''.join(tmp_list).encode('utf-8')
hash_str = hashlib.sha1(tmp_str).hexdigest()

if hash_str == signature:
return echostr
else:
return 'Verification Failed'

# 處理用戶消息
@app.route('/wechat', methods=['POST'])
def handle_message():
# 解析XML數據(需實現XML解析邏輯)
user_msg = extract_user_msg(request.data) # 自定義解析函數
user_input = user_msg.get('Content', '')

# 調用DeepSeek API
headers = {"Authorization": f"Bearer {DEEPSEEK_API_KEY}"}
response = requests.post(
"https://api.deepseek.com/v1/chat/completions",
headers=headers,
json={"messages": [{"role": "user", "content": user_input}]}
)
ai_response = response.json()['choices'][0]['message']['content']

# 返回微信XML格式響應
return f"""
<xml>
<ToUserName><![CDATA[{user_msg['FromUserName']}]]></ToUserName>
<FromUserName><![CDATA[{user_msg['ToUserName']}]]></FromUserName>
<CreateTime>{int(time.time())}</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[{ai_response}]]></Content>
</xml>
"""

if __name__ == '__main__':
app.run(port=80, host='0.0.0.0')

三、常見問題與解答

(一)DeepSeek-V3與OpenAI的區別

DeepSeek-V3提供與OpenAI相同的API格式,但具有更低的成本和更高的性能。此外,DeepSeek還支持自定義模型和擴展能力,適合團隊項目。

(二)如何啟用流式輸出

在調用DeepSeek API時,將stream參數設置為true即可啟用流式輸出。例如:

Python復制

response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
stream=True
)

(三)API Key的權限管理

DeepSeek支持多用戶管理和API Key權限分配。您可以為不同的用戶分配不同權限的API Key,以確保項目的安全性。

四、總結

通過本文的介紹,您應該已經掌握了如何獲取DeepSeek API Key,并將其應用于Python程序和微信平臺中。DeepSeek的強大功能和與OpenAI兼容的API接口,使其成為開發者在自然語言處理和智能對話領域的一個優秀選擇。希望本文能夠幫助您快速上手DeepSeek,開啟智能對話之旅。

更多相關文章:

上一篇:

深入探索 DeepSeek-R1:安裝、使用與集成

下一篇:

DeepSeek API價格:開源、降本與AI普惠的實踐
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

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

10個渠道
一鍵對比試用API 限時免費