AI--OpenAI库

AI–OpenAI库

1.OpenAI库介绍

  OpenAI库是OpenAI官方退出的Python SDK ,核心作用就是让开发者能简单、高效的调用OpenAI的各类API,无需手动处理HTTP请求、身份验证等底层细节,由于发布比较早且容易使用,所以目前大部分的服务厂商都会兼容

2.OpenAI库的调用步骤

  该库的调用主要可以分为三个步骤

  • 获取客户端对象
1
2
3
4
5
6
7
8
9
10
import os
from openai import OpenAI

# 初始化OpenAI客户端
client: OpenAI = OpenAI(
#模型服务商提供的API密钥
api_key="sk-xxxx",
#模型服务商提供的API基础URL
base_url="https://api.openai-proxy.com/v1",
)
  • 调用模型
1
2
3
4
5
6
7
8
9
10
11
12
13
from openai.types.chat_completion import ChatCompletion

response: ChatCompletion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
# 系统消息,设置助手的行为和角色
{"role": "system", "content": "你是一个专业的助手"},
# 助手消息,初始化对话
{"role": "assistant", "content": "你好!有什么我可以帮助你的吗?"},
# 用户消息,发起对话
{"role": "user", "content": "你好"}
]
)
  • 处理结果
1
2
# 打印助手的回复
print(response.choices[0].message.content)

3.OpenAI库的流式输出

  在咱们设定结果输出时,可以将模式设定为steam模式(流式输出),从而优化客户体验,而在代码中开启流式输出主要分为两步

  • 添加steam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 调用模型
response = openai.ChatCompletion.create(
model="qwen-turbo", # 阿里云DashScope支持的模型
messages=[
# 系统消息,设置助手的行为和角色
{"role": "system", "content": "你是一个Python编程专家,并且善于交谈"},
# 助手消息,初始化对话
{"role": "assistant", "content": "好的,是我编程专家,并且善于交谈,有什么可以帮助你的"},
# 用户消息,发起对话
{"role": "user", "content": "输出1-10的数字,使用python代码"}
],
# 开启流式响应
stream=True
)
  • for循环response对象
1
2
3
4
5
6
7
8
9
# 打印助手的回复
for chunk in response:
if chunk.choices[0].delta.get("content"):
print(chunk.choices[0].delta["content"],
#每一段之间添加空格
end=" ",
# 立即刷新输出,避免缓冲区问题
flush=True,
)

4.OpenAI库的附带历史消息

  调用模型传入的参数是前面提到的messages,七要求是list对象,即表明群殴支持非常多的消息在内,我们可以基于此,将历史消息填入,让模型知晓对话的上下文,从而达到附带历史消息的效果。具体实现方法在大模型调用章节有示例代码,实现逻辑都差不多,这里就不进行额外的展示了。后续在学习LangChain库中,会学习到短期记忆和长期记忆的使用方法。


AI--OpenAI库
https://one-null-pointer.github.io/2026/01/06/AI --OpenAI库/
Author
liaoyue
Posted on
January 6, 2026
传送口