OpenAI库的基本使用

1.获取客户端对象

复制代码
from = openai ipmort OpenAI

client:OpenAI=OpenAI(
    api_key="your_api_key_here",
    base_url=" "

主要是用以上两个参数:

  • api_key:模型服务商提供的APIKEY密钥
  • base_url:模型服务商的API接入地址,主要基于此参数来切换不同的模型服务商

2.调用模型

复制代码
from openai.types.chat.chat_completion import ChatCompletion

response:ChatCompletion = client.chat.completion.create(
    modle = "quwen3-max",
    messages = [
        {"role":"system","content":"你是一个Python编程专家。"},
        {"role":"system","content":"我是一个Python编程专家,请问有什么可以帮助你的吗?"},
        {"role":"user","content":"for循环输出1到10的数字"}
    ]
)

client.chat.completion.create创建ChatCompletion对象

主要参数有两个:

  • modle:选择所用模型
  • message:提供给模型的消息,类型:list,可以包含多个字典消息(可迭代对象,iterable)。每个字典消息包含两个key,role:角色,content:内容。
  • system角色:设定助手的整体行为,角色和规则,为对话提供上下文,框架是全局的背景设定,影响后续所有交互。
  • assistant角色:代表AI助手的回答
  • user角色:代表用户发送问题,指令或需求。

3.处理结果

response变量就是ChatCompletion对象,其包含信息如下:

复制代码
{
    "id":"chatcmpl-xxxx",
    "object":"chat.completion",
    "created":1735689600,
    "modele":"gpt-3.5-turbo-0125",
    "choice":[
        {
            "index":0,
            "message":{
                "role":"assistant",
                "content":"生成的回复内容"
            },
            "finish_reason":"stop" #stop=正常结束,length=令牌数超限,function_call=触发函数调用
        }
    ],
    "usage";{#令牌消耗统计
        "prompt_tokens":50,
        "completion_tokens":80,
        "total_tokens":130
     }
}

可以通过

复制代码
print(response.choice[0].message.content)

输出模型给出的回答新信息

4.OpenAI库的流式输出

可以设定结果输出为stream模式(流式输出),获得更好的使用体验

开启流式输出的主要就两步:

  • 在client.chat.completions.create()调用模型的时候设定参数:stream=True

  • for循环response对象,并在循环输出内容

    for chunk in response:
    if chunk.choices and len(chunk.choices)>0:
    content = chunk.choices[0].delta.content
    if content:
    print(content, end="", flush=True)

补充:Json格式

Json是带有格式的字符串,主要用于数据交换,即程序和程序之间的信息交互。

Json主要有两种结构:

Json对象:

复制代码
    {
        "key":value,
        "key":value
    }
  • key:必须是字符串
  • value:可以是数字,字符串,列表,Josn数组或Json对象

Json数组:

复制代码
[{},{},{},...]

即一堆Json对象的组合体

Python中使用Json

Json在Python中,就是字典和列表套字典的字符串表现形式。

Python中使用Json主要完成:

  • 将Python字典,列表转换成Json字符串
  • 读取Json字符串,转换为Python字典或列表

主要使用Python内置的Json库:

  • json.dumps(字典或列表,ensure_ascii=False):将字典或列表转换为Json字符串,返回值:Json字符串。
  • json.loads(json字符串):将字符串转换Python字典或列表,返回值:Python字典或Python列表。
相关推荐
Fanta丶40 分钟前
10.Python class类的定义和魔术方法
python
小玮看世界2 小时前
[Python]从“脏”数据到优雅实现:一个IoT滑动窗口最大值问题的测试驱动优化实录
linux·前端·python
MC皮蛋侠客3 小时前
SQLAlchemy 系列(十一):从 1.x 到 2.x——渐进迁移与数据访问层治理
数据库·python
魔镜前的帅比3 小时前
(开源项目)x-claw (设计)
python·ai·rust·开源
谢尔登4 小时前
分享一些我常用的Skill
java·人工智能·python·actionscript
k4m7v2pz4 小时前
macOS 解压 40GB 分卷+中文密码固件镜像的五个深坑与解决方案
python·7-zip·aes加密·踩坑记录·r36s·多卷zip解压
小白学大数据4 小时前
Python 爬虫实战:抓取汽车之家二手车成交价格与里程数据
开发语言·爬虫·python·汽车
Jazz_z5 小时前
如何用Python将彩色PDF一键转为黑白(灰度)
java·python·pdf
SEO_juper5 小时前
2026年Schema自动注入实战:用Python批量给1000个页面加上JSON-LD,AI引用率实测提升38%
人工智能·python·json·seo·独立站
zzzll11116 小时前
HashMap、HashTable、ConcurrentHashMap 详细区别与深度解析
开发语言·python