获取并调用客户端对象
示例代码:
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会作为上下文保存为历史消息。
浙公网安备 33010602011771号