この記事ではRAGに特化して解説します。RAG全般は RAGとは?仕組み・構築・ベクトルDB選定までの2026年実装マップ をご覧ください。

📌 Docker Compose導入の手順を探している方へ
本記事はOnyx AIの概要解説です。実装手順・コネクタ設定・チューニング詳細は Onyx導入ガイド|Docker Composeで構築・運用する にまとめています。

Onyx AIとは:社内データをAIで横断検索するOSSプラットフォーム

Onyx(旧Danswer)は、GitHubスター31,285(2026年7月31日時点)を獲得した企業向けのオープンソースRAGプラットフォームだ。最新リリースは v4.4.7(2026-07-29)で、開発は現在も活発に続いている。社内に散在するドキュメント・Slack・メール・データベースなど50以上のデータソースを接続し、AIが自動で検索・回答するチャットボット基盤を構築できる。

Onyx AIの最大の特徴は「セルフホスティング」に対応していること。クラウドにデータを預けることなく、自社サーバーやプライベートクラウド上で完全にデータを管理できる。機密情報を扱う企業にとって、データ主権を維持しながらAI検索を導入できる点が決定的な差別化要因だ。

Onyxのチャット画面デモ:社内ドキュメントを横断検索し引用つきで回答する様子
Onyxのチャット画面。社内ソースを横断検索し、引用元を示しながら回答する(出典: onyx-dot-app/onyx 公式デモGIF)。
Onyx AIの3つの核心価値
① セルフホスティング——データが社外に流出しない設計
② 50+コネクタ——Slack・Confluence・Google Drive等をGUIで接続
③ マルチLLM——OpenAI・Claude・Gemini・ローカルLLMに対応

RAGベースの社内検索は他にも選択肢があるが、RAGFlowがPDF・表データの高精度パーサーに強みを持つのに対し、Onyxはコネクタの豊富さとセットアップのシンプルさで差別化している。

Onyx AIの主な機能と特徴

マルチソースコネクタ(50+対応)

Onyxは以下のデータソースに対応している。管理画面のGUIからOAuth認証やAPIキーを設定するだけで接続できる。

カテゴリ 対応サービス例
チャット・メッセージ Slack、Microsoft Teams、Discord
ドキュメント管理 Confluence、Notion、SharePoint
ファイルストレージ Google Drive、OneDrive、S3
コード管理 GitHub、GitLab、Bitbucket
CRM・業務ツール Salesforce、HubSpot、Zendesk
データベース PostgreSQL、MySQL
ローカルファイル PDF、Word、Excel、Markdown

RAGベースの質問応答

Retrieval Augmented Generation(RAG)により、社内データに基づいた正確な回答を生成する。単純なキーワード検索ではなく、ハイブリッド検索(ベクトル検索 + BM25全文検索)を採用しているため、自然文の質問にもキーワード的な検索にも対応する。

セルフホスティングとアクセス制御

Docker Composeで自社サーバーにデプロイし、ユーザー・グループ単位でアクセス権限を設定できる。SlackのプライベートチャンネルやGoogle Driveの共有設定がそのままOnyxの権限に反映されるため、既存の権限構造を活かせる。

Web検索・コード実行・カスタムエージェント

LLMの基本的なチャット機能に加え、Web検索結果の統合、Pythonコードの実行、カスタムエージェント機能をサポートする。社内データだけでは不足する場合にWeb検索で補完し、データ分析にはコード実行を使うといった複合的な活用が可能だ。

Onyx AIの使い方:Docker Composeでのセットアップ

Onyxの導入はDocker Composeが公式推奨されている。ワンラインスクリプトで最速起動し、本番運用に移行する際にdocker-compose.ymlを調整する流れが効率的だ。

クイックスタート(ワンラインインストール)

# 公式インストールスクリプトで一括起動
curl -fsSL https://onyx.app/install_onyx.sh | bash

本番環境向けの手動セットアップ

# リポジトリのクローン
git clone https://github.com/onyx-dot-app/onyx.git
cd onyx/deployment/docker_compose

# 環境変数ファイルの作成
cp .env.example .env

.envファイルで最低限設定する項目は以下の通り。

# LLMプロバイダの設定(OpenAIの場合)
GEN_AI_MODEL_PROVIDER=openai
GEN_AI_MODEL_VERSION=gpt-4
GEN_AI_API_KEY=sk-xxxxxxxxxxxxxxxx

# Anthropic Claudeを使う場合
# GEN_AI_MODEL_PROVIDER=anthropic
# GEN_AI_MODEL_VERSION=claude-sonnet-4-20250514
# GEN_AI_API_KEY=sk-ant-xxxxxxxxxxxxxxxx

# PostgreSQL設定
POSTGRES_USER=onyx
POSTGRES_PASSWORD=your_secure_password_here

# セキュリティ設定
AUTH_TYPE=basic
SECRET_KEY=$(openssl rand -hex 32)

設定完了後にDocker Composeで起動する。

# 全サービスの起動(バックグラウンド)
docker compose -f docker-compose.dev.yml -p onyx-stack up -d

# 起動状態の確認
docker compose -f docker-compose.dev.yml -p onyx-stack ps

初回起動時にはPostgreSQL、Vespa(検索エンジン)、バックエンドAPI、フロントエンドの各コンテナが立ち上がる。全サービスがhealthyになれば、http://localhost:3000でWeb UIにアクセスできる。

推奨サーバースペック
公式推奨はCPU 4コア以上、メモリ16GB以上、ストレージ50GB以上。ドキュメント数が多い場合は32GB以上を検討する。GPU搭載サーバーの場合はローカルLLMの利用も可能。

Onyx AIのアーキテクチャ:RAGパイプラインの仕組み

Onyxの内部処理フローを理解しておくと、チューニングやトラブルシューティングが効率的になる。

graph TD A["データソース
Slack / Confluence
Google Drive / PDF"] -->|コネクタが定期取得| B["ドキュメント取得
Document Ingestion"] B --> C["チャンク分割
テキストを意味単位に分割"] C --> D["埋め込み生成
Embedding Model"] D --> E["Vespa
ベクトルインデックス保存"] F["ユーザーの質問"] --> G["クエリ処理
質問の意図解析・拡張"] G --> H["ハイブリッド検索
ベクトル検索 + BM25"] E --> H H --> I["リランキング
関連度スコアで再順位付け"] I --> J["プロンプト構築
検索結果 + 質問をLLMへ"] J --> K["LLM回答生成
引用元ドキュメント付き"] K --> L["ユーザーに回答表示"]

各ステップの詳細

  1. データインジェスション — コネクタが各データソースから定期的にドキュメント・メッセージを取得
  2. チャンク分割と埋め込み生成 — ドキュメントを意味単位に分割し、テキスト埋め込みベクトルを生成
  3. インデックス化 — 埋め込みをVespa検索エンジンに保存。メタデータ(ソース、日時、権限情報)も格納
  4. ハイブリッド検索 — ユーザーの質問に対し、ベクトル検索(意味的類似度)とBM25(キーワード全文検索)を組み合わせて関連文書を取得
  5. リランキング — 検索結果を関連度スコアで再順位付けし、最も関連性の高い文書をLLMに渡す
  6. 回答生成 — 取得したドキュメントをコンテキストとしてLLMに送信し、引用元付きの回答を生成

Onyx AI 競合ツールとの比較

項目 Onyx ChatGPT Enterprise Copilot for M365 Dify RAGFlow
ホスティング セルフホスティング クラウドのみ クラウド統合 セルフ/クラウド セルフホスティング
対応データソース 50+種類 ChatGPT接続のみ Microsoft 365統合 API経由 10+種類
LLM選択 複数LLM対応 GPT系のみ Copilot固定 複数LLM 複数LLM
セットアップ シンプル 最小限 ITAdmin必須 シンプル やや複雑
アクセス制御 ユーザー・グループ 組織全体 ユーザー単位 ワークスペース データセット単位
料金 無料(OSS) 有料(月額) ライセンス型 無料(OSS) 無料(OSS)
特徴 コネクタ豊富 GPT統合 M365統合 ワークフロー 高精度パーサー

既存SaaSからドキュメント集約ならOnyx、ノーコードワークフローならDify、PDF・表データの高精度解析ならRAGFlowという使い分けが目安になる。LangChainで独自パイプラインを構築する方法と比較して、Onyxはインフラの構築・運用コストが低く、非エンジニアでも検索インターフェースを利用できる。

Onyx AI 実践ユースケースと使い方

社内ナレッジベース統合型ヘルプデスク

企業の各部門ドキュメント(HR規則、IT手順書、製品仕様書、FAQ)をOnyxで統合する。従業員が「有給休暇の申請方法は?」と質問すると、Onyxが自動的にドキュメント内から手順を検索・要約して回答する。

複数データソースの統合検索

Slack、Google Drive、Confluenceなど、組織内に散在する情報源をOnyxで一元管理する。ユーザーは単一のチャットインターフェースで複数のソースを横断検索でき、引用元のリンクも表示される。

API経由の外部連携

OnyxはREST APIを提供しており、Slackボットやカスタムアプリケーションから質問応答機能を呼び出せる。

import requests

ONYX_URL = "http://localhost:8080"
API_KEY = "your_onyx_api_key"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}

# チャットセッションの作成
session = requests.post(
    f"{ONYX_URL}/api/chat/create-chat-session",
    headers=headers,
    json={"persona_id": 0, "description": "API質問"}
)
session_id = session.json()["chat_session_id"]

# 質問の送信
response = requests.post(
    f"{ONYX_URL}/api/chat/send-message",
    headers=headers,
    json={
        "chat_session_id": session_id,
        "parent_message_id": None,
        "message": "社内のデプロイ手順を教えてください",
        "prompt_id": 0,
        "retrieval_options": {"run_search": "auto", "real_time": True}
    }
)

より詳細なDocker Composeセットアップ、コネクタ設定手順、Python APIの活用、運用チューニングについては、Onyx導入ガイド:Docker Composeでの構築・運用を参照してほしい。

Onyxは何を代替できるのか|「社内検索」だけではない現在の守備範囲

Onyxを「社内ドキュメント検索」とだけ捉えていると、現在の機能範囲を見誤る。公式READMEが挙げる機能は、すでにチャットUIを備えたLLMアプリケーション層というべき広がりを持つ。

機能 何を置き換えるか
RAG(社内ソース横断検索) 社内wiki検索・全文検索の窓口、担当者への「これどこにある?」の問い合わせ
Web検索・ディープリサーチ 調査タスクで都度ブラウザを開く手間
Artifacts(ドキュメント・図の生成とダウンロード) 議事録・報告書の下書き作成
Actions & MCP(外部アプリ連携) 「検索して終わり」ではなく、外部システムへの操作まで一続きにする
Code Execution(サンドボックス実行) データ分析・グラフ描画のための簡易スクリプト実行環境
Voice Mode / Image Generation 音声での対話、画像生成

つまりOnyxが代替するのは「社内検索ツール」+「チーム共通のChatGPT的フロントエンド」の2つだ。ChatGPT Enterprise や Glean のような商用プロダクトに対し、自社インフラ上で、モデル選択の自由を保ったまま同種の体験を用意するのがOSSとしての立ち位置になる。

逆に、Onyxが担当しないものもはっきりしている。ベクトルDBやLLMそのものを開発するプロジェクトではなく、それらを束ねて業務で使える形にするアプリケーション層である。したがって検索精度の最終的な質は、選んだ埋め込みモデルとLLM、そして投入した社内ドキュメントの整備状況に強く依存する。「Onyxを入れれば社内検索が賢くなる」のではなく、「賢くするための土台と接続口が一式そろう」と理解するのが正確だ。

Standard と Lite|まず試すならどちらを選ぶか

OnyxにはStandard と Lite の2つのデプロイ形態があり、必要リソースと機能範囲が大きく違う。「重そうだから試すのをやめた」という判断をする前に、この違いを知っておきたい。

  Onyx Lite Standard Onyx
位置づけ 軽量なチャットUI 全機能版(本格利用向け)
メモリ要件 1GB未満 Lite より大幅に多い(複数コンテナ構成)
RAG用インデックス 無し ベクトル + キーワードの複合インデックス
コネクタ同期 無し ジョブキュー/ワーカーのバックグラウンドコンテナ
推論サーバー 無し インデックス・推論時のディープラーニングモデル用サーバー
大規模最適化 無し Redis(インメモリキャッシュ)+ MinIO(Blobストア)
向くケース まず触ってみたい。チャットUIとAgentsだけ使いたい 社内文書を継続的に取り込んで検索させたい

「社内ドキュメントを横断検索する」という本来の用途にはStandardが必要で、Liteはコネクタ同期もRAGインデックスも持たない点に注意したい。逆に言えば、評価フェーズで「まずUIと使用感だけ見たい」なら1GB未満のLiteで十分であり、いきなりフルスタックを立てる必要はない。

デプロイ方式は Docker / Kubernetes / Helm・Terraform に対応し、主要クラウド向けのガイドも公式に用意されている。デプロイせず試したい場合はマネージドの Onyx Cloud も選択肢になる。

Community Edition と Enterprise Edition の機能境界

前節のライセンス構造は、そのまま2つのエディションに対応している。公式READMEの記述はこうだ——CEは「MITライセンスで自由に利用でき、Chat・RAG・Agents・Actions のコア機能すべてを含む」、EEは「主に大規模組織で有用な追加機能」。

機能 区分
Chat / RAG / Agents / Actions(コア) CE(MIT)
SSO(Google OAuth・OIDC・SAML)、SCIMによるユーザープロビジョニング EE
RBAC(エージェント・アクション等への権限制御) EE
利用状況アナリティクス(チーム・LLM・エージェント別) EE
クエリ履歴の監査 EE
カスタムコード実行(PII除去・機微クエリの拒否など) EE
ホワイトラベル(名称・アイコン・バナーのカスタマイズ) EE

判断のポイントは明快で、「検索して答えさせる」ところまではCEで完結する。一方、SSO必須・部署単位の権限分離・監査ログが要件に入った時点でEEの検討が必要になる。情シス主導の全社導入では後者の要件が最初から付いてくることが多いため、PoCをCEで進める場合でも本番要件を先に確認しておくと手戻りが少ない。

OnyxとDanswerの関係|旧名で検索したときに知っておくこと

「onyx danswer」で検索する人が一定数いる。両者は別製品ではなく、同じプロジェクトの改名前後の名前だ。

その事実は現在のリポジトリからも確認できる。onyx-dot-app/onyx のLICENSEファイルは、冒頭が今も次の1行で始まる。

Copyright (c) 2023-present DanswerAI, Inc.

開発元法人名が DanswerAI, Inc. のまま残っているのが、改名の痕跡である。実務上、旧名で情報を探すときは次の点に注意したい。

場面 旧名(Danswer)で見たときの注意
GitHub danswer-ai/danswer へのリンクは現行リポジトリへ転送される。issue番号は連続しているので過去issueもそのまま読める
Docker イメージ 旧名のイメージタグを指している手順書は更新が止まっている可能性が高い。現行の公式手順に読み替える
日本語記事 2024〜2025年前半の日本語記事は「Danswer」表記。UI・設定項目名が現在と異なる場合がある
カタカナ表記 「オニキス」と読む。日本語検索では「オニキス AI」でも同じ製品を指している
古い手順書に当たったときの見分け方はシンプルで、製品名が「Danswer」表記のままなら少なくとも改名前(2024年〜2025年前半)の情報だと判断してよい。コネクタのGUIやモデル設定まわりは改名後に大きく変わっているため、セットアップ手順は現行のドキュメントで再確認したい。

Onyxが対応するLLM|セルフホストからプロプライエタリまで

「onyx llm」で来る人が知りたいのは、どのモデルを繋げるのか、そしてローカルLLMで完結できるのかだろう。公式READMEは対応範囲をこう定義している——「Onyx supports all major LLM providers, both self-hosted (like Ollama, LiteLLM, vLLM, etc.) and proprietary (like Anthropic, OpenAI, Gemini, etc.)」。

区分 対応例 向いているケース
セルフホスト Ollama / LiteLLM / vLLM データを外部APIに出せない。GPUを自前で持っている
プロプライエタリ Anthropic(Claude)/ OpenAI / Google Gemini 回答品質を優先。運用負荷を抑えたい
混在 用途別にモデルを割り当て 機密度の高い問い合わせはローカル、それ以外はAPI

ここがOnyxの設計上の要点で、「セルフホスティング」はアプリ本体の話であり、LLMをどこで動かすかは別の選択である。アプリを自社サーバーに置いても、モデルにOpenAI APIを指定すれば質問文と検索でヒットした社内文書の断片は外部APIへ送信される。データを完全に社外へ出したくない場合は、アプリのセルフホストに加えて Ollama / vLLM などのローカルモデルを選ぶ必要がある。この2段構えを理解しないまま「セルフホストだから安全」と判断するのが、社内RAG導入で最も多い誤解だ。

Onyxは日本語で使えるか|UIと回答を分けて考える

「onyx 日本語」で調べる人向けに、UI・検索・回答の3レイヤーに分けて整理する。この3つは別々に判断する必要がある

レイヤー 日本語対応 補足
管理画面・チャットUIの表示言語 未対応(英語) リポジトリに i18n / locales に相当するディレクトリが存在しない(web/src/i18nweb/public/locales いずれも無し)。UI文言は英語のまま
日本語ドキュメントの取り込み・検索 可能 埋め込みモデル依存。多言語対応の埋め込みモデルを選ぶ必要がある
日本語での回答生成 可能 使用するLLM側の能力に依存。Claude・GPT・Gemini系はいずれも日本語で回答する

つまり「UIは英語だが、日本語の社内文書を入れて日本語で質問し日本語で答えさせる運用は成立する」というのが実態だ。管理者は英語UIを触ることになるが、エンドユーザーがチャットで使う分には日本語で完結する。UIの日本語化が要件に入っているなら、現時点では自前でのフォーク改修が必要になる点は見積もりに含めておきたい。

Onyxのライセンス|MIT部分とEnterprise(ee/)部分の境界

GitHubのライセンス表示は NOASSERTION になっており、単純な「MITのOSS」ではない。LICENSEファイルは配下を明確に2分している。

対象 ライセンス
backend/ee/ · web/src/app/ee/ · web/src/ee/ の各ディレクトリ配下 Onyx Enterprise License(各 ee ディレクトリに同一のコピーを同梱)
上記以外 MIT Expat
同梱される第三者コンポーネント それぞれの元ライセンス
「無料のOSS」と一括りにしない
本体の大半はMITだが、ee/ 配下の機能は Onyx Enterprise License の対象で、MITと同じ条件では扱えない。フォークして自社製品に組み込む、あるいは再配布を検討している場合は、使う機能が ee/ 配下かどうかを先に確認すること。社内で自己利用するだけなら実務上の問題になりにくいが、商用再配布では境界の確認が必須になる。

導入前チェックリスト|検討時に先に潰しておく5項目

ここまでで確認した仕様を、導入判断の順に並べ直しておく。上から順に潰すと手戻りが少ない

① どこまでを社外に出さないのか決める — アプリのセルフホストとLLMの選択は別問題。外部APIを使う構成では質問文と検索でヒットした社内文書の断片がAPIへ送られる。完全に閉じたいなら Ollama / vLLM 等のローカルモデルまで含めて設計する
② Lite で足りるか、Standard が要るか — 「チャットUIを触ってみたい」だけなら1GB未満のLite。社内文書を継続的に取り込んで検索させるならコネクタ同期とRAGインデックスを持つStandardが必須
③ SSO・RBAC・監査ログが要件に入るか — 入るならEnterprise Edition の検討が必要。コアのChat/RAG/Agents/ActionsはCE(MIT)で完結する
④ UIが英語のままで運用できるか — 管理画面・チャットUIは英語。エンドユーザーの日本語利用自体は問題ないが、UIの日本語化が要件なら自前改修のコストを見積もりに入れる
⑤ 再配布・製品組み込みの予定があるか — ある場合は使う機能が ee/ 配下かどうかを先に確認する。MIT部分とOnyx Enterprise License部分の境界がそのまま可否の境界になる

この5つが固まっていれば、あとは実際のセットアップ作業だけになる。Docker Composeでの具体的な構築手順・コネクタ設定・運用チューニングは、姉妹記事の Onyx導入ガイド|Docker Composeで構築・運用する に分けてまとめている。

Onyx AIの注意点と制限事項

導入前に把握しておくべきポイントを整理する。

項目 内容 対策
LLMコスト 外部LLM利用時、クエリ増加に伴い料金が増加 ローカルLLM(Llama等)で軽減可能
初期設定 データソースの接続に技術知識が必要 GUI設定で主要コネクタは簡易化
ドキュメント品質 入力データが不正確だと回答精度が低下 定期的なデータ監査を実施
日本語対応 英語比率の高い環境の方が精度が高い 多言語埋め込みモデルに切替
スケーラビリティ 大規模導入時に検索エンジンの負荷増大 Vespaの負荷分散を検討
日本語環境での精度改善
デフォルトの埋め込みモデルでは日本語の検索精度が不足する場合がある。環境変数でmultilingual-e5-large等の多言語対応モデルに切り替えると改善するケースが多い。

関連記事: RAGとは?仕組み・構築・ベクトルDB選定までの2026年実装マップ

まとめ:Onyx AI は社内RAG基盤の有力候補

Onyx AIは、セルフホスティング対応・50+コネクタ・マルチLLMという3つの柱で、企業向けRAGチャットボットの有力な選択肢だ。Docker Composeで30分程度でセットアップが完了し、管理画面からデータソースをGUIで接続できる。

  • データを社内で管理したい組織 — セルフホスティングでデータ主権を維持
  • 既存SaaSのナレッジを統合したい — 50+コネクタで主要ツールと接続
  • LLMを選びたい — OpenAI・Claude・Gemini・ローカルLLMに対応
  • 非エンジニアにもAI検索を提供したい — Web UIのチャットインターフェース

大規模なドキュメント資産を保有し、セルフホスティングで運用したい組織にとって、Onyx AIは実用的な基盤となる。

参照ソース