(七)自然语言处理笔记------Ai医生
- 1、项目准备阶段
-
- 1、大模型测试
- [2、Flask web服务框架](#2、Flask web服务框架)
- 3、Gunicorn服务组件
- 4、Redis数据库

1、项目准备阶段
百度Unit
python
https://ai.baidu.com/unit/v2#/myrobot
1、大模型测试
由于我在开发阶段,发现百度Unit模块更新太快致使我找不到,所以,选用本地服务器上部署的Deepseek-R1-0528-8b大模型进行代替
大模型测试访问脚本如下:

python
from openai import OpenAI
# API_key: gpustack_a2703848bdbae2e2_7df170c373f923352ad728a05db8a87f
client = OpenAI(
base_url="http://192.168.42.244:8080/v1-openai",
api_key="gpustack_a2703848bdbae2e2_7df170c373f923352ad728a05db8a87f"
)
response = client.chat.completions.create(
temperature=1,
top_p=1,
max_tokens=1024,
model="DeepSeek_R1_0528_Qwen3_8B",
messages=[
{"role": "user", "content": "做一个自我介绍吧"},
],
)
print(response.choices[0].message.content)

访问大模型进行多轮对话的脚本:

python
from openai import OpenAI
client = OpenAI(
base_url="http://192.168.42.244:8080/v1-openai",
api_key="gpustack_a2703848bdbae2e2_7df170c373f923352ad728a05db8a87f"
)
# 用来存储完整上下文
messages = [
{"role": "system", "content": "你是一个友善的助手。"}
]
def chat(user_input):
# 添加用户消息
messages.append({"role": "user", "content": user_input})
# 调用模型
response = client.chat.completions.create(
temperature=1,
top_p=1,
max_tokens=1024,
model="DeepSeek_R1_0528_Qwen3_8B",
messages=messages,
)
# 获取模型回复
reply = response.choices[0].message.content
# 把模型回复加入上下文
messages.append({"role": "assistant", "content": reply})
return reply
# 示例
# print(chat("做一个自我介绍吧"))
# print(chat("介绍一下你的能力"))
# print(chat("能告诉我刚刚你说了什么重点吗?"))
if __name__=="__main__":
while True:
chat_input=input("请输入要咨询的问题:\n")
if chat_input=="Q" or chat_input=="q":
break
print(chat_input)
reply=chat(chat_input)
print(reply,'\n----------------------------------')
2、Flask web服务框架

python
# 使用pip安装Flask
pip install flask --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
基本使用方法:
python
# 导入Flask类
from flask import Flask
# 创建一个该类的实例app, 参数为__name__, 这个参数是必需的,
# 这样Flask才能知道在哪里可找到模板和静态文件等东西。
app = Flask(__name__)
# 使用route()装饰器来告诉Flask触发函数的URL
@app.route('/')
def hello_world():
"""请求指定的url后,执行的主要逻辑函数"""
# 在用户浏览器中显示信息:'Hello, World!'
return 'Hello, World!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080)
3、Gunicorn服务组件

安装:
python
# 使用pip安装gunicorn
pip install gunicorn --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
基本使用方法:
python
# 使用其启动Flask服务:
gunicorn -w 1 -b 0.0.0.0:5000 flask_test:app
# -w 代表开启的进程数,我们只开启一个进程
# -b 服务的IP地址和端口
# flask_test:app 是指执行的主要对象位置,在flask_test.py中的app对象
# 如果使其在后台运行可使用:
# nohup gunicorn -w 1 -b 0.0.0.0:5000 flask_test:app 2>&1 &
4、Redis数据库

拉取镜像:
python
docker run -d \
--name redis \
-p 6379:6379 \
redis:latest
进入容器并测试:
python
docker exec -it redis redis-cli ping

Redis 配置:
进入容器,修改配置文件
python
打开配置文件: