(七)自然语言处理笔记——Ai医生

(七)自然语言处理笔记------Ai医生

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 复制代码
打开配置文件:
相关推荐
澄旭3 小时前
拆解一个成熟 Skill,看懂 Skill 到底该怎么写
人工智能
王木风3 小时前
拆解一个 LLM 工程化项目:16 个 Service + Agent 对话循环怎么协同跑流水线
人工智能·agent
沪漂阿龙3 小时前
《LangChain 系列》Human-in-the-loop:什么时候必须让人工介入?
人工智能·架构·langchain
冬哥聊AI3 小时前
Loop Engineering 来了:从写 Prompt 到设计 Loop,AI 编程的第四次范式跃迁
人工智能
柒星栈3 小时前
Codex 不只是更强的代码助手,它开始像代理一样推进开发任务了
人工智能
o_insist3 小时前
04-从零手写 ReAct 循环:Agent 的心跳是怎么转起来的
人工智能·agent
DayByDay3 小时前
从“单专家”到“多专家辩论”:多大脑对话实现复盘
人工智能
狗哥哥3 小时前
知乎回答二次创作转AI 漫画/视频思路分享
人工智能
极速蜗牛4 小时前
我在 Taro 小程序项目里实践的 API First + AI 编程方式
前端·人工智能·后端
桜吹雪4 小时前
所有智能体架构(3):Planning(计划任务)
javascript·人工智能·langchain