LoginSignup
4
0

開発者向けAI検索エンジン「Phind」を触ってみたので紹介する

Last updated at Posted at 2024-03-05

じわじわ浸透しつつあるLLM、生成AI、AI検索エンジンを利用した業務支援
もっぱら定番なのは、最近Windowsに標準搭載されたCopilotで、私の会社ではシェア率100%と思われる。

実際、今や生成AIなしには仕事ができないほど、その影響は絶大。近頃もっぱらの雑談相手である。

Copilotでも十分実用には足りているのだが、この度Phindというサービスと出会い、利用してみたのでご紹介。

Phindとは

Phindは、より開発者向けにファインチューニングされたLLM、及びそれを利用したAI検索エンジンサービス

以下Aboutから引用

Phind is an intelligent answer engine for developers. Focused on helping you solve challenging problems, it uses generative AI to give you the answer you're looking for in seconds instead of hours. Connected to the internet and, optionally, to your codebase, Phind always maintains the right context.
--日本語訳--
Phindは、開発者のためのインテリジェントな回答エンジンです。困難な問題の解決を支援することに重点を置き、生成AIを使用して、数時間ではなく数秒で探している答えを返します。インターネットに接続され、オプションであなたのコードベースにも接続できるPhindは、常に正しいコンテキストを維持します。

Metaがリリースしたコーディング支援LLM 「Conde Llama」をベースにチューニングが施されたPhind-CodeLlama-34B(以下 Phind-34B)が、本サービスの基幹。
なお使用するLLMは選択可能で、他に「Phind-70B」、「GPT-4」を利用することも出来る(ただし、有料版)。

あとどうやら、コーディング領域においてはGPT-4を上回るらしい

Phindのいいところ

アカウント作成が不要、かつ基本利用料が無料

上で少し触れたが、Phind-34Bを利用する場合は利用料が無料。
さらに、見たところ回答生成数に制限がない
(まあ、Copilotも実質制限ないけど)
Copilotと比較しても、かなり大きなアドバンテージ。

回答の生成速度が速い

少し触ってみただけな上に体感の話にはなるが、Copilot、あるいはGPT-4に比べて、回答の生成速度が速い。
また後述するが、回答の生成に先んじてAIが参考として使用したソースの一覧が提示される
回答の生成を待つことなく、概ねの回答の方針を得ることが出来るのはかなりUXがよい。

ソースの提示が素晴らしい

以下がPhindのUIである。

Pasted image 20240304165928.png

注目したいのは、右カラムの「SOURCES」。
AIが「何を根拠として」その回答の生成に至ったかを一覧形式で確認することができる。

我々がCopilotを業務支援として利用する場合、結局何らかの形で「ウラ取り」をしないといけない。
ただCopilot(というかGPT-4?)はたまにリファレンスを省略するキライがある。

一方のPhindは、実際回答内に表れているかそうでないかは問わず、回答に関連性のあるソースを提示する。
この点は、業務支援として利用するうえで大変心強い。

回答をURLリンクで共有できる

これも、なかなか助かる機能。
実際に出力された回答をURLで共有することが出来る。

共有されたURLから表示されるページは、実際に出力されたものと全く同じもの。もちろん、SOURCESも同一
AIの回答をチーム等へ共有する際、いちいち手で情報をまとめ直さなくとも、そのままURLを貼って済むのはかなりQOL高し。

ちなみに以下は、社内勉強会で「RIGHT JOINって使い道あるの?」という話題が挙がったのでPhindに聞いてみたもの。URLを踏んでもらえばわかるが、実際の回答が完全にキャッシュされており、さらに会話を続けることも可能

一方、URLで保存されているページにどれほどの永続性があるかは未検証なので、ドキュメント等長く残るもので利用する場合、そのまま使うのは非推奨。

では実際に使ってみる

上ですでにやっているが、Phindの利用の具体例を挙げる。

生成AIにIRIS ObjectScriptについて聞いてみよう! のコーナーです。

IRIS ObjectScriptとは、RDBMであるIRIS(旧 Caché)を操作するための、MUMPSを前身とするプログラミング言語。要は、マイナーなやつ

今回はテーマとして「電子カルテ」を挙げ、以下のようなプロンプトを発行した。

ObjectScriptを使用し、「電子カルテ」を示すクラスを例示してください

結果は以下の通りである。

Pasted image 20240304165942.png

Class ElectronicMedicalRecord Extends %Persistent
{
    // 患者のID
    Property PatientID As %String;
    
    // 患者の名前
    Property PatientName As %String;
    
    // 患者の年齢
    Property PatientAge As %Integer;
    
    // 診察日
    Property ConsultationDate As %Date;
    
    // 診察内容
    Property ConsultationContent As %String;
    
    // 診察結果
    Property ConsultationResult As %String;
    
    // 診察医師の名前
    Property DoctorName As %String;
    
    // 電子カルテを保存するメソッド
    Method SaveRecord() As %Status
    {
        // オブジェクトを保存
        Quit $$$OK
    }
    
    // 電子カルテを取得するメソッド
    Method GetRecord() As %Status
    {
        // オブジェクトを取得
        Quit $$$OK
    }
}

コードについては普通に無難なものが出力されているようだが、個人的に感心したのはSOURCESの1番目に提示されているソース。
コードだけでなく、「電子カルテ」というドメインに対する根拠も提示してくれている
GPT-4も裏ではこういうソースを参照しているのだろうが、それを開発者へ示してくれるのはかなり心強く感じる。

日本語での受け答え

現在ではかなり改善されているらしいが、日本語での回答生成に若干の不安定さがあるようだ。
少なくとも、ここ数日利用してみた感じでは、不自然な日本語があるようには見えない。
ただし、複雑な回答を求めると、英語で返されることもあるにはあるらしい。

余談

(20240305 追記)
以下の余談は、私がPhindに対しIgnoringSearchResultを指示していたから発生した現象です。
以下のボタンで切り替えられます。何かの拍子に触ってしまっていたようです。
image.png

それはそれとして出力は面白かったので残しておきます。

一応雑談もできます。けど、かなりアホ

Pasted image 20240304172931.png

ペペロンチーノは、イタリアの伝統的なペペロニアスリーチ(ペペロニアノ・スリーチ)を基にしたもので、その特徴的な風味と香りを持つためには、以下の具材が必要です。

### 主な具材

- **ペペロニアスリーチ**:ペペロニアスリーチは、ペペロンチーノにおける重要な具材です。ペペロニアスリーチは、酢、塩、お酒、干しペペロニオニオ、カプサイシアム、ガラムミン、クルメン、マジェンティノ、ニュートム、クエンターン、ブラックペッパー、オレガノ、サフロンの香料を含む独特の磨かれた粉です。ペペロンチーノの風味と香りは、このスパイスミックスによって得られます。

- **チーズ**:ペペロンチーノの代名詞とも言われるチーズは、ペペロニアスリーチと一緒に使用されます。チーズは、ペペロンチーノのクリーミーな風味と濃厚な味を強調します。

- **肉類**:ペペロンチーノのベースには、通常、牛肉や豚肉が使用されます。肉類は、ペペロンチーノの濃厚な風味と柔らかさを提供します。

### その他の具材

- **干しペペロニオニオ**:ペペロンチーノの風味を作り出すために不可欠な香料です。干しペペロニオニオは、ペペロンチーノの特徴的なピーナットのような風味を加えます。

- **ガラムミン**:ペペロンチーノの風味をより濃厚にするために使用されます。ガラムミンは、ペペロンチーノのクリーミーな風味を強調します。

- **クルメン**:ペペロンチーノに風味を加えるための香料です。クルメンは、ペペロンチーノのクリーミーな風味を強調します。

### 作り方

1. **ペペロニアスリーチの準備**:ペペロニアスリーチを準備します。これは、ペペロニアスリーチの粉を酢、塩、お酒、干しペペロニオニオ、カプサイシアム、ガラムミン、クルメン、マジェンティノ、ニュートム、クエンターン、ブラックペッパー、オレガノ、サフロンと一緒に磨いて作ります。

2. **肉類の準備**:牛肉や豚肉を用意し、炭火で焼いて柔らかくします。

3. **チーズの準備**:チーズを準備し、ペペロニアスリーチと一緒に混ぜます。

4. **ペペロンチーノの作り方**:炭火で焼いた肉類にチーズとペペロニアスリーチを加え、具材を混ぜながら焼きます。ペペロンチーノの風味と香りを得るために、長時間焼いて濃厚にします。

ペペロンチーノを作る際には、具材のバランスを重視し、ペペロニアスリーチを中心に、その他の具材を適切に混ぜ合わせることが重要です。また、焼き方や焼いた時間も、ペペロンチーノの風味と香りを最大限に引き出すために調整する必要があります。

なんだペペロニアスリーチて(404)。
干しペペロニオニオって何(404)。

ちなみに

Copilot(GPT-4)はこんな感じ。

ペペロンチーノはシンプルながらも美味しいパスタ料理で、基本的な具材は以下の通りです:

- **オリーブオイル**
- **にんにく**
- **赤唐辛子**

これらの基本的な具材に加えて、以下のような具材を追加すると、風味が増して美味しくなります:

1. **アンチョビ**:塩味と深みを加えます。
2. **パセリ**:フレッシュな風味と色彩を加えます。
3. **ベーコンまたはパンチェッタ**:肉感と旨味を加えます。

これらの具材を加えることで、シンプルながらも味わい深いペペロンチーノが作れます。お好みに合わせて具材を調整してみてください。楽しい料理を!

GPT-4のほうが必要最低限で、より自然な回答って感じ。
流石にこの辺りは汎用に振ってるGPT-4に敵うはずもなく。

しかし、この結果はむしろ、Phindがエンジニア向けに良くファインチューニングされている証左と言えるやもしれない。
(機能が削ぎ落とされた特務仕様機って、良いですよね)

4
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
4
0