用deepseekapi 打造专属机器人

AI百科11个月前更新 学习导航
1.1K 0
DeepSeek交流群

以下内容由AI生成,非目标网站最新信息,内容仅供参考,详细信息请登录目标官方网站查看

使用DeepSeek API打造专属聊天机器人的步骤如下,以下是基于Python和Flask的实现方法:

1. 准备工作

(1)获取API密钥

  1. 访问DeepSeek平台,注册账号并登录。
  2. 在控制台创建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. 运行与测试

  1. 启动Flask服务:
    python chatbot.py
  2. 打开浏览器访问http://127.0.0.1:5000,即可与你的专属聊天机器人进行对话。

5. 常见问题

  • API调用失败:检查API密钥是否正确,网络连接是否正常。
  • 回答质量不佳:调整temperature参数,优化system提示。
通过以上步骤,你可以轻松打造一个基于DeepSeek API的专属聊天机器人,并根据需求进行进一步定制和优化。
© 版权声明

相关文章