LoginSignup
0
0
生成AIに関する記事を書こう!
Qiita Engineer Festa20242024年7月17日まで開催中!

Perplexica と Ollama で LLM を利用した検索エンジンを試す

Posted at

はじめに

Perplexica は、前回紹介した Farfalle と同様に Perplexity の様なAI搭載の対話型検索エンジンです。LLMとして、ローカルの Ollama が利用できます。また、ローカルで動作するメタ検索エンジン SearXNG を使用しています。

セットアップ

インストール

公式リポジトリで紹介されている Docker Compose を使う方法でインストールします。

git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica
cp sample.config.toml config.toml

ここで、 config.toml を編集します。Ollamaを使う場合、OLLAMA のみ設定すればOKです。

# ... (前略) ...
OLLAMA = "http://host.docker.internal:11434"

また、docker-compose.yaml に以下を追記して、Ollama が同時に起動する様にすると便利です。

services:
# ... 中略 ...
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - 11434:11434
    volumes:
      - $HOME/.ollama:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    networks:
      - perplexica-network

設定が済んだら、起動します。
...と行きたいところですが、2024/6/18時点ではコードにバグがあるため、ファイルの修正が必要です。具体的には、 ui/components/EmptyChat.tsxui/components/Navbar.tsx
ThemeSwitcher の次の size={17} を削除します。
参考:

--- a/ui/components/EmptyChat.tsx
+++ b/ui/components/EmptyChat.tsx
@@ -12,7 +12,7 @@ const EmptyChat = ({
 }) => {
   return (
     <div className="relative">
-      <ThemeSwitcher className="absolute top-2 right-0 lg:hidden" />
+      <ThemeSwitcher size={17} className="absolute top-2 right-0 lg:hidden" />

       <div className="flex flex-col items-center justify-center min-h-screen max-w-screen-sm mx-auto p-2 space-y-8">
         <h2 className="text-black/70 dark:text-white/70 text-3xl font-medium -mt-8">

--- a/ui/components/Navbar.tsx
+++ b/ui/components/Navbar.tsx
@@ -50,7 +50,7 @@ const Navbar = ({ messages }: { messages: Message[] }) => {
       </div>
       <p className="hidden lg:flex">{title}</p>

-      <ThemeSwitcher className="lg:hidden ml-auto mr-4" />
+      <ThemeSwitcher size={17} className="lg:hidden ml-auto mr-4" />

       <div className="flex flex-row items-center space-x-4">
         <Share

修正が済んだら、今度こそ起動します。

docker compose up -d

設定

http://localhost:3000/ にアクセスします。

Perplexica_01

設定画面で、Chat model Provider に Ollama を選択し、Chat Model で使いたいモデルを選択します。Farfalle と違って、選択できるモデルに制限はありません。また、Embedding model Provider も Ollama を選択し、Embedding Model で使いたいモデルを選択します。

Perplexica_02

検索実行

前回と同じく、NVIDIA の CEO である Jen-Hsun Huang 氏について尋ねてみました。

Perplexica_03

情報源が最初に表示され、画像や動画が右側に表示されるのは、本家 Perplexity と良く似ています。また、本家と同様に、フォーカスを選択できますし、ライブラリ機能もある様です。
更に、Copilot モードと言うものがあります。まだ開発途中ですが、さまざまなクエリを生成して検索を強化し、より関連性の高いインターネットソースを見つけるモードだそうです。

Perplexica_05

まとめ

Perplexity の様な AI 搭載の対話型検索エンジンをローカルのみで動かせる Perplexica を試してみました。名前も構成も本家を強く意識した作りになっています。モデルの選択に制限が無い点やembedding modelも利用している点など、Farfalleより高機能・高性能が期待できますが、バグを放置したまま2週間ほど更新が止まっているのが気がかりです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0