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列表。
相关推荐
深度学习lover1 小时前
<数据集>yolo 笔识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·笔识别
熊猫钓鱼>_>1 小时前
Q-Learning详解:从理论到实战的完整指南
人工智能·python·架构·大模型·llm·machine learning·q-learning
墨月白1 小时前
【Python】程序设计基本方法
开发语言·python
CLX05051 小时前
SQL排查JOIN查询中索引失效的常见情况_数据类型隐式转换
jvm·数据库·python
langzaibeijing2 小时前
性价比高的AI应用厂家
大数据·人工智能·python
Gerardisite2 小时前
企业微信 API 能做什么?
人工智能·python·自动化·企业微信
测试员周周2 小时前
【Appium 系列】第09节-数据驱动测试 — YAML 数据 + parametrize
服务器·数据库·人工智能·python·测试工具·语言模型·appium
不能隔夜的咖喱2 小时前
黑马ai大模型笔记(自用,比较粗糙)
linux·windows·python
周公2 小时前
记一次在双 RTX 3090 工作站上部署 vLLM 与 Qwen3.6-35B-AWQ 的实战记录
python·ai·llama·vllm·ollama