Aller au contenu
Nibiru docsv0.9.2

Exécutez-le localement

Trois façons de déployer le site des documents (avec l'Oracle) sur votre propre machine.

Stable Reading time ~ 3 min Edit on GitHub

Le site de documentation — ainsi que l’Oracle qui se trouve dans le coin — est simplement une application Astro. Vous pouvez la lancer de trois façons en fonction de ce que vous avez à portée de main.

Option A — Serveur de développement Astro, backend your Ollama instance (le plus rapide)

Section intitulée « Option A — Serveur de développement Astro, backend your Ollama instance (le plus rapide) »

L’Oracle appelle votre Ollama partagé à https://your-ollama-host.example. Aucun GPU local nécessaire, aucune clé API à gérer.

Fenêtre de terminal
cd /home/stephan/PhpstormProjects/Nibiru/docs
# .env (copy from .env.example, defaults already point at your Ollama instance)
cp .env.example .env
npm install # one-time
npm run dev # http://localhost:4321

Ouvrez http://localhost:4321/. Cliquez sur le lanceur orange d’Oracle en bas à droite et posez une question.

Tirez le modèle d’incrustation une seule fois sur votre hôte Ollama (au moment de la construction + au moment de l’exécution) :

Fenêtre de terminal
curl https://your-ollama-host.example/api/pull -d '{"name":"nomic-embed-text"}'

Sans cela, l’Oracle fonctionne toujours — elle ne fait que s’exécuter en mode conversationnel uniquement (sans RAG) et répond à partir des connaissances paramétriques du modèle. Avec cela, les réponses sont ancrées dans cette documentation.

Fenêtre de terminal
npm run build:oracle # writes public/oracle-index.json

Le serveur de développement le détectera lors du prochain appel. Ou bien, ignorez complètement cette étape : le point d’entrée au moment de l’exécution gère une absence/index vide avec élégance.

Le point d’accès /api/oracle de l’Oracle répond également à la méthode GET avec sa configuration actuelle (sans les secrets) :

Fenêtre de terminal
curl http://localhost:4321/api/oracle
# {"status":"ok","llm":{"provider":"ollama","ollamaUrl":"https://your-ollama-host.example",
# "model":"qwen2.5-coder:14b"},"embed":{...},"index":{...}}

Plus proche de la production. Construit l’image que vous délivreriez.

Fenêtre de terminal
cd /home/stephan/PhpstormProjects/Nibiru/docs
cp .env.example .env
docker compose -f docker-compose.yml -f docker-compose.local.yml up --build

Le remplacement docker-compose.local.yml:

  • Publie 4321:4321 afin que l’application soit accessible à http://localhost:4321/.
  • Supprime les variables d’environnement VIRTUAL_HOST / LETSENCRYPT_HOST.
  • N’a pas besoin d’un réseau nginx-proxy sur votre boîte de développement.

La première construction prend 1 à 2 minutes. Les reconstructions ultérieures sont rapides (Docker met en cache la couche des dépendances).

Pour le développement hors ligne, les démos en avion ou la création de votre propre GPU.

Fenêtre de terminal
# 1) Run Ollama on your laptop
ollama serve &
# 2) Pull a chat model (any of these works)
ollama pull qwen2.5-coder:14b # 8 GB, recommended
# ollama pull qwen2.5-coder:1.5b # 1 GB, faster but less accurate
# ollama pull llama3.2:3b # 2 GB, alternative
# 3) Pull an embedding model
ollama pull nomic-embed-text
# 4) Point the docs at it
cd /home/stephan/PhpstormProjects/Nibiru/docs
cat > .env <<EOF
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_CHAT_MODEL=qwen2.5-coder:14b
OLLAMA_EMBED_MODEL=nomic-embed-text
EOF
npm run build:oracle
npm run dev

Maintenant, http://localhost:4321/api/oracle appelle votre ordinateur portable Ollama. Aucune connexion Internet n’est requise.

Passage à Anthropic / OpenAI (si vous le souhaitez)

Section intitulée « Passage à Anthropic / OpenAI (si vous le souhaitez) »

L’Oracle prend en charge les API payantes comme alternative. Dans le fichier .env :

Fenêtre de terminal
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
EMBED_PROVIDER=openai
OPENAI_API_KEY=sk-...

Utile si votre Ollama est hors service ou pour comparer la qualité des réponses entre les fournisseurs.

Fenêtre de terminal
curl http://localhost:4321/ # 301 → /en/
curl -I http://localhost:4321/en/ # 200
curl http://localhost:4321/api/oracle # GET = config
curl -X POST -H 'Content-Type: application/json' \
-d '{"messages":[{"role":"user","content":"How do I create a module?"}]}' \
http://localhost:4321/api/oracle | jq .answer

Si l’appel final retourne une réponse réelle qui mentionne ./nibiru -m, votre pile est correctement câblée.

Oracle retourne “le Oracle ne peut pas répondre”. Le serveur Ollama est inaccessible ou le modèle de conversation n’est pas extrait. Vérifiez :```bash curl https://your-ollama-host.example/api/tags | jq ‘.models[].name’

**Oracle répond sans références.**
L'index d'embedding est vide. Réexécutez `npm run build:oracle` après avoir tiré `nomic-embed-text`.
**Ollama retourne 404 modèle non trouvé.**
Tirez le modèle, par exemple :```bash
curl https://your-ollama-host.example/api/pull -d '{"name":"qwen2.5-coder:14b"}'

ECONNREFUSED 127.0.0.1:11434 dans l’option C. Le local Ollama n’est pas en cours d’exécution. Démarrez-le avec ollama serve & (ou via votre service système).