Oracleに尋ねる
サイト内のAIアシスタントの仕組み — ドキュメント上のRAG、あなたの自社のOllamaで提供されています。
各ページのコーナーにあるアンバー色のボタンは、Nibiru Oracle です — このドキュメンテーションに基づいたAIアシスタントです。ルーティング、モジュール、CLI、Smartyレイヤー、pageAction() の意味について尋ねることができます。それはそのソースを引用します。
それが動いているのは何ですか
Section titled “それが動いているのは何ですか”デフォルトでは、Oracleはあなたのインフラストラクチャ上で完全に動作します:
| レイヤー | バックエンド | デフォルトモデル |
|---|---|---|
| チャット(回答生成) | Ollama on https://your-ollama-host.example | qwen2.5-coder:14b |
| エンベディング(RAG検索) | Ollama on https://your-ollama-host.example | nomic-embed-text |
有料のAPIキーはありません。データはあなたのネットワーク内に留まります。既に実行している5-GPUのOllamaクラスターが負荷を処理します。
有料プロバイダを使用したい場合は、Claude(チャット)とOpenAI(埋め込み)を設定します。LLM_PROVIDER=anthropic および/又は EMBED_PROVIDER=openai を設定し、対応するAPIキーも追加してください。コードパスは同一です。
flowchart LR A[User question] --> B[Embed via Ollama<br/>nomic-embed-text] B --> C[Cosine search<br/>against pre-computed<br/>doc-chunk index] C --> D[Top-K chunks] D --> E[Ollama chat<br/>qwen2.5-coder:14b<br/>system + retrieved context] E --> F[Answer + source list] F --> G[Render in chat UI]- ビルド時に、ドキュメントサイトはすべてのMarkdownページを走査し、H2/H3境界で約600トークンずつに分割し、各チャンクに
nomic-embed-textで埋め込み、結果をpublic/oracle-index.jsonに書き出します。データベースは必要ありません。 - リクエスト時に、ユーザーの質問も同じように埋め込み、コサイン類似度で最も近いチャンクを取り出し、それらをチャットモデルのシステムプロンプトに組み立てます。
- チャットモデルは、ユーザーの言語で回答し、ソースチャンクをURLで引用します。
| ファイル | 機能 |
|---|---|
scripts/lib/providers.mjs | 共有チャット + 埋め込みアダプター (Ollama / Anthropic / OpenAI)。 |
scripts/build-oracle-index.mjs | ビルド時に public/oracle-index.json を構築します。 |
public/oracle-index.json | コミットされた/ビルド出力の埋め込みインデックスです。 |
src/pages/api/oracle.ts | チャットウィジェットが POST する SSR エンドポイント。診断用の GET も提供しています。 |
src/components/CosmicHeader.astro | フローティングランチャー + チャット UI です。 |
ニューロネットワークの初期設定
Section titled “ニューロネットワークの初期設定”Oracleが使用する2つのモデルを取得します:
curl https://your-ollama-host.example/api/pull -d '{"name":"qwen2.5-coder:14b"}'curl https://your-ollama-host.example/api/pull -d '{"name":"nomic-embed-text"}'qwen2.5-coder:14b は既にインストール済み(確認済み)。nomic-embed-text が不足している;これがないと、Oracle はチャットのみ(RAGなし)モードで動作します。
Oracleは環境変数から設定を読み込みます。適切なデフォルト値が組み込まれています。
# Default mode (Ollama on your Ollama instance)LLM_PROVIDER=ollama # defaultOLLAMA_BASE_URL=https://your-ollama-host.example # defaultOLLAMA_CHAT_MODEL=qwen2.5-coder:14b # defaultOLLAMA_EMBED_MODEL=nomic-embed-text # default
# Optional fallbacksLLM_PROVIDER=anthropicANTHROPIC_API_KEY=sk-ant-...ANTHROPIC_MODEL=claude-haiku-4-5-20251001
EMBED_PROVIDER=openaiOPENAI_API_KEY=sk-...OPENAI_EMBED_MODEL=text-embedding-3-small
# BehaviourORACLE_TOP_K=6ORACLE_MAX_TOKENS=800ディアグノスティックエンドポイント
Section titled “ディアグノスティックエンドポイント”GET /api/oracle は現在の構成(シークレットなし)を返します:
curl https://nibiru-framework.com/api/oracle{ "status": "ok", "llm": { "provider": "ollama", "ollamaUrl": "https://your-ollama-host.example", "model": "qwen2.5-coder:14b" }, "embed": { "provider": "ollama", "ollamaUrl": "https://your-ollama-host.example", "model": "nomic-embed-text" }, "index": { "present": true, "chunks": 177, "provider": "ollama", "model": "nomic-embed-text" }}新しくデプロイされたコンテナが予想したバックエンドを使用していることを確認するのに便利です。
プライバシー
Section titled “プライバシー”- 質問と会話履歴は、あなたのOllamaサーバーに送られます。デフォルトのOllama設定では、ドキュメントサイトやAnthropic/OpenAIによって保存されません。
- OpenAIキー(使用されている場合)は、埋め込みのみで呼び出されます。
- Oracleウィジェット自体では、分析情報やクッキーが設定されません。
Nibiruトレーニングモデルを使用する理由は何ですか?
Section titled “Nibiruトレーニングモデルを使用する理由は何ですか?”ロードマップ(AI Roadmapを参照)は、Training CorpusのエクスポートでLoRAを微調整することです。これにより、チャットモデル自体がNibiruネイティブになります。それが準備でき次第、OracleのOLLAMA_CHAT_MODELが微調整されたモデルに切り替わり、システムプロンプトが単純化されます。同じコードですが、より賢い回答が得られます。
試してみましょう
Section titled “試してみましょう”オラクル(アンバーの惑星、右下)を開き、以下のいずれかを試してみてください。
- “新しいモジュールを作成する方法は?”
- “
pageActionは何をするの?” - “JSONエンドポイントを処理する方法を示してください.”
- “Wie schreibe ich eine Migration?” (Deutsch funktioniert.)
- “認証フローを教えて” (日本語でも機能します.)