我看好多不会用,随便弄个脚本给新手
1. 安装依赖
pip install openai gradio
2. 替换 API 密钥
在脚本中,找到以下代码行:
api_key="替换成你的api"
3.新建脚本文件
nano r1-web.py
复制粘贴下面脚本
import re
from openai import OpenAI
import gradio as gr
# 初始化 OpenAI 客户端,base_url 指向 Hugging Face Together 接口
client = OpenAI(
base_url="https://huggingface.co/api/inference-proxy/together",
api_key="替换成你的api"
)
# 全局对话上下文
conversation = [{"role": "system", "content": "You are a helpful assistant."}]
def process_message(user_message, chat_history):
global conversation
# 将用户消息加入上下文
conversation.append({"role": "user", "content": user_message})
# 调用接口,获取回复(同步调用)
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1",
messages=conversation,
max_tokens=500,
stream=False
)
response_text = response.choices[0].message.content
# 去除返回内容中的 <think> 标签
response_text = re.sub(r"</?think>", "", response_text)
conversation.append({"role": "assistant", "content": response_text})
# 更新对话历史用于页面展示,chat_history 格式为 [(用户, 回复), ...]
chat_history.append((user_message, response_text))
return "", chat_history
# 自定义CSS样式,使页面更现代化、居中美观
custom_css = """
body { background-color: #f0f2f5; }
.gradio-container { max-width: 800px; margin: 40px auto; background: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
h1 { text-align: center; }
.gradio-chatbot { font-size: 1.1em; }
.gradio-textbox { border-radius: 5px; }
.gr-button { border-radius: 5px; }
"""
with gr.Blocks(css=custom_css) as demo:
gr.Markdown("<h1>DeepSeek R1</h1>")
with gr.Row():
chatbot = gr.Chatbot(elem_id="chatbot", show_label=False)
with gr.Row():
with gr.Column(scale=9):
msg = gr.Textbox(placeholder="请输入消息...", show_label=False)
with gr.Column(scale=1):
send_btn = gr.Button("发送")
clear_btn = gr.Button("清空对话")
# 绑定事件:输入框按回车和点击发送按钮均触发回复函数
msg.submit(process_message, [msg, chatbot], [msg, chatbot])
send_btn.click(process_message, [msg, chatbot], [msg, chatbot])
# 清空对话按钮:同时清除页面显示和全局对话历史(这里只清空页面记录,若需全局清理,可自行添加逻辑)
clear_btn.click(lambda: ([], []), None, [chatbot, gr.State([])])
demo.launch(server_name="0.0.0.0", server_port=7860)
3. 运行脚本
在终端中运行脚本:
python r1-web.py