Python OpenAI Library
Use the official OpenAI Python SDK to call Fast-API; simply modify base_url and api_key.
Installation
bash
pip install openaiBasic 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())