AI大言語モデルベースの対話型検索エンジン
マルチモデル・検索エンジン統合 | リアルタイム対話検索 | Deep Research 深度研究対応
SearChat は、現代的なAI大言語モデルベースの対話型検索エンジンです。
🎯 主要機能:
[!IMPORTANT] 最良の結果を得るには、モデルが Tool Call (Function Calling) をサポートしている必要があります。
Deep Research モードは、AI駆動の反復的検索・分析により、あらゆるトピックに対して包括的で深度のある研究レポートを生成します。
Node.jsプロジェクトにDeep Research機能を統合したい場合:
npm install deepsearcher
詳細ドキュメント:DeepResearch NPMパッケージ
model.jsonで設定)docker-compose.yamlで設定)deploy/docker-compose.yaml ファイルを参照してください。
docker-compose.yaml ファイルを編集し、search_chat サービスの対応する環境変数を修正:
services:
search_chat:
container_name: search_chat
image: docker.cnb.cool/aigc/aisearch:v1.2.0-alpha
environment:
# サーバー設定
- PORT=3000
# 検索エンジン API Keys(必要に応じて設定)
- BING_SEARCH_KEY=your_bing_key
- GOOGLE_SEARCH_KEY=your_google_key
- GOOGLE_SEARCH_ID=your_google_cse_id
- TAVILY_KEY=your_tavily_key
- ZHIPU_KEY=your_zhipu_key
- EXA_KEY=your_exa_key
- BOCHA_KEY=your_bocha_key
# Webコンテンツ抽出(オプション)
- JINA_KEY=your_jina_key
# SearXNG設定(デフォルト含有、すぐに使用可能)
- SEARXNG_HOSTNAME=http://searxng:8080
- SEARXNG_SAFE=0
- SEARXNG_LANGUAGE=ja
- SEARXNG_ENGINES=bing,google
- SEARXNG_IMAGES_ENGINES=bing,google
# DeepResearch 設定
- DEEP_MAX_RESEARCH_LOOPS=3
- DEEP_NUMBER_OF_INITIAL_QUERIES=3
# ドメインホワイトリスト(オプション)
- WHITELIST_DOMAINS=
volumes:
- ./model.json:/app/apps/server/dist/model.json
ports:
- "3000:3000"
restart: always
docker-compose.yamlと同じディレクトリに model.json ファイルを作成・編集し、AIモデルとAPI Keyを設定:
[
{
"provider": "openai",
"type": "openai",
"baseURL": "https://api.openai.com/v1",
"apiKey": "sk-your-openai-api-key",
"models": [
{
"name": "gpt-4o-mini",
"alias": "GPT-4o Mini",
"description": "OpenAI GPT-4o Mini モデル",
"maxTokens": 262144,
"intentAnalysis": true
},
{
"name": "gpt-4o",
"alias": "GPT-4o",
"description": "OpenAI GPT-4o モデル",
"maxTokens": 262144
}
]
}
]
intentAnalysis: trueに設定されたモデルは、検索意図分析とクエリ書き換えに使用されます。応答速度を向上させるため、ここでは小さなモデルを設定することをお勧めします。
docker compose up -d
ブラウザで http://localhost:3000 にアクセス
# サービス停止
docker compose down
# 最新イメージ取得
docker pull docker.cnb.cool/aigc/searchchat:latest
# 再起動
docker compose up -d
プロジェクトは複数の検索エンジンをサポートしており、ニーズに応じて適切な検索ソースを選択できます。SearXNG検索エンジンの使用を推奨します。
利点:完全無料、API Key不要、複数検索ソースの統合、プライバシー保護
SearXNGは、複数の検索サービスの結果を統合し、ユーザーを追跡しないオープンソースのメタ検索エンジンです。Dockerデプロイに内蔵されており、すぐに使用できます。
設定オプション:
SEARXNG_ENGINES: 検索エンジンの設定 (デフォルト: bing,google)SEARXNG_LANGUAGE: 検索言語 (zh=中国語, en-US=英語, all=全て)SEARXNG_SAFE: セーフサーチレベル (0=オフ, 1=中程度, 2=厳格)[!重要]
APIを使用するためにjson形式を有効にしてください。これはsearxng/settings.ymlファイルに以下の行を追加することで実行できます:
search:
formats:
- html
- json
search_with_ai/ ├── apps/ │ ├── server/ # バックエンドサービス (Koa + TypeScript) │ │ ├── src/ │ │ │ ├── app.ts # アプリケーションエントリ │ │ │ ├── controller.ts # ルートコントローラー │ │ │ ├── interface.ts # 型定義 │ │ │ └── model.json # モデル設定 │ │ └── package.json │ └── web/ # フロントエンドアプリケーション (Vue 3 + TypeScript) │ ├── src/ │ │ ├── pages/ # ページコンポーネント │ │ ├── stores/ # Pinia状態管理 │ │ └── components/ # 共通コンポーネント │ └── package.json ├── deploy/ # デプロイ設定 │ ├── docker-compose.yaml │ ├── .env.docker │ └── model.json └── package.json # ルートディレクトリ設定
# プロジェクトのクローン
git clone https://github.com/sear-chat/SearChat.git
cd SearChat
# 依存関係のインストール (ルートで実行、全サブプロジェクトの依存関係を自動インストール)
yarn install
サーバー環境設定をコピー・編集:
# 環境設定テンプレートのコピー
cp apps/server/.env apps/server/.env.local
# 設定ファイルの編集
vim apps/server/.env.local
# フロントエンド・バックエンド開発サーバーを同時起動
yarn dev
# またはTurborepoコマンドを使用
turbo dev
アクセスURL:
# 全アプリケーションのビルド
yarn build
# または
turbo build
プロジェクトへの貢献を歓迎します!以下の手順に従ってください:
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureこのプロジェクトはMITライセンスの下で公開されています。
⭐ このプロジェクトが役に立った場合は、Starをお願いします!