通过阿里云百炼平台调用DeepSeek大模型

需求分析

这段代码的核心需求是通过阿里云百炼平台调用DeepSeek大模型,并实时展示其思考推理过程。具体需求包括:1)接入阿里云的模型服务API;2)支持流式输出以提高响应体验;3)可视化模型的内部思考链,让用户了解AI的推理路径;4)最终呈现格式规范的完整回答。这适用于需要透明化AI推理过程的教育、调试或演示场景。

架构设计

设计采用了客户端-服务器架构,并包含流式处理机制。客户端基于OpenAI SDK兼容模式构建,通过base_url重定向至阿里云API端点。关键设计包括:1)身份验证层 :通过环境变量管理API密钥;2)请求构造层 :在标准对话参数外通过extra_body启用思考过程;3)流式处理层 :实时解析响应数据块,区分思考内容与最终回复;4)展示控制层 :用状态变量is_answering管理输出阶段,添加视觉分隔符提升可读性。

代码实现

复制代码
from openai import OpenAI
import os
#阿里云百炼提供的DeepSeek大模型服务
client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你是谁"}]
completion = client.chat.completions.create(
    model="deepseek-v3.1",  # 您可以按需更换为其它深度思考模型
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True
)
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20)
for chunk in completion:
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)

代码执行结果

复制代码
C:\Users\xiayu\miniconda3\envs\langgraph\python.exe C:\Users\xiayu\PyCharmMiscProject\AI-Agent-Dev-Practices-Code\第3章代码\3.0-deepseek.py 

====================思考过程====================
唔,用户问了一个非常基础的自我介绍问题。这种问题通常出现在对话刚开始时,用户想确认对话对象的身份和功能。需要简洁清晰地说明自己的身份和能提供的帮助,同时保持友好亲切的语气。

可以用公司名称和产品定位来建立信任感,提到核心功能范围让用户快速了解能获得哪些帮助,最后用开放式的邀请结束回复鼓励用户继续互动。不需要过多细节,避免让新用户觉得信息过载。

想到了用emoji增加亲和力,但要注意保持专业感平衡。直接说明是DeepSeek-V3,这样熟悉AI领域的用户能立刻明白技术背景。
====================完整回复====================
我是DeepSeek-V3,一个由深度求索公司创造的智能助手!🤖💡我可以帮助你解答各种问题、提供建议、进行知识查询,甚至陪你聊天!无论是学习、工作还是日常生活中的疑问,尽管问我吧~✨有什么我可以帮你的吗?😊
Process finished with exit code 0

代码解析

代码分为初始化、请求构建和响应处理三部分。OpenAI客户端配置了阿里云特定的api_keybase_url。请求时指定deepseek-v3.1模型,开启enable_thinkingstream。核心循环逻辑为:遍历completion流,优先检查delta.reasoning_content并打印(标记为"思考过程");当检测到delta.content时,切换is_answering状态,打印"完整回复"标题后输出最终内容。这种设计确保了思考过程与最终回答的清晰分离和顺序展示。

相关推荐
m0_4665252911 小时前
东软添翼医疗大模型领跑 医疗AI进入“可信时代”
人工智能
美团技术团队11 小时前
美团 LongCat 开源 General 365:树立推理评测新标尺
人工智能
eastyuxiao11 小时前
能源电力领域的数字孪生应用场景有哪些
大数据·人工智能·智慧城市·能源·数字孪生
张二娃同学12 小时前
第08篇_RNN_LSTM_GRU序列模型
人工智能·python·rnn·深度学习·神经网络·gru·lstm
财经资讯数据_灵砚智能12 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月13日
大数据·人工智能·python·信息可视化·语言模型·自然语言处理
我的世界洛天依12 小时前
胡桃讲编程|公益开源模型「初音未来」R1 声库(RVCv2 第一代)开发日志:低配 1050Ti 也能训的经典国语声线
人工智能
qq_4112624212 小时前
四博AI睡眠眼罩方案:白噪音、音乐疗愈、AI情绪陪伴,把智能音箱做成贴身睡眠助手
人工智能·智能音箱
掘金安东尼12 小时前
AI 时代没必要太焦虑:当 Codex 已经打开即用,为啥还要折腾“小龙虾”?
人工智能
qq_4112624212 小时前
基于 ESP32-S3 的四博AI双目智能音箱方案:双目同显/异显、素材上传、触摸、G-sensor、舵机、Wi-Fi/4G/TWS音频扩展
人工智能·microsoft·智能音箱
RSTJ_162512 小时前
PYTHON+AI LLM DAY FOURTY-FIVE
人工智能