1. 准备工作
(1)获取API密钥
- 访问DeepSeek平台,注册账号并登录。
- 在控制台创建API Key并妥善保存。
(2)安装必要的工具和依赖
- 确保安装Python 3.7或更高版本。
- 使用pip安装以下依赖:
pip install requests python-dotenv flask
2. 代码实现
(1)基础配置
创建一个
.env文件,存储API密钥:DEEPSEEK_API_KEY=你的API密钥
(2)创建主程序
创建一个名为
chatbot.py的文件,代码如下:import os
from dotenv import load_dotenv
from flask import Flask, request, jsonify
import requests
load_dotenv()
app = Flask(__name__)
DEEPSEEK_API_KEY = os.getenv('DEEPSEEK_API_KEY')
API_URL = 'https://api.deepseek.com/v1/chat/completions'
def get_bot_response(user_message):
headers = {
'Authorization': f'Bearer {DEEPSEEK_API_KEY}',
'Content-Type': 'application/json'
}
data = {
'messages': [
{'role': 'user', 'content': user_message}
],
'model': 'deepseek-chat',
'temperature': 0.7
}
response = requests.post(API_URL, headers=headers, json=data)
return response.json()['choices'][0]['message']['content']
@app.route('/chat', methods=['POST'])
def chat():
user_message = request.json.get('message', '')
bot_response = get_bot_response(user_message)
return jsonify({'response': bot_response})
if __name__ == '__main__':
app.run(debug=True, port=5000)
(3)创建简单的网页界面
创建一个
templates文件夹,并在其中创建index.html:<!DOCTYPE html>
<html>
<head>
<title>我的聊天机器人</title>
<meta charset="UTF-8">
<style>
.chat-container {
max-width: 600px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
}
.chat-box {
height: 400px;
overflow-y: auto;
margin-bottom: 20px;
padding: 10px;
border: 1px solid #eee;
}
.message {
margin: 10px 0;
padding: 10px;
border-radius: 5px;
}
.user-message {
background-color: #e3f2fd;
margin-left: 20%;
}
.bot-message {
background-color: #f5f5f5;
margin-right: 20%;
}
</style>
</head>
<body>
<div class="chat-container">
<div class="chat-box" id="chatBox"></div>
<div class="input-area">
<input type="text" id="userInput" style="width: 80%">
<button onclick="sendMessage()">发送</button>
</div>
</div>
<script>
function sendMessage() {
const userInput = document.getElementById('userInput');
const message = userInput.value;
if (!message) return;
addMessage(message, true);
userInput.value = '';
fetch('/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ message: message })
})
.then(response => response.json())
.then(data => {
addMessage(data.response, false);
});
}
function addMessage(message, isUser) {
const chatBox = document.getElementById('chatBox');
const messageDiv = document.createElement('div');
messageDiv.className = `message ${isUser ? 'user-message' : 'bot-message'}`;
messageDiv.textContent = message;
chatBox.appendChild(messageDiv);
chatBox.scrollTop = chatBox.scrollHeight;
}
document.getElementById('userInput').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
sendMessage();
}
});
</script>
</body>
</html>
3. 进阶定制
(1)个性化设置
通过修改
system角色的提示词,调整机器人的性格和行为:data = {
'messages': [
{'role': 'system', 'content': '你是一个专业的客服助手,性格温和友善'},
{'role': 'user', 'content': user_message}
],
'model': 'deepseek-chat',
'temperature': 0.7,
'max_tokens': 1000
}
(2)添加记忆功能
通过存储对话历史,使对话更加连贯:
from collections import deque
conversation_history = deque(maxlen=10) # 最多保存10轮对话
def get_bot_response(user_message):
messages = list(conversation_history)
messages.append({'role': 'user', 'content': user_message})
response = requests.post(API_URL, headers=headers, json=data)
bot_response = response.json()['choices'][0]['message']['content']
conversation_history.append({'role': 'user', 'content': user_message})
conversation_history.append({'role': 'assistant', 'content': bot_response})
return bot_response
4. 运行与测试
- 启动Flask服务:
python chatbot.py - 打开浏览器访问
http://127.0.0.1:5000,即可与你的专属聊天机器人进行对话。
5. 常见问题
- API调用失败:检查API密钥是否正确,网络连接是否正常。
- 回答质量不佳:调整
temperature参数,优化system提示。
通过以上步骤,你可以轻松打造一个基于DeepSeek API的专属聊天机器人,并根据需求进行进一步定制和优化。
© 版权声明
本站不接受任何付费业务,用爱发电,谢谢!

