-
Notifications
You must be signed in to change notification settings - Fork 0
Dual API Strategy
ADEPT supports two OpenAI-compatible APIs: the Response API (primary) and the Assistants API (legacy). Both are fully functional, but new development should target the Response API.
The dual API strategy allows ADEPT to serve both modern streaming workloads and existing integrations that depend on the Assistants API resource model. The Response API provides a simpler architecture with better streaming support, while the Assistants API maintains backward compatibility with tools like OpenWebUI.
| Criterion | Response API | Assistants API |
|---|---|---|
| Endpoint count | 1 | 4 resource types |
| Streaming | Full SSE (real-time) | Polling-based |
| State management | Simpler (single request) | Complex (threads + runs) |
| OpenAI compatibility | Stable API | Beta API |
| Tool calling | Native, inline | Run-step based |
| Testing complexity | Low | High |
| New development | Recommended | Not recommended |
| Existing integrations | -- | Supported |
Is this new development?
YES --> Use Response API
NO --> Does it integrate with an existing Assistants API client?
YES --> Use Assistants API (legacy support)
NO --> Migrate to Response API
Endpoint: POST /v1/responses/chat/completions
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
"https://your-adept-instance/v1/responses/chat/completions",
headers={"Authorization": f"Bearer {token}"},
json={
"model": "default",
"messages": [{"role": "user", "content": "Analyze this dataset"}],
"stream": True,
"thread_id": "thread_abc123"
}
)Key advantages:
- Single endpoint for all operations (create, continue, stream)
- Real-time SSE streaming with tool call events
- Thread management via
thread_idparameter - No polling required
Endpoints: /v1/assistants/*, /v1/threads/*, /v1/runs/*
Legacy Only: The Assistants API is maintained for backward compatibility. New projects should use the Response API for simpler architecture and better streaming.
To migrate from Assistants API to Response API:
-
Replace thread + message + run with a single
/v1/responses/chat/completionscall -
Replace polling with SSE streaming (set
stream: true) -
Pass
thread_iddirectly in the request body for conversation continuity - Remove assistant creation -- the Response API uses a default agent configuration
- Update error handling -- Response API returns standard OpenAI error format inline
Getting Started
Architecture
- Overview
- MCP Tool System
- Slurm HPC Integration
- Multi-Agent Orchestration
- A2A Federation
- Security Model
Deployment
User Guides
Developer Tools
CI/CD
Testing
Contributing
Reference