API e Integrazione
ProxyPT espone un'API compatibile con OpenAI. Qualsiasi applicazione che usa l'SDK OpenAI può integrarsi con ProxyPT cambiando solo la base URL e la chiave API.
Endpoint e autenticazione
Base URL: https://<your-proxypt-domain>/v1
Auth: Bearer token (chiave API generata dal pannello admin)
Per generare una chiave API: Pannello Admin → API Keys → Crea nuova chiave.
Endpoint disponibili
Chat completions
POST /v1/chat/completions
Parametri identici all'API OpenAI. Il campo model deve corrispondere al nome configurato nell'interfaccia admin.
{
"model": "nome-modello-configurato",
"messages": [
{"role": "user", "content": "Testo della richiesta"}
],
"temperature": 0.7,
"max_tokens": 1000
}
Embeddings
POST /v1/embeddings
{
"model": "nome-modello-embeddings",
"input": "Testo da vettorializzare"
}
SDK Python
pip install openai
import openai
client = openai.OpenAI(
api_key="sk-...",
base_url="https://<your-proxypt-domain>/v1"
)
response = client.chat.completions.create(
model="nome-modello-configurato",
messages=[{"role": "user", "content": "La tua domanda"}]
)
print(response.choices[0].message.content)
Streaming:
stream = client.chat.completions.create(
model="nome-modello-configurato",
messages=[{"role": "user", "content": "La tua domanda"}],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content or ""
print(content, end="")
SDK JavaScript / Node.js
npm install openai
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-...',
baseURL: 'https://<your-proxypt-domain>/v1',
});
const response = await client.chat.completions.create({
model: 'nome-modello-configurato',
messages: [{ role: 'user', content: 'La tua domanda' }],
});
console.log(response.choices[0].message.content);
Note operative
- I modelli disponibili tramite API sono gli stessi configurati nel pannello admin, con le stesse regole di visibilità e budget
- I consumi API vengono conteggiati nel budget dell'utente associato alla chiave API
- Il rate limiting si applica per chiave API, con gli stessi limiti configurati per l'utente corrispondente