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列表。
相关推荐
荷蒲30 分钟前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
数据狐(Datafox)2 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机2 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6923 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy4 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽4 小时前
真实即粗糙,光滑是伪造
人工智能·python
一次旅行4 小时前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python
泡干脆面就番茄4 小时前
NumPy 科学计算完全指南:从数组创建到广播机制
python·numpy
denggun123454 小时前
信号量(DispatchSemaphore vs AsyncSemaphore)、swift协作式线程池 and python信号量
开发语言·python·swift
起光5 小时前
Python类与对象(一)
python