shadcn/studio
Referencia API/Inferencia

Inferencia

Usa tu modelo entrenado para hacer predicciones y chat. Compatible con el formato de OpenAI.

Chat Completions

Endpoint principal para conversaciones. Compatible con OpenAI SDK.

bash
MODEL_ID="model_final123abc"

curl -X POST https://api.astrapp.lat/api/v1/chat/completions \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "'$MODEL_ID'",
    "messages": [
      {
        "role": "system",
        "content": "Eres un asistente de ventas profesional"
      },
      {
        "role": "user",
        "content": "¿Cual es el precio del plan profesional?"
      }
    ],
    "temperature": 0.7,
    "max_tokens": 200
  }'
json
{
  "id": "chatcompletion_abc123",
  "object": "chat.completion",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "El plan profesional cuesta $9.99/mes e incluye..."
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 35,
    "total_tokens": 60
  }
}

Parametros

modelstringID del modelo entrenado
messagesarrayHistorial de conversacion
temperaturenumberCreatividad (0-2, default 0.7)
max_tokensnumberMaximo tokens en respuesta
streambooleanActivar streaming

Streaming

Recibe la respuesta token por token en tiempo real.

bash
curl -X POST https://api.astrapp.lat/api/v1/chat/completions \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "model": "'$MODEL_ID'",
    "messages": [
      {"role": "user", "content": "¿Cuanto cuesta?"}
    ],
    "stream": true
  }'
text
data: {"delta": "El", "tokens_used": 1}

data: {"delta": " precio", "tokens_used": 2}

data: {"delta": " es", "tokens_used": 3}

data: {"delta": " $9.99", "tokens_used": 4}

data: [DONE]

Uso con OpenAI SDK

Puedes usar el SDK de OpenAI apuntando a nuestra API.

typescript
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'sk_live_xxxxxxxxxxxxx',
  baseURL: 'https://api.astrapp.lat/api/v1'
})

const response = await client.chat.completions.create({
  model: 'model_final123abc',
  messages: [
    { role: 'system', content: 'Eres un asistente de ventas.' },
    { role: 'user', content: '¿Cual es el precio?' }
  ]
})

console.log(response.choices[0].message.content)

Uso con Python

python
import requests

headers = {
    'Authorization': 'Bearer sk_live_xxxxxxxxxxxxx',
    'Content-Type': 'application/json'
}

data = {
    'model': 'model_final123abc',
    'messages': [
        {'role': 'system', 'content': 'Eres un asistente de ventas'},
        {'role': 'user', 'content': '¿Cual es el precio?'}
    ],
    'temperature': 0.7
}

response = requests.post(
    'https://api.astrapp.lat/api/v1/chat/completions',
    headers=headers,
    json=data
)

result = response.json()
print(result['choices'][0]['message']['content'])