Files
2026-01-08 17:35:21 +08:00

3.0 KiB

API Reference Overview

The FastGPT Python SDK provides three main client types:

Clients

Client Sync Async Description
ChatClient ✅ ✅ Chat completions and conversation management
AppClient ✅ ✅ App analytics and logs
FastGPTClient ✅ ✅ Base client (usually used indirectly)

Base Client Options

All clients share these initialization parameters:

from fastgpt_client import ChatClient

client = ChatClient(
    api_key="fastgpt-xxxxx",      # Required: Your API key
    base_url="http://localhost:3000",  # Optional: API base URL
    timeout=60.0,                 # Optional: Request timeout (seconds)
    max_retries=3,                # Optional: Max retry attempts
    retry_delay=1.0,              # Optional: Delay between retries (seconds)
    enable_logging=False          # Optional: Enable request logging
)

Parameters

  • api_key (str): Your FastGPT API key
  • base_url (str): Base URL for the FastGPT API (default: "http://localhost:3000")
  • timeout (float): Request timeout in seconds (default: 60.0)
  • max_retries (int): Maximum number of retry attempts (default: 3)
  • retry_delay (float): Delay between retries in seconds (default: 1.0)
  • enable_logging (bool): Whether to enable request logging (default: False)

Context Manager Support

All clients support context managers for automatic resource cleanup:

# Synchronous
with ChatClient(api_key="fastgpt-xxxxx") as client:
    response = client.create_chat_completion(...)
# Client is automatically closed

# Asynchronous
async with AsyncChatClient(api_key="fastgpt-xxxxx") as client:
    response = await client.create_chat_completion(...)
# Client is automatically closed

Response Format

All API methods return httpx.Response objects. You can:

# Raise exception for 4xx/5xx responses
response.raise_for_status()

# Get JSON data
data = response.json()

# Get status code
status = response.status_code

# Get headers
headers = response.headers

Async Variants

All synchronous clients have async equivalents:

# Sync
from fastgpt_client import ChatClient

with ChatClient(api_key="...") as client:
    response = client.create_chat_completion(...)

# Async
from fastgpt_client import AsyncChatClient

async with AsyncChatClient(api_key="...") as client:
    response = await client.create_chat_completion(...)

See Async Clients for more details.

Exceptions

The SDK provides specific exceptions for different error types:

Exception Status Code Description
AuthenticationError 401 Invalid or missing API key
RateLimitError 429 Too many requests
ValidationError 422 Invalid request parameters
APIError 4xx/5xx General API errors

See Exceptions for more details.