Python调用NVIDIA的Deepseek-r1接口

import os
import json
from openai import OpenAI
from openai import OpenAIError

client = OpenAI(
  base_url = "https://integrate.api.nvidia.com/v1",
  api_key = os.getenv("NVIDIA_API_KEY")
)
# 初始化对话历史
# 定义存储对话历史的 JSON 文件路径
HISTORY_FILE = "conversation_history.json"

# 检查历史文件是否存在,如果存在则读取
if os.path.exists(HISTORY_FILE):
    choice = input("发现历史对话,你想接着上次继续(输入 '继续'),还是重新开始(输入 '重新开始')?")
    if choice == "继续":
        with open(HISTORY_FILE, "r", encoding="utf-8") as f:
            messages = json.load(f)
    else:
        messages = []
else:
    messages = []


while True:
    # 获取用户输入
    user_input = input("请输入你的问题(输入 '退出' 结束对话):")
    if user_input == "退出":
        break

    # 将用户输入添加到对话历史
    messages.append({"role": "user", "content": user_input})

    try:
        # 发送请求并流式获取响应
        completion = client.chat.completions.create(
            model="deepseek-ai/deepseek-r1",
            messages=messages,
            temperature=0.6,
            top_p=0.7,
            max_tokens=4096,
            stream=True
        )

        # 存储模型回复内容
        assistant_response = ""
        print("模型回复:", end="")
        for chunk in completion:
            if chunk.choices[0].delta.content is not None:
                content = chunk.choices[0].delta.content
                print(content, end="", flush=True)
                assistant_response += content
        print("读取完毕\n")

        # 将模型回复添加到对话历史
        messages.append({"role": "assistant", "content": assistant_response})
        # 将更新后的对话历史写入 JSON 文件
        with open(HISTORY_FILE, "w", encoding="utf-8") as f:
            json.dump(messages, f, ensure_ascii=False, indent=4)
    except OpenAIError as e:
        print(f"OpenAI API error: {e}")
    except Exception as e:
        print(f"An unexpected error occurred: {e}")

你可能感兴趣的:(python,android,javascript)