Aller au contenu
Dilolabs

Documentation Technique & API

Nosia pour les développeurs

API compatible avec Chat Completions d’OpenAI

Intégrez Nosia comme une alternative OpenAI auto-hébergée

L'API de Nosia prend en charge le format Chat Completions compatible avec OpenAI pour les fonctions documentées. Vérifiez les fonctionnalités utilisées par votre application avant de l’intégrer ; le point d’accès et le modèle se configurent selon le déploiement retenu.

Python

python
from openai import OpenAI

client = OpenAI(
    base_url="https://nosia.localhost/v1",
    api_key="votre-token"
)

response = client.chat.completions.create(
    model="default",
    messages=[{"role": "user", "content": "Que contiennent mes documents ?"}
],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

Node.js

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://nosia.localhost/v1',
  apiKey: 'votre-token'
});

const response = await client.chat.completions.create({
  model: 'default',
  messages: [{ role: 'user', content: 'Résumez mes documents' }]
});

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

cURL

bash
curl https://nosia.localhost/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer votre-token" \
  -d '{
    "model": "default",
    "messages": [
      {"role": "user", "content": "Que contiennent mes documents ?"}
    ]
  }'

Déploiement sur l’infrastructure choisie

La documentation présente une procédure d’installation avec Docker Compose. L’exploitation, la supervision et les ressources nécessaires dépendent du modèle et de l’infrastructure retenus.

Exemple d’installation avec Docker Compose :

curl -fsSL https://get.nosia.ai | sh
docker compose up -d

Configuration minimale recommandée :

  • 2 CPU, 4GB RAM (8GB recommandé pour production)
  • Docker & Docker Compose
  • Modèle LLM compatible OpenAI (Mistral, Granite, Llama, etc.)
  • PostgreSQL avec extension pgvector

Architecture technique ouverte

Client Web / API / Mobile
Caddy (Reverse Proxy / HTTPS / Load Balancing)
Rails Web (Puma) - API REST & Web Interface
Solid Queue Workers - Traitement asynchrone
PostgreSQL + pgvector (Vector Database)

• Embeddings vectoriels (1536 dimensions)

• Chat & Messages historique

• Chunks indexés avec recherche sémantique

• Metadata et tagging avancé

AI Services (External / Self-hosted)

• LLM (Mistral, Granite, Llama, etc.)

• Embedding Model (compatible OpenAI)

• OpenAI-compatible API endpoint

• Support multi-modèles et fallback

Documentation technique complète

Consultez la documentation officielle de Nosia pour plus de détails sur l'installation, la configuration avancée, l'API et les cas d'usage. Code source ouvert, exemples complets et support communautaire.