Skip to content

Python OpenAI Library ​

Use the official OpenAI Python SDK to call Fast-API; simply modify base_url and api_key.

Installation ​

bash
pip install openai

Basic Usage ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-yourAPIKey",
    base_url="https://fast-api.org/v1"
)

# Non-stream call
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)
print(response.choices[0].message.content)

# Stream call
stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "user", "content": "Please write a poem"}
    ],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Image Generation ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-yourAPIKey",
    base_url="https://fast-api.org/v1"
)

response = client.images.generate(
    model="gpt-image-1",
    prompt="A beautiful mountain landscape",
    n=1,
    size="1024x1024"
)
print(response.data[0].url)

Using Claude Model ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-yourAPIKey",
    base_url="https://fast-api.org/v1"
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "user", "content": "Explain the basic principles of quantum computing"}
    ]
)
print(response.choices[0].message.content)

Environment Variable Configuration ​

It is recommended to write configurations into environment variables to avoid hardcoding:

bash
export OPENAI_API_KEY="sk-yourAPIKey"
export OPENAI_BASE_URL="https://fast-api.org/v1"
python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),
    base_url=os.environ.get("OPENAI_BASE_URL")
)

Asynchronous Calls ​

python
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(
    api_key="sk-yourAPIKey",
    base_url="https://fast-api.org/v1"
)

async def main():
    response = await client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "Hello!"}]
    )
    print(response.choices[0].message.content)

asyncio.run(main())