Files
fastgpt-python-sdk/docs/api/overview.md
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.