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列表。
相关推荐
ServBay13 小时前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户83562907805113 小时前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户83562907805113 小时前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python
荣码21 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
用户8356290780512 天前
Python 操作 PDF 附件:添加、查看与管理指南
后端·python
宇宙之一粟2 天前
乐企版式文件生成平台
java·后端·python
学测绘的小杨3 天前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz3103 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐3 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱3 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构