【从零开始学习Agent开发】 | openai的基本使用(通过pycharm使用大模型)
封面,八岐大蛇(不是)

目录
前言:
在本文中我们将快速开启openai库的上手使用,因此您将会在几十分钟内快速上手openai而不是几天,同时文本内容并不会对openai进行深入学习,而是单纯的让你快速入门学会必要的知识。
在此之前您至少需要学会python基础语法。
前置准备工作
01.下载open:
打开pycharm,打开左下角Terminal,输入下方代码进行下载。
pip install openai
02.登入阿里云百炼平台:
我们需要大模型方便我们进行操作,后续也会教您如何本地部署大模型,但受限于GPU性能不足,本地大模型容易出错。因此我们使用阿里云的云端大模型,登入会送免费额度,这方面不用担心。(url:https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.58097b083cYLCs&tab=demohouse#/experience/llm)
获取api-key
为了保证本地能够连接到云端服务器我们需要api-key作为‘身份证’。
点击左下角密钥管理,再在右上角点击创建API-key,直接确定,这样就创建好了你的专属密钥。

将api-key配置到环境中(可选)
为了保证安全性,我们会将api-key配置到环境变量中来避免在pycharm中书写导致的泄露。
按windows键,搜索“查看高级系统设置”进入系统属性面板,点击右下角环境变量中

在ASUS环境变量中分别新建变量 "DASHSCOPE_API_KEY" 和 "OPENAI_API_KEY" ,对应的值都是你在上一步中所创建的API-key,复制过来即可。
openai的使用
前置准备已经完成,接下来将正式开始openai的使用。
openai的使用我们分为三步
1 获取OpenAI类对象
2 调用模型
3 处理大模型输出的信息
1 获取OpenAI类对象 / 初始化客户端
我们需要创建一个OpenAI的类对象,api-key这里就不做重复解释,base_url用于接入阿里云的云端服务器以保证大模型正常使用。(你可以直接复制下面这段代码,或者手动敲一遍提升熟练度。)
from openai import OpenAI
# 1 获取client对象, openai类对象
client = OpenAI(
api_key="替换为你的api——key", # 若已经将api-key配置到系统变量中则可删除这一行
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
2 调用模型 / 发起对话
client.chat.completions.create(),请将这段代码记为固定搭配,我们目前并不需要深究其中的含义,您只要知道这是在创建一个调用大模型对话的框架即可。
# 2 调用模型
response = client.chat.completions.create(
model="qwen3.5-flash",
messages=[
{"role": "system", "content": "你是一个面冷但心热的老师,话不多"},
{"role": "user", "content": "老师好"},
{"role": "assistant", "content": "嗯,进来,坐。手怎么这么凉?"},
{"role": "user", "content": "老师好!"}
]
)
messages 参数介绍
model:选择模型,将你选择的模型名称写在这即可
messages:这是与大模型交互的核心参数,您需要传入一个列表,,列表中包含多个字典,字典中包含两个键值对 {"role" : "####", "content": "####"},role对应的是指这段内容对应的角色,content对应的是你要输入的内容。
role有三个对应的值 "system"、"user"、"assistant", 代表着不同的作用
1. role 为 system,content 对应要写入的是你给大模型的设定,即 Prompt / 提示词,最常见的是代码中演示的让大模型扮演角色
2. role 为 user,代表身份为用户,content 的内容是用户输入给大模型的话,例如示例中最后的一句“老师好!”就是我们发送给大模型的话
3. role 为 assistant ,是模型的历史对话回复,few-shot提示词工程中该段对话用于教给大模型回复的演示,用于补充说明 system 中不好说明的部分,是 Prompt 的一部分。例如原文中第2、3个集合的一问一答,就是我给大模型写的示例,告诉它我希望它扮演的角色是怎样的。当然,本文聚焦于openai的基本使用,这段有关prompt工程的部分后续也会出文章进行讲解。
3 处理大模型返回结果
大模型在处理完我们放在 messages 中的文本之后会将对话内容返回到前面定义的变量response 中,.choices[0] 是因为大模型是概率模型,会返回多个结果,我们从中选择最准确的回复(索引值为0)中的信息文本作为输出结果。
print(response.choices[0].message.content)
4 运行成功
若上述步骤正确执行你就会得到大模型给您的回复结果了。

进阶使用
流式输出文本并查看思考过程
您或许注意到了,我们的模型输出是一次性全部输出,且并没有显示思考过程,那么我们想要让它像chat-gpt一样一个个字输出并且查看它的思考过程怎么办?接下来我将会教给您。
stream 流式输出
如果想要让模型一个个字输出,我们首先需要将模型中的参数 stream 更改为True,这将会使模型变为边生成,边发送的模式。
response = client.chat.completions.create(
model="qwen3.5-flash",
messages=[
{"role": "system", "content": "你是一个面冷但心热的老师,话不多"},
{"role": "user", "content": "老师好"},
{"role": "assistant", "content": "嗯,进来,坐。手怎么这么凉?"},
{"role": "user", "content": "老师好!"}
],
stream=True
)
需要注意的是,在stream模式下,大模型生成的片段只包含一小段内容(称为delta)因此会产生空片段,在循环输出时需要先判断内容是否为空。记得将end改为''避免发一个片段换一行的情况,同时将flush改为True刷新缓存区。此时再运行就能看到一个个字的输出了。
# 3 处理结果
for chunk in response:
text = chunk.choices[0].delta
if text:
print(text.content, end='', flush=True)
查看思考过程
同样,我们需要在模型中加入新的参数 【extra_body={"enable_thinking": True}】将思考内容提取出来。
此时我们还需要对思考内容进行判断,判断模型是否生成了思考过程亦或者思考是否结束,这里额外使用一个函数 hasattr 来判断 text 的 reasonin_content 对象是否存在。
运行,您将会得到与之前不同的结果。
response = client.chat.completions.create(
model="qwen3.5-flash",
messages=[
{"role": "system", "content": "你是一个面冷但心热的老师,话不多"},
{"role": "user", "content": "老师好"},
{"role": "assistant", "content": "嗯,进来,坐。手怎么这么凉?"},
{"role": "user", "content": "老师好!"}
],
extra_body={"enable_thinking": True},
stream=True
)
# 3 处理结果
for chunk in response:
text = chunk.choices[0].delta
if hasattr(text, "reasoning_content"):
print(text.reasoning_content, end='', flush=True)
else:
print(text.content, end='', flush=True)
思考内容演示:

总结
在本文中,我们完成了从零到一的跨越:您不仅学会了如何安装配置 openai 库、获取并安全存储 API Key,还掌握了与大模型对话的核心三板斧——初始化客户端、构建消息体、解析返回结果。更进一步,您已经能够驾驭流式输出让文字逐字浮现,并通过 reasoning_content 查看模型的思考轨迹,这正是从"能用"迈向"好用"的关键一步。
当然,这仅是冰山一角。当您熟练掌握这些基础操作后,真正的精彩才刚开始:您可以接着去了解 temperature、max_tokens 等参数的使用,作为入门文章,本篇将不再介绍。
结尾
现在,请打开您的编辑器,把刚才的代码亲手敲一遍。 编程从来不是看会的,而是实践会的,祝您学习愉快!
今天的内容到这里就结束了,感谢大家的阅读。
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)