AIで検索
AIを使った会話ベースの検索エンジンを構築するためのシンプルな実装です。Node.js & Vue3を使用しています。
- LLMのサポート: OpenAI, Google, Lepton, DeepSeek, Ollama(ローカル)
- 検索エンジンのサポート: Bing, Google, SearXNG(無料)
- Web検索プラグインのサポート: ChatGLM
- カスタマイズ可能な美しいUIインターフェース
- ダークモードのサポート
- モバイル表示のサポート
- Ollama, LMStudioのサポート
- i18nのサポート
- コンテキストを使用したQ&Aの継続
- 結果のキャッシュ、強制リロードのサポート
- 画像検索のサポート
- 完全なウェブコンテンツの抽出、Jina Reader URLに基づく。
プロジェクトの事前構築イメージ Docker Hub
1.コードを取得します。
git clone https://github.com/yokingma/search_with_ai.git
cd search_with_ai
2.編集 .env.docker ファイル。 deploy
ディレクトリ内。
.env.dockerファイルを変更した場合、Dockerコンテナを再起動するだけで変更が反映されます。
少なくとも1つのKEYを設定する必要があります。
...
# OpenAIのキーとベースURL
OPENAI_KEY=#your key
OPENAI_PROXY_URL=#baseURL
# Searxngのホスト名。
SEARXNG_HOSTNAME=http://searxng:8080
3.model.json ファイルを編集します。 [オプション]
{
"platform": "openai",
"type": "openai",
// 追加または変更するモデル
"models": ["o1-preview", "o1-mini", "gpt-4o", "gpt-4o-mini"]
}
4.docker-composeで実行します。
docker compose up -d
その後、http://localhost:3000にアクセスします。
5.更新
- Docker DesktopまたはDocker CLIを使用して古いイメージを削除します(必要に応じて)
docker compose down
を実行します。docker compose up -d
を実行します。
- OpenAI ChatGPT
- Google Gemini
- Lepton LLama2、Mixtral8*7B
- AliYun Qwen
- Baidu Wenxin
- 01.ai
- Moonshot(Kimi)
- DeepSeek
- ChatGLM
- Tencent Hunyuan
- Ollama, LMStudio
内蔵の検索エンジン: Bing, Google, SearXNG
SearXNGをsearxng-dockerでインストールします。
SearXNGは、さまざまな検索サービスやデータベースから結果を集約する無料のインターネットメタ検索エンジンです。このサービスはユーザーを追跡したりプロファイルを作成したりしないため、オンラインで匿名性を求めるユーザーに保護を提供します。さらに、SearXNGはTorを介してオンライン匿名性を実現することもできます。
SearxNGをインストールすると、デフォルトでアクティブな出力形式はHTML形式のみです。APIを使用するには、json形式を有効にする必要があります。これを行うには、settings.ymlファイルに次の行を追加します。
search:
formats:
- html
- json
そして、リミッターをfalseに設定します。
server:
limiter: false # デフォルトはtrue
.envファイルでホストを設定することもできます。
# SEARXNG_HOSTNAME=<host>
Bing Web Search APIを使用するには、このリンクにアクセスしてBingのサブスクリプションキーを取得してください。
Bing Search APIは有料ですが、月に1000回の無料呼び出し枠があります。
Google検索には、SearchApiのSearchApi Google Search API、SerperのSerper Google Search API、またはGoogleのProgrammable Search Engineの3つのオプションがあります。
[2024/09/17] Zhipu AIのChatGLM Web Searchプラグインが追加され、中国語の検索エンジンとして使用されます。
Zhipu AIのglm-flashは現在無料であり、そのWeb Searchプラグインも無料です。これら2つを基に、ChatGLMが無料の中国語検索エンジンとして追加されました。
[2024/11/24] Jina Reader URL APIが追加され、完全なウェブコンテンツの抽出がサポートされました。 WEBページで[研究]オプションモードを選択した場合、Jina APIが呼び出され、ウェブページの全文内容をAIのコンテキスト参考資料として抽出します。JINA_KEYを設定する必要があります。
# JINA API KEY
JINA_KEY=#your key
Node.js >= 20 Turborepo PackageManager: [email protected]
- ディレクトリ構造
apps/
| server: サーバー
| web: フロントエンド
deploy/
| docker-compose.yaml: dockerデプロイファイル
| .env.docker: サーバー設定ファイル
| model.json: サーバーモデル設定ファイル
...
- 開発&ビルド プロジェクトのルートで:
turbo dev
# or
turbo build
- 更新 プロジェクトのルートで:
git pull
このリポジトリのソースコードは、MITライセンスの下で公開されています。