当前位置:首页>java>2602-实验1-核心代码-滴水石穿之经验分享

2602-实验1-核心代码-滴水石穿之经验分享

  • 2026-10-21 13:29:19
2602-实验1-核心代码-滴水石穿之经验分享

每天分享一个AI大模型趣味程序解读。

你有没有过这样的经历——明明只是三四行 Python 代码,复制、粘贴、运行,结果不是报错,就是一脸懵:“它到底在干嘛?”“completion 是什么?”“choices[0] 又是谁?”

今天,我就带你用讲故事的方式,把一段调用大模型的代码彻底拆开、嚼碎、讲明白。


一、这段代码,本质上在做什么?

先给你一个一句话结论:这段代码的目标只有一个——向阿里的通义千问大模型提问,并把模型回答打印出来。

但真正的价值,在于它背后那一整套**“大模型对话机制”**。

我们一步一步来,滴水石穿。


二、completion 是谁?它其实是“一次完整的对话结果包”

completion = client.chat.completions.create(...)

这行代码,你可以把它理解成一句人话:

“我向大模型发起了一次正式对话,请你把完整的回应打包给我。”

所以 completion 不是答案本身,它是一个结构化对象,里面包含了很多信息,比如:

  • 模型有没有成功回答

  • 一共生成了几条候选回复

  • 每条回复的角色、内容、元数据

就像你点了一份外卖,completion 是整个外卖袋子,而不是那一口饭。


三、messages:这是你和大模型的“聊天记录本”

messages = [    {'role': 'system', 'content': '你是阿里公司的高级AI工程师...'},    {'role': 'user', 'content': '请介绍一下...'}]

这里是新手最容易忽略、但最重要的地方之一。

我用一个比喻你立刻懂:

  • messages 是一个列表(list)

  • 列表里的每一项,都是一次“说话”

  • 每一次说话,必须有两个字段:

    • role:谁在说

    • content:说了什么

三种常见 role:

  1. system:定规则、定人设👉 相当于“你现在是专家,请认真回答”

  2. user:真正的问题

  3. assistant:模型自己的历史回答(进阶玩法)

所以这不是“参数”,这是一段被结构化的大模型对话历史。


四、choices[0]:为什么要加 [0]?

completion.choices[0].message.content

这一行,是95% 初学者第一次看就头大的地方。

我们继续讲人话。

  • choices 是一个 列表

  • 因为:大模型一次可以生成多个候选答案

  • [0] 的意思是:👉 “我要第一个答案”

所以整句话拆开是:

  1. completion:这次对话的结果包

  2. .choices:模型给出的多个回答

  3. [0]:第一个回答

  4. .message:这一条回答本身

  5. .content:回答的文字内容

你真正想要的,其实只有最后这一步。


五、小白手敲代码,最容易踩的 3 个大坑

这里我必须说重点,这是血泪经验总结。

第一坑:中文冒号 vs 英文冒号

❌ 错误示例:

{'role':'user'}

✅ 正确写法:

{'role': 'user'}

记住一句话:代码世界里,只认英文符号。


第二坑:)、}、] 傻傻分不清

  • ():函数调用

  • {}:字典

  • []:列表

messages 是列表,里面是字典,外面包着函数。

一层错,层层报错。


第三坑:缩进和排版乱

Python 不认“差不多”,只认缩进。

多一个空格、少一个空格,程序都会毫不留情地拒绝你。


六、为什么我强烈建议你“看懂”,而不是“照抄”

因为今天你调用的是 Qwen-plus,明天可能是 Qwen3-Max、DeepSeek、GPT-4。

API 会变,模型会换,但这个对话结构是通用底层逻辑。

你一旦吃透这段代码,等于拿到了所有大模型 API 的通行证。


七、结尾:为什么你一定要学会这类代码?

因为未来不是“会不会写代码”的问题,而是:

你能不能把 AI,当成一个真正的生产力伙伴。

而这几行代码,就是你和大模型之间的第一座桥。


感谢大家聆听和观看,以下是关联代码:

completion=client.chat.completions.create(

    model='qwen-plus',

    messages=[

        {'role': 'system','content': '你是阿里公司的高级AI工程师,使用严谨科学认真仔细的态度回答用户问题'}, # 系统提示词

        {'role': 'user','content': '请介绍一下阿里的Qwen3-max与Qwen-plus两个大模型在推理能力上的区别?'} # 用户提示词

    ]

)

result=completion.choices[0].message.content

print(result)    

最新文章

随机文章