Chat Models Guide
This guide explains how to access VLX FLUX chat models through the OpenAI-compatible API. The request path is https://api.vlxflux.io/v1/chat/completions.
Prerequisites
- Register for VLX FLUX and obtain an API key
- Use the base URL
https://api.vlxflux.io/v1 - Install the required runtime locally
Python Usage
Install Dependency
bash
pip install openaiBasic Request
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)Streaming
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()Multi-turn Conversation
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})Local Client Configuration
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 Usage
Basic Request
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?"
}
]
}'Streaming
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
}'Multi-turn Example
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."
}
]
}'Response Format
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
}
}Common Parameters
| Parameter | Type | Description |
|---|---|---|
model | string | Required model name. |
messages | array | Required list of messages. |
stream | boolean | Enable streaming output. |
temperature | number | Controls randomness. |
max_tokens | integer | Limits maximum output tokens. |
Error Handling
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}")