DeepSeek 聊天机器人项目
想要更深入玩转聊天机器人开发? 推荐本文档 + 课程《DeepSeek 聊天机器人项目》一起学习,效果翻倍! 边学边练,轻松打造智能对话系统~ (๑•̀ㅂ•́)و✧ 快上车,AI 之旅发车啦!
一、为 DeepSeek Chatbot 准备零件
项目演示
输入提示词:
- Who are you?
- How to develop a chatbot?
环境准备
前端语言使用 HTML CSS JS
后端语言使用 Python https://www.python.org/
编辑器使用 VS Code https://code.visualstudio.com/
项目搭建
安装 Flask 库 pip install Flask
deepseek-chatbot/app.py
from flask import Flask, render_template
# 创建一个 Flask 应用实例
app = Flask(__name__)
# 定义一个路由和视图函数
@app.route('/')
def home():
return render_template("index.html")
# 运行应用
if __name__ == '__main__':
app.run(debug=True)
deepseek-chatbot/templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chatbot</title>
<link rel="stylesheet" href="/static/index.css">
</head>
<body>
<h1></h1>
<script src="/static/index.js"></script>
</body>
</html>
deepseek-chatbot/static/index.css
h1 {
text-align: center;
}
deepseek-chatbot/static/index.js
console.log(123);
二、给 DeepSeek Chatbot 美化界面
deepseek-chatbot/templates/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chatbot</title>
<link rel="stylesheet" href="/static/index.css">
</head>
<body>
<h1></h1>
<div class="chat">
<div class="chat-content">
<!-- <div class="user-message">introduce yourself</div>
<pre
class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
<div class="user-message">introduce yourself</div>
<pre
class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
<div class="user-message">introduce yourself</div>
<pre
class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
<div class="user-message">introduce yourself</div>
<pre
class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre> -->
</div>
<div class="chat-form">
<input type="text" id="user-message-ipt">
<button id="send-btn">Send</button>
</div>
</div>
<script src="/static/index.js"></script>
</body>
</html>
deepseek-chatbot/static/index.css
h1 {
text-align: center;
}
.chat {
max-width: 600px;
margin: 0 auto;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.chat-content {
padding: 20px;
height: 400px;
overflow-y: scroll;
}
.chat-content .user-message {
text-align: right;
}
.chat-content .robot-message {
white-space: pre-wrap;
}
.chat-form {
padding: 10px;
display: flex;
}
.chat-form input {
flex-grow: 1;
padding: 5px;
border: 1px solid #ccc;
margin-right: 10px;
}
.chat-form button {
flex-grow: 0;
padding: 5px 10px;
border: 1px solid #ccc;
cursor: pointer;
}
deepseek-chatbot/static/index.js
console.log(123);
window.onload = () => {
const chatContent = document.querySelector('.chat-content')
const userMessageIpt = document.querySelector('#user-message-ipt')
const sendBtn = document.querySelector('#send-btn')
sendBtn.onclick = () => {
const userMessage = userMessageIpt.value
// <div class="user-message">introduce yourself</div>
const userMessageDiv = document.createElement('div')
userMessageDiv.className = 'user-message'
userMessageDiv.textContent = userMessage
chatContent.append(userMessageDiv)
// <pre class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
const robotMessagePre = document.createElement('pre')
robotMessagePre.className = 'robot-message'
robotMessagePre.textContent = "I'm a robot!"
chatContent.append(robotMessagePre)
}
}
三、教 DeepSeek Chatbot 会话补全
会话补全接口
https://api-docs.deepseek.com/zh-cn/api/create-chat-completion
错误码
https://api-docs.deepseek.com/zh-cn/quick_start/error_codes
模型 & 价格
https://api-docs.deepseek.com/zh-cn/quick_start/pricing
deepseek-chatbot/static/index.js
console.log(123);
window.onload = () => {
const chatContent = document.querySelector('.chat-content')
const userMessageIpt = document.querySelector('#user-message-ipt')
const sendBtn = document.querySelector('#send-btn')
sendBtn.onclick = () => {
const userMessage = userMessageIpt.value
// <div class="user-message">introduce yourself</div>
const userMessageDiv = document.createElement('div')
userMessageDiv.className = 'user-message'
userMessageDiv.textContent = userMessage
chatContent.append(userMessageDiv)
// <pre class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
// const robotMessagePre = document.createElement('pre')
// robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = "I'm a robot!"
// chatContent.append(robotMessagePre)
// 服务端接口:http://127.0.0.1/api/chat
// 请求方法:POST
// 请求体:{"user_message": "Hi"}
// 响应体:{"robot_message": "Hello"}
fetch('/api/chat', {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ "user_message": userMessage })
})
.then(response => response.json())
.then(data => {
const robotMessagePre = document.createElement('pre')
robotMessagePre.className = 'robot-message'
robotMessagePre.textContent = data['robot_message']
chatContent.append(robotMessagePre)
})
}
}
deepseek-chatbot/app.py
from flask import Flask, render_template, request
import requests
import json
app = Flask(__name__)
@app.route('/')
def home():
return render_template("index.html")
@app.route('/api/chat', methods=['POST'])
def api_chat():
user_message = request.json.get('user_message')
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
{
"content": user_message,
"role": "user"
}
],
"model": "deepseek-chat",
"n": 1
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-ca3371d655c3431397022c8cee313788'
}
response = requests.request("POST", url, headers=headers, data=payload)
robot_message = response.json()['choices'][0]['message']['content']
return {"robot_message": robot_message}
if __name__ == '__main__':
app.run(debug=True, port=80)
deepseek-chatbot/test.py
安装 requests 库 pip install requests
import requests
import json
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
{
"content": "Hi",
"role": "user"
}
],
"model": "deepseek-chat",
"n": 1
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-ca3371d655c3431397022c8cee313788'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.status_code)
print(response.text)
robot_message = response.json()['choices'][0]['message']['content']
print(robot_message)
四、学 DeepSeek 流式 API
Server-sent events 服务器发送事件
https://developer.mozilla.org/zh-CN/docs/Web/API/Server-sent_events/Using_server-sent_events
deepseek-chatbot/app.py
from flask import Flask, render_template, request, Response
import requests
import json
app = Flask(__name__)
@app.route('/')
def home():
return render_template("index.html")
@app.route('/api/chat', methods=['POST'])
def api_chat():
user_message = request.json.get('user_message')
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
# {
# "content": "You are a software developer",
# "role": "system"
# },
{
"content": user_message, # Hello! How can I assist you today?
"role": "user" # 你好!很高兴见到你。你今天想学些什么中文呢?
} # Hello! How can I assist you today? Are you working on a coding project, or do you have a question about software development? Let me know!
],
"model": "deepseek-chat",
"n": 1
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-492ec2acc35c4d20b6ab2c9490fcef0d'
}
response = requests.request("POST", url, headers=headers, data=payload)
robot_message = response.json()['choices'][0]['message']['content']
return {"robot_message": robot_message}
@app.route('/api/v2/chat')
def api_v2_chat():
import time
def robot_message():
for chunk in ["I'm ", "a ", "robot"]:
# yield chunk
# yield "data: " + chunk + "\n\n"
yield "data: " + json.dumps({'chunk': chunk}) + "\n\n"
time.sleep(1)
yield "data: [DONE]\n\n"
return Response(robot_message(), content_type="text/event-stream")
if __name__ == '__main__':
app.run(debug=True, port=80)
deepseek-chatbot/static/index.js
console.log(123);
window.onload = () => {
const chatContent = document.querySelector('.chat-content')
const userMessageIpt = document.querySelector('#user-message-ipt')
const sendBtn = document.querySelector('#send-btn')
sendBtn.onclick = () => {
const userMessage = userMessageIpt.value
userMessageIpt.value = ''
sendBtn.disabled = true
// <div class="user-message">introduce yourself</div>
const userMessageDiv = document.createElement('div')
userMessageDiv.className = 'user-message'
userMessageDiv.textContent = userMessage
chatContent.append(userMessageDiv)
// <pre class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
// const robotMessagePre = document.createElement('pre')
// robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = "I'm a robot!"
// chatContent.append(robotMessagePre)
// 服务端接口:http://127.0.0.1/api/chat
// 请求方法:POST
// 请求体:{"user_message": "Hi"}
// 响应体:{"robot_message": "Hello"}
// fetch('/api/chat', {
// method: "POST",
// headers: { "Content-Type": "application/json" },
// body: JSON.stringify({ "user_message": userMessage })
// })
// .then(response => response.json())
// .then(data => {
// const robotMessagePre = document.createElement('pre')
// robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = data['robot_message']
// chatContent.append(robotMessagePre)
// })
const robotMessagePre = document.createElement('pre')
robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = "I'm a robot!"
chatContent.append(robotMessagePre)
const eventSource = new EventSource('/api/v2/chat')
eventSource.onmessage = (event) => {
console.log(event.data);
if (event.data == '[DONE]') {
eventSource.close()
sendBtn.disabled = false
} else {
robotMessagePre.textContent += JSON.parse(event.data)['chunk']
}
}
}
}
五、让 DeepSeek Chatbot 像流水般说话
对话补全接口
https://api-docs.deepseek.com/zh-cn/api/create-chat-completion
deepseek-chatbot/static/index.js
console.log(123);
window.onload = () => {
const chatContent = document.querySelector('.chat-content')
const userMessageIpt = document.querySelector('#user-message-ipt')
const sendBtn = document.querySelector('#send-btn')
sendBtn.onclick = () => {
const userMessage = userMessageIpt.value
userMessageIpt.value = ''
sendBtn.disabled = true
// <div class="user-message">introduce yourself</div>
const userMessageDiv = document.createElement('div')
userMessageDiv.className = 'user-message'
userMessageDiv.textContent = userMessage
chatContent.append(userMessageDiv)
// <pre class="robot-message">Hello! I’m an AI language model created to assist with answering questions, providing information, brainstorming ideas, and helping with various tasks. I don’t have personal experiences or emotions, but I’m here to help you with whatever you need. Feel free to ask me anything—whether it’s about science, history, writing, or just casual conversation. How can I assist you today? </pre>
// const robotMessagePre = document.createElement('pre')
// robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = "I'm a robot!"
// chatContent.append(robotMessagePre)
// 服务端接口:http://127.0.0.1/api/chat
// 请求方法:POST
// 请求体:{"user_message": "Hi"}
// 响应体:{"robot_message": "Hello"}
// fetch('/api/chat', {
// method: "POST",
// headers: { "Content-Type": "application/json" },
// body: JSON.stringify({ "user_message": userMessage })
// })
// .then(response => response.json())
// .then(data => {
// const robotMessagePre = document.createElement('pre')
// robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = data['robot_message']
// chatContent.append(robotMessagePre)
// })
const robotMessagePre = document.createElement('pre')
robotMessagePre.className = 'robot-message'
// robotMessagePre.textContent = "I'm a robot!"
chatContent.append(robotMessagePre)
const eventSource = new EventSource('/api/v2/chat?user_message=' + encodeURIComponent(userMessage))
eventSource.onmessage = (event) => {
console.log(event.data);
if (event.data == '[DONE]') {
eventSource.close()
sendBtn.disabled = false
} else {
robotMessagePre.textContent += JSON.parse(event.data)['chunk']
chatContent.scrollTop = chatContent.scrollHeight
}
}
}
}
deepseek-chatbot/app.py
from flask import Flask, render_template, request, Response
import requests
import json
app = Flask(__name__)
@app.route('/')
def home():
return render_template("index.html")
@app.route('/api/chat', methods=['POST'])
def api_chat():
user_message = request.json.get('user_message')
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
# {
# "content": "You are a software developer",
# "role": "system"
# },
{
"content": user_message, # Hello! How can I assist you today?
"role": "user" # 你好!很高兴见到你。你今天想学些什么中文呢?
} # Hello! How can I assist you today? Are you working on a coding project, or do you have a question about software development? Let me know!
],
"model": "deepseek-chat",
"n": 1
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-492ec2acc35c4d20b6ab2c9490fcef0d'
}
response = requests.request("POST", url, headers=headers, data=payload)
robot_message = response.json()['choices'][0]['message']['content']
return {"robot_message": robot_message}
@app.route('/api/v2/chat')
def api_v2_chat():
user_message = request.args.get('user_message')
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
{
"content": user_message,
"role": "user"
}
],
"model": "deepseek-chat",
"n": 1,
"stream": True
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-492ec2acc35c4d20b6ab2c9490fcef0d'
}
response = requests.request("POST", url, headers=headers, data=payload, stream=True)
# import time
def robot_message():
for line in response.iter_lines():
if not line:
continue
if line == b'data: [DONE]':
print("DONE")
yield "data: [DONE]\n\n"
else:
chunk = json.loads(line[6:])['choices'][0]['delta']['content']
if not chunk:
continue
print(chunk)
yield "data: " + json.dumps({'chunk': chunk}) + "\n\n"
# for chunk in ["I'm ", "a ", "robot"]:
# # yield chunk
# # yield "data: " + chunk + "\n\n"
# yield "data: " + json.dumps({'chunk': chunk}) + "\n\n"
# time.sleep(1)
# yield "data: [DONE]\n\n"
return Response(robot_message(), content_type="text/event-stream")
if __name__ == '__main__':
app.run(debug=True, port=80)
deepseek-chatbot/test.py
import requests
import json
url = "https://api.deepseek.com/chat/completions"
payload = json.dumps({
"messages": [
# {
# "content": "You are a software developer",
# "role": "system"
# },
{
"content": "Hi", # Hello! How can I assist you today?
"role": "user" # 你好!很高兴见到你。你今天想学些什么中文呢?
} # Hello! How can I assist you today? Are you working on a coding project, or do you have a question about software development? Let me know!
],
"model": "deepseek-chat",
"n": 1,
"stream": True
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer sk-492ec2acc35c4d20b6ab2c9490fcef0d'
}
response = requests.request("POST", url, headers=headers, data=payload, stream=True)
print(response.status_code)
print(response.headers['Content-Type'])
# print(response.text)
# robot_message = response.json()['choices'][0]['message']['content']
for line in response.iter_lines():
# print(line)
if not line:
continue
if line == b'data: [DONE]':
print("DONE")
else:
chunk = json.loads(line[6:])['choices'][0]['delta']['content']
if not chunk:
continue
print(chunk)
"""
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" How"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" I"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" assist"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" you"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" today"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":"?"},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
data: {"id":"2da1725d-8eec-4612-a8da-e76cd896052b","object":"chat.completion.chunk","created":1742954476,"model":"deepseek-chat","system_fingerprint":"fp_3d5141a69a_prod0225","choices":[{"index":0,"delta":{"content":""},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":4,"completion_tokens":11,"total_tokens":15,"prompt_tokens_details":{"cached_tokens":0},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":4}}
data: [DONE]
"""
deepseek-chatbot/test.json
{
"id": "2da1725d-8eec-4612-a8da-e76cd896052b",
"object": "chat.completion.chunk",
"created": 1742954476,
"model": "deepseek-chat",
"system_fingerprint": "fp_3d5141a69a_prod0225",
"choices": [
{
"index": 0,
"delta": {
"content": "Hello"
},
"logprobs": null,
"finish_reason": null
}
]
}
DeepSeek 聊天机器人项目的更多相关文章
- 软工实践团队项目-"智能聊天机器人"简介
"智能聊天机器人"项目 目前已确定的团队人员:张扬.俊彦.韫月.地秀.泽波.李翔.文婧.俞明.加伟(排名不分先后) 队伍已满,没有再招人的打算(#^.^#) 我们的想法 你有用过智 ...
- 聊天机器人框架Rasa资源整理
Rasa是一个主流的构建对话机器人的开源框架,它的优点是几乎覆盖了对话系统的所有功能,并且每个模块都有很好的可扩展性.参考文献收集了一些Rasa相关的开源项目和优质文章. 一.Rasa介绍 1.R ...
- TensorFlow 聊天机器人开源项目评测第一期:DeepQA
聊天机器人开源项目评测第一期:DeepQA https://github.com/Conchylicultor/DeepQA 用 i5 的笔记本早上运行到下午,跑了 3 轮的结果,最后效果并不理想.官 ...
- 开源项目——小Q聊天机器人V1.3
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 开源项目——小Q聊天机器人V1.2
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 开源项目——小Q聊天机器人V1.1
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 开源项目——小Q聊天机器人V1.0
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 开源项目——小Q聊天机器人V1.5
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 开源项目——小Q聊天机器人V1.4
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- 深度学习项目——基于循环神经网络(RNN)的智能聊天机器人系统
基于循环神经网络(RNN)的智能聊天机器人系统 本设计研究智能聊天机器人技术,基于循环神经网络构建了一套智能聊天机器人系统,系统将由以下几个部分构成:制作问答聊天数据集.RNN神经网络搭建.seq2s ...
随机推荐
- Linux开发帮助参考
在开发Linux系统下面软件时常常需要查阅手册,但是如果你的开发平台不是Linux系统,那你无法丝滑使用man手册,这里推荐一些方便的Linux开发手册. 手册: 在线man手册:Linux Man ...
- 深入理解 Future, CompletableFuture, ListenableFuture,回调机制
深入理解 Future, CompletableFuture, ListenableFuture,回调机制 本文禁止转载. 本文从设计思想.具体实现等角度分析了 Future.CompletableF ...
- 性能测试-Oceanus 测试FLink mysql到Iceberg性能
一.任务依赖信息 1.mysql测试库信息 地址:127.0.0.1.gomysql_bdg_test 库:bdg_test 表:order_info1 2.iceberg库 hive地址:thrif ...
- 五分钟搞定!Linux平台上用Ansible自动化部署SQL Server AlwaysOn集群
五分钟搞定!Linux平台上用Ansible自动化部署SQL Server AlwaysOn集群 前言 以下内容是由红帽官方博客整理而成,使用Ansible在Linux平台上自动化部署SQL Serv ...
- 理解 SystemVerilog 中的循环与并发线程
1. 首先理解 scope 的概念 除了常见的module.interface.class.task以及function等等,另外,begin-end block 和 fork-join block ...
- DeepSeek智能编程
技术背景 DeepSeek开源之后,让大家意识到了即时是在自己硬件性能一般的本地环境,也能够部署和使用大语言模型,真正实现了大模型的"私有化".而私有化大模型之后,自然是考虑生产力 ...
- IGM机器人K5齿轮箱维修故障详情介绍
在长期.高强度的工作中,IGM机器人K5齿轮箱难免会出现故障,需要联系子锐机器人维修进行及时的维修和保养. 一.齿轮磨损 齿轮磨损是IGM机器人K5齿轮箱最常见的故障之一.长时间.高速运转以及负载的频 ...
- QT5笔记:3.手动撸界面和可视化托界面混合
3.手动撸界面和可视化托界面混合 参考视频:https://www.bilibili.com/video/BV1AX4y1w7Nt 3.1 工具栏可以通过在UI界面右键选择添加工具栏 3.2 设置窗口 ...
- Spring Boot 3.0深度实战:从核心特性到生产级调优
一.Spring Boot 3.0核心特性解读 1.1 JDK 17 LTS支持(实测性能提升) 记录类(Record)与Spring Data JPA完美适配 模式匹配简化类型判断 密封类(Seal ...
- 百万架构师第四十五课:并发编程的基础|JavaGuide
课程目标 1. 多线程的发展历史 2. 线程的应用 3. 并发编程的基础 4. 线程安全的问题 特定的指令,计算机不会存储指令,把指令写下来,一次性读取指令,批处理. 然后我们需要把批处理进行隔离.保 ...