获取并调用客户端对象

示例代码:

from openai import OPENAI

client:OpenAI = OPENAI(
    api_key="ollma",
    base_url="http://localhost:11434/v1"
)

from openai.types.chat.chat_completion import ChatCompletionMessage
response = client.chat.completions.create(
    model="qwen3:8b",
    messages=[
        {"role": "system", "content": "你是一个python编程专家"},
        {"role":"assistant", "content": "好的,请问有什么需要帮助的吗?"},
        {"role": "user", "content": "请用python代码实现一个冒泡排序算法"}
    ]
)

model为选用模型,messages为提供给模型的消息,类型为list
每个字典包含两个key,role为角色,content为内容

system角色:设定助手的整体行为,角色和规则,为对话提供上下文框架,是全局的背景设定,影响后续所有交互

assistant角色:代表AI助手的回答,可以在代码中认为设定

user角色:代表用户,发送问题,指令或需求

OpenAI的流式输出

可以开启流式输出,让模型一个字一个字的说

例如:

from openai import OpenAI

client: OpenAI = OpenAI(
    api_key="ollma",
    base_url="http://localhost:11434/v1"
)

from openai.types.chat.chat_completion import ChatCompletionMessage
response = client.chat.completions.create(
    model="qwen3:8b",
    messages=[
        {"role": "system", "content": "你是一个python编程专家"},
        {"role":"assistant", "content": "好的,请问有什么需要帮助的吗?"},
        {"role": "user", "content": "请用python代码实现一个冒泡排序算法"}
    ],
    stream=True
)
for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

OpenAI利用历史消息

message是个列表,那么我可以在里面塞很多user,前面的user会作为上下文保存为历史消息。

posted on 2026-05-10 22:40  shaochang123  阅读(6)  评论(0)    收藏  举报