SDKs

SDKs oficiales

Cliente Python tipado para la API de Claix, más tools listas para LangChain, LangGraph, CrewAI y LlamaIndex.

Python SDK

Cliente oficial de Claix en Python

Endpoint

PIPpip install claix-ai

claix-ai es el SDK Python tipado de la API de inteligencia documental de Claix (OpenAPI 1.8.2). El import sigue siendo from claix import ClaixClient. Sirve para extracción, Modo agente, documentos persistidos y espacios de conocimiento — o para enchufar el mismo cliente en LangChain, LangGraph, CrewAI y LlamaIndex.

Requiere Python ≥ 3.10. La autenticación es la misma API key que REST, MCP y A2A: cabecera x-api-key, o variable de entorno CLAIX_API_KEY.

2. Instalación

pip install claix-ai
pip install 'claix-ai[langchain]'
pip install 'claix-ai[crewai]'
pip install 'claix-ai[llamaindex]'
pip install 'claix-ai[all]'

El extra base trae httpx y Pydantic v2. Los extras de framework añaden los adapters documentados en esta sección.

3. Autenticación

Recomendado — variable de entorno:

export CLAIX_API_KEY=ck_...

O pasa api_key= a ClaixClient / AsyncClaixClient. El cliente envía x-api-key en cada petición (la API también acepta Bearer). Timeout por defecto 120s, con reintentos en 429, 502, 503, 504 y errores de transporte.

4. Inicio rápido

from claix import ClaixClient

client = ClaixClient()  # lee CLAIX_API_KEY
result = client.extract.pdf("invoice.pdf", schema_id="3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f")
print(result.data)

Cliente asíncrono:

from claix import AsyncClaixClient

async with AsyncClaixClient() as client:
    doc = await client.extract.pdf("invoice.pdf", schema_id="...")
    answers = await client.context.ask(doc.document_id, ["¿Cuál es el total?"])

5. Mapa de métodos (OpenAPI 1.8.2)

Método SDKHTTP
client.extract.pdf(..., is_agent_mode=False)POST /api/pdf-json o POST /agent/pdf-json
client.extract.excel(...)POST /api/excel-json o POST /agent/excel-json
client.extract.document(...)POST /api/doc-json o POST /agent/doc-json
client.extract.image(...)POST /api/img-json o POST /agent/img-json
client.extract.text(content, schema_id, ...)POST /api/txt-json o POST /agent/txt-json
client.extract.json_to_excel(schema_id=..., data=...)POST /api/json-excel
client.context.get(document_id)GET /get-document/{id}
client.context.ask(document_id, questions)POST /document-context/{id} (máx. 5 × 400 caracteres)
client.context.delete(document_id)DELETE /delete-document/{id}
client.spaces.create(name)POST /create-space
client.spaces.ask(space_id, questions)POST /space-context/{id}
client.spaces.delete(space_id)DELETE /delete-space/{id}
client.schemas.list()GET /api/schemas
client.schemas.create(...)POST /api/create-schema
client.schemas.delete(schema_id)POST /api/delete-schema

ia_response en las consultas a documento y espacio es list[str | None] para que el orquestador ramifique con null determinista cuando falta evidencia.

6. Errores

Todos heredan de ClaixError y exponen status_code más el payload {error, detalle}: ClaixAuthenticationError (401), ClaixNotFoundError (404), ClaixValidationError (400/413/422), ClaixRateLimitError (429), ClaixTimeoutError, ClaixConnectionError, ClaixAPIError (5xx).

Ejemplos de petición

pip install claix-ai
export CLAIX_API_KEY=ck_...

python - <<'PY'
from claix import ClaixClient
client = ClaixClient()
print(client.extract.pdf("invoice.pdf", schema_id="3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f").data)
PY