Skip to content

Latest commit

 

History

History
208 lines (151 loc) · 7.11 KB

README_JP.md

File metadata and controls

208 lines (151 loc) · 7.11 KB


AIで検索

AIを使った会話ベースの検索エンジンを構築するためのシンプルな実装です。Node.js & Vue3を使用しています。

ライブデモ

Github Stars License Report a bug Ask a question

English 中文 日本語

リポジトリ: GitHub Gitee CNB

機能

  • LLMのサポート: OpenAI, Google, Lepton, DeepSeek, Ollama(ローカル)
  • 検索エンジンのサポート: Bing, Google, SearXNG(無料)
  • Web検索プラグインのサポート: ChatGLM
  • カスタマイズ可能な美しいUIインターフェース
  • ダークモードのサポート
  • モバイル表示のサポート
  • Ollama, LMStudioのサポート
  • i18nのサポート
  • コンテキストを使用したQ&Aの継続
  • 結果のキャッシュ、強制リロードのサポート
  • 画像検索のサポート
  • 完全なウェブコンテンツの抽出、Jina Reader URLに基づく。

Dockerでのデプロイ (推奨)

Dockerのインストール.

プロジェクトの事前構築イメージ 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を実行します。

LLMs

サポート

  • OpenAI ChatGPT
  • Google Gemini
  • Lepton LLama2、Mixtral8*7B
  • AliYun Qwen
  • Baidu Wenxin
  • 01.ai
  • Moonshot(Kimi)
  • DeepSeek
  • ChatGLM
  • Tencent Hunyuan
  • Ollama, LMStudio

ローカルLLM

OllamaLMStudioのサポート

検索エンジン

内蔵の検索エンジン: Bing, Google, SearXNG

SearXNG (無料、キー不要)

SearXNGsearxng-dockerでインストールします。

SearXNGは、さまざまな検索サービスやデータベースから結果を集約する無料のインターネットメタ検索エンジンです。このサービスはユーザーを追跡したりプロファイルを作成したりしないため、オンラインで匿名性を求めるユーザーに保護を提供します。さらに、SearXNGはTorを介してオンライン匿名性を実現することもできます。

SearxNGをインストールすると、デフォルトでアクティブな出力形式はHTML形式のみです。APIを使用するには、json形式を有効にする必要があります。これを行うには、settings.ymlファイルに次の行を追加します。

search:
    formats:
        - html
        - json

そして、リミッターをfalseに設定します。

server:
   limiter: false # デフォルトはtrue

.envファイルでホストを設定することもできます。

# SEARXNG_HOSTNAME=<host>

Bing検索

Bing Web Search APIを使用するには、このリンクにアクセスしてBingのサブスクリプションキーを取得してください。

Bing Search APIは有料ですが、月に1000回の無料呼び出し枠があります。

Google検索

Google検索には、SearchApiのSearchApi Google Search API、SerperのSerper Google Search API、またはGoogleのProgrammable Search Engineの3つのオプションがあります。

ChatGLM Web Search

[2024/09/17] Zhipu AIのChatGLM Web Searchプラグインが追加され、中国語の検索エンジンとして使用されます。

Zhipu AIのglm-flashは現在無料であり、そのWeb Searchプラグインも無料です。これら2つを基に、ChatGLMが無料の中国語検索エンジンとして追加されました。

Jina Reader URL API

[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ライセンスの下で公開されています。

🚀トップに戻る