Python使用国产AI大模型DeepSeek-V3-使用OpenAI API实现逐行对话显示

查看 87|回复 12
作者:hongwenjun   
1. 访问 国产AI大模型 deepseek.com ,申请免费的 API 密钥
2. 使用下面源码,替换你申请的实际API 密钥,保存文件 deepseek_v3.py
[Python] 纯文本查看 复制代码# Please install OpenAI SDK first: `pip3 install openai`
# 初始化 OpenAI 客户端
from openai import OpenAI
text = input("请输入对话:\n")
print(" 正在AI对话... 请稍等.....")
# 请替换为你的 API 密钥
client = OpenAI(api_key="sk-a9123API 密钥4569", base_url="https://api.deepseek.com")
# 使用 stream=True 来逐行获取响应
response = client.chat.completions.create(
    model="deepseek-chat",   # 请确保模型名称正确
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": text},
    ],
    stream=True  # 启用流式响应
)
# 逐行显示响应内容
print("AI回复:")
for chunk in response:
    if chunk.choices[0].delta.content:  # 检查是否有内容
        print(chunk.choices[0].delta.content, end="", flush=True)  # 逐行显示
print()  # 换行
# 获取完整响应内容 (非流式响应)
response = client.chat.completions.create(
    model="deepseek-chat",  
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": text},
    ],
    stream=False
)
# 获取完整响应内容
full_response = response.model_dump_json()
print("---------------------完整响应内容:---------------------------")
print(full_response)
3. 安装 OpenAI API 库
pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple
4. 参考视频 使用命令 运行代码
python.exe .\deepseek_v3.py

密钥, 内容

hongwenjun
OP
  


HarckerG 发表于 2025-1-6 11:01
vscode里面不是有个cline,直接加载dsk的api就能用了啊



QQ图片20250106122046.png (235.01 KB, 下载次数: 0)
下载附件
2025-1-6 12:20 上传

不知道这么使用效果怎么样
hongwenjun
OP
  


zsb17173 发表于 2025-1-6 10:28
不能连续追问?问一次得重新运行一次?



123.png (28.45 KB, 下载次数: 0)
下载附件
2025-1-6 13:05 上传

官方文档:  https://api-docs.deepseek.com/zh-cn/guides/multi_round_chat
多轮对话 支持的代码
[Python] 纯文本查看 复制代码# 初始化 OpenAI 客户端
from openai import OpenAI
text = input("请输入对话:\n")
print(" 正在AI对话... 请稍等.....")
# 请替换为你的 API 密钥
client = OpenAI(api_key="sk-12345678", base_url="https://api.deepseek.com")
messages = [{"role": "user", "content": text}]
# 使用 stream=True 来逐行获取响应
response = client.chat.completions.create(
    model="deepseek-chat",   # 请确保模型名称正确
    messages=messages,
    stream=True  # 启用流式响应
)
# 逐行显示响应内容
print("AI回复:")
for chunk in response:
    if chunk.choices[0].delta.content:  # 检查是否有内容
        print(chunk.choices[0].delta.content, end="", flush=True)  # 逐行显示
print()  # 换行
while True:
    text = input("追加对话:\n")
    messages.append({"role": "user", "content": text})
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=messages,
        stream=True
    )
    # 逐行显示响应内容
    print("AI回复:")
    for chunk in response:
        if chunk.choices[0].delta.content:  # 检查是否有内容
            print(chunk.choices[0].delta.content, end="", flush=True)  # 逐行显示
    print()  # 换行


append.png (36.34 KB, 下载次数: 0)
下载附件
2025-1-6 13:06 上传

xfriend360   


Don4R 发表于 2025-1-6 09:10
虽然知道它开源,但是居然还有免费的API,省了自己找服务器和设备部署了。感谢楼主

免费30天
czz404   


iawyxkdn8 发表于 2025-1-6 09:06
国产的AI,真的,看起来什么都有,但是...............

deepseek水平算很不错了,完全对得起价格
Xw丶小威   

免费只能说是体验了。拿来部署到软件里,还是得购买一些。不然。
iawyxkdn8   

国产的AI,真的,看起来什么都有,但是...............
张向华   

真正的技术帖子谢谢分享
sktao   


iawyxkdn8 发表于 2025-1-6 09:06
国产的AI,真的,看起来什么都有,但是...............

但是什么,我想知道
Don4R   

虽然知道它开源,但是居然还有免费的API,省了自己找服务器和设备部署了。感谢楼主
您需要登录后才可以回帖 登录 | 立即注册

返回顶部