几行python代码,50万deepseek v3满血版的token到手了

举报
deli007 发表于 2025/02/24 10:37:06 2025/02/24
【摘要】 把火山提供的deepseek v3 api调用的openai示例代码贴到vs code,再用vs code自带的copilot代码助手功能,让其协助生成一个python对话界面,这样就可以直接在本机进行deepseek v3的问答了。直接在python运行后的程序界面里随便输入一个问题,咱们聊天总是以天气如何来开始的。回答的内容太长,对话框显示不完整,不用去找代码怎么改,直接给copilot...

把火山提供的deepseek v3 api调用的openai示例代码贴到vs code,再用vs code自带的copilot代码助手功能,让其协助生成一个python对话界面,这样就可以直接在本机进行deepseek v3的问答了。




直接在python运行后的程序界面里随便输入一个问题,咱们聊天总是以天气如何来开始的。回答的内容太长,对话框显示不完整,不用去找代码怎么改,直接给copilot提问即可优化。



我们在copilot里面输入要求,可以看到它自动找到了应该要修改的地方,用对比高亮加上了滚动条,运行后可以滚动看到所有的文本了。


为了方便使用,把这个python代码打包为exe,每次想问问题的时候,直接运行即可,再也不用为deepseek官网服务器忙而苦恼了。

import tkinter as tk
from tkinter import ttk
from openai import OpenAI
import threading

def get_completion(question):
    client = OpenAI(
        base_url="https://ark.cn-beijing.volces.com/api/v3/",
        api_key="xxx"
    )

    messages = [
        {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
        {"role": "user", "content": question},
    ]

    completion = client.chat.completions.create(
        model="deepseek-v3-241226",
        messages=messages,
        max_tokens=500,
    )

    return completion.choices[0].message.content

def display_result():
    question = question_entry.get()
    if not question:
        result_text.delete(1.0, tk.END)
        result_text.insert(tk.END, "请输入一个问题")
        return

    progress_bar.start()
    result_text.delete(1.0, tk.END)
    result_text.insert(tk.END, "处理中,请稍候...")

    def run():
        result = get_completion(question)
        result_text.delete(1.0, tk.END)
        result_text.insert(tk.END, result)
        progress_bar.stop()

    threading.Thread(target=run).start()

# 创建主窗口
root = tk.Tk()
root.title("AI Completion Result")
root.geometry("600x400")

# 创建一个输入框来输入问题
question_label = tk.Label(root, text="请输入您的问题:")
question_label.pack(pady=10)
question_entry = tk.Entry(root, width=50)
question_entry.pack(pady=10)

# 创建一个按钮来获取并显示结果
get_result_button = tk.Button(root, text="Get Completion", command=display_result)
get_result_button.pack(pady=20)

# 创建一个进度条来显示处理进度
progress_bar = ttk.Progressbar(root, mode='indeterminate')
progress_bar.pack(pady=10)

# 创建一个文本框来显示结果,并添加滚动条
result_frame = tk.Frame(root)
result_frame.pack(pady=20, fill=tk.BOTH, expand=True)

scrollbar = tk.Scrollbar(result_frame)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

result_text = tk.Text(result_frame, wrap=tk.WORD, yscrollcommand=scrollbar.set)
result_text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

scrollbar.config(command=result_text.yview)

# 运行主循环
root.mainloop()
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。