聊天模型调用教程
本文介绍如何使用 OpenAI 兼容规范接入并调用 VLX FLUX 的聊天模型。接口路径为 https://api.vlxflux.io/v1/chat/completions。
前置准备
- 已注册 VLX FLUX 并获取 API Key
- 已确认基础地址为
https://api.vlxflux.io/v1 - 本地已安装对应编程语言环境
Python 调用
安装依赖
bash
pip install openai基础调用
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxx",
base_url="https://api.vlxflux.io/v1"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a short poem about spring."}
]
)
print(response.choices[0].message.content)流式响应
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxx",
base_url="https://api.vlxflux.io/v1"
)
stream = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Tell me a joke about programmers."}
],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print()多轮对话
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxx",
base_url="https://api.vlxflux.io/v1"
)
messages = [
{"role": "system", "content": "You are a translation assistant."}
]
while True:
user_input = input("User: ")
if user_input.lower() in ["quit", "exit", "q"]:
break
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=messages
)
reply = response.choices[0].message.content
print(f"Assistant: {reply}")
messages.append({"role": "assistant", "content": reply})局部配置
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("VLXFLUX_API_KEY"),
base_url="https://api.vlxflux.io/v1"
)curl 调用
基础请求
bash
curl https://api.vlxflux.io/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer sk-xxxxxxxx" -d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "You are an expert programmer."
},
{
"role": "user",
"content": "How should I learn Python?"
}
]
}'流式响应
bash
curl https://api.vlxflux.io/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer sk-xxxxxxxx" -d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "Write a short poem."
}
],
"stream": true
}'多轮对话示例
bash
curl https://api.vlxflux.io/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer sk-xxxxxxxx" -d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "You are a support assistant. Keep your tone friendly and professional."
},
{
"role": "user",
"content": "I cannot log in. The page says my password is incorrect, but I am sure it is right."
}
]
}'响应格式
json
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1690000000,
"model": "gpt-3.5-turbo-0613",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Here is your reply."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 12,
"total_tokens": 27
}
}常用参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填,模型名称。 |
messages | array | 必填,对话消息数组。 |
stream | boolean | 是否开启流式输出。 |
temperature | number | 控制随机性。 |
max_tokens | integer | 限制最大输出长度。 |
错误处理
python
import os
from openai import OpenAI, APIError, APIConnectionError, RateLimitError
client = OpenAI(
api_key=os.environ.get("VLXFLUX_API_KEY"),
base_url="https://api.vlxflux.io/v1"
)
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)
except APIConnectionError:
print("Connection failed")
except RateLimitError:
print("Rate limit exceeded")
except APIError as e:
print(f"API error: {e}")