Z-D小栈

  • Arm
    • FNOS
    • Armbian
  • 软件编程
    • Python
Z-D小栈
一个专注于垃圾佬的技术博客
  1. 首页
  2. 软件编程
  3. Python
  4. 正文

阿里云活动百炼大模型平台活动赠送百万tokens

2026年2月14日 24点热度 0人点赞 0条评论
百炼大模型平台活动赠送百万tokens

169个模型每个模型100w tokens 大家可以都来体验一下

1.获取API Key

在模型服务密钥管理中获取api key

2.配置API Key到环境变量

2.1在PowerShell中运行以下命令

# 用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY
[Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "YOUR_DASHSCOPE_API_KEY", [EnvironmentVariableTarget]::User)

3.调用api使用

本人用python生产了一个简单的程序可以调用api,有一个简单的对话窗口。

程序如下

import os
import threading
import tkinter as tk
from tkinter import scrolledtext, font
from dashscope import Generation

# ---------- 对话管理类 ----------
class ChatSession:
def __init__(self):
self.messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'}
]

def add_user_message(self, text):
self.messages.append({'role': 'user', 'content': text})

def add_assistant_message(self, text):
self.messages.append({'role': 'assistant', 'content': text})

def call_api(self, user_input):
self.add_user_message(user_input)
try:
response = Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"), # 或直接填写 "sk-xxx"
model="qwen1.5-7b-chat", # 可按需更换模型
messages=self.messages,
result_format="message"
)
if response.status_code == 200:
reply = response.output.choices[0].message.content
self.add_assistant_message(reply)
return reply
else:
error_msg = f"错误 {response.status_code}: {response.message}"
self.messages.pop() # 移除刚添加的用户消息
return error_msg
except Exception as e:
self.messages.pop()
return f"请求异常: {str(e)}"

# ---------- GUI 界面 ----------
class ChatGUI:
def __init__(self):
self.window = tk.Tk()
self.window.title("千问聊天机器人")
self.window.geometry("600x700")
self.window.resizable(False, False)

# 设置字体
chat_font = font.Font(family="微软雅黑", size=11)
input_font = font.Font(family="微软雅黑", size=11)

# 消息显示区域(带滚动条)
self.chat_area = scrolledtext.ScrolledText(
self.window, wrap=tk.WORD, font=chat_font,
state='disabled', height=25, padx=10, pady=10
)
self.chat_area.pack(padx=15, pady=15, fill=tk.BOTH, expand=True)

# 底部输入框架
frame_input = tk.Frame(self.window)
frame_input.pack(padx=15, pady=(0,15), fill=tk.X)

self.input_entry = tk.Entry(frame_input, font=input_font)
self.input_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, ipady=5)
self.input_entry.bind("<Return>", lambda e: self.send_message())

self.send_btn = tk.Button(
frame_input, text="发送", command=self.send_message,
width=10, height=1, font=font.Font(size=10)
)
self.send_btn.pack(side=tk.RIGHT, padx=(10,0))

# 初始化对话历史
self.session = ChatSession()

# 显示欢迎信息
self._display_message("系统", "你好!我是千问助手,有什么可以帮你的?")

self.window.mainloop()

# 在聊天区显示一条消息
def _display_message(self, sender, content):
self.chat_area.config(state='normal')
self.chat_area.insert(tk.END, f"{sender}: {content}\n\n")
self.chat_area.see(tk.END) # 自动滚动到底部
self.chat_area.config(state='disabled')

# 发送消息
def send_message(self):
user_input = self.input_entry.get().strip()
if not user_input:
return
# 清空输入框
self.input_entry.delete(0, tk.END)

# 显示用户消息
self._display_message("你", user_input)

# 禁用发送按钮,防止重复点击
self.send_btn.config(state='disabled')
self.input_entry.config(state='disabled')

# 在新线程中调用 API,避免界面卡死
def api_call():
reply = self.session.call_api(user_input)
# 回到主线程更新 UI
self.window.after(0, self._display_message, "AI", reply)
self.window.after(0, self._enable_input)

threading.Thread(target=api_call, daemon=True).start()

# 恢复输入状态
def _enable_input(self):
self.send_btn.config(state='normal')
self.input_entry.config(state='normal')
self.input_entry.focus()

if __name__ == "__main__":
ChatGUI()

标签: 暂无
最后更新:2026年2月14日

olddream

这个人很懒,什么都没留下

点赞

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2026 Z-D小栈. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang