過去数ヶ月間で開発してきたツール、Devv (https://devv.ai) を紹介します。簡単に言えば、開発者向けに特化したAI駆動の検索エンジンです。
既に多くのAI検索エンジン(Perplexity、You.com、Phind、その他のオープンソースプロジェクト)が利用可能な中で、なぜ新たなものが必要なのかと疑問に思うかもしれません。
生成型検索エンジンはRAG(Retrieval-Augmented Generation)と大規模言語モデル(LLM)の組み合わせで構築されていることは周知の事実です。上記の多くの製品は一般的な検索エンジン(GoogleやBingのAPI)のインデックスを使用していますが、私たちは異なるアプローチを取りました。
開発ドメインに特化した垂直検索インデックスを作成しました。これには以下が含まれます:
インデックスの構成
ドキュメント
プログラミング言語やライブラリの信頼できる情報源です。多くの方がDash (https://kapeli.com/dash) やdevdocs (https://devdocs.io/) のユーザーだと思います。
コード
自然言語ではありませんが、豊富な文脈情報を含んでいます。Djangoフレームワークに関する質問があれば、Djangoのリポジトリからのコードスニペットが最も説得力があります。
ウェブ検索
追加の文脈情報を含むため、検索エンジンからのデータも使用しています。
理由
- インデックスの品質がRAGシステムにとって重要であり、その効果がシステム全体の出力品質を決定します。
- LLMは急速に進化しているため、インデックス(RAG)に重点を置いています。現在優れているモデルも数ヶ月後には更に良いものに取って代わられる可能性があり、LLMのファインチューニングのコストも比較的低くなっています。
- 全てのプレイヤーが現在、どのようなLLM製品が最適かを探っています。私たちも異なる洞察を提供したいと考えています(また、基盤インフラの一部をオープンソース化し、オープンソースコミュニティへの貢献を期待しています)。
主な製品機能
-
3つのモード:
- 高速モード:数秒以内に素早い回答を提供
- エージェントモード:複雑なクエリに対して、Devvエージェントが質問を推論し適切な解決策を選択
- GitHubモード(現在ベータ版):自身のGitHubリポジトリと直接リンクし、特定のコードベースについて問い合わせ可能
-
クリーンで直感的なUI/UXデザイン
-
現在はウェブ版のみですが、Chrome拡張機能とVSCodeプラグインも近日公開予定
インデックス構築の技術詳細
ドキュメントセクション
devdocsプロジェクトのクローラーロジックを参考にしたスクリプトを使用して、ほとんどのドキュメントソースをクロールし、関数/シンボルの次元に応じてスライスしてからベクトルデータベースに埋め込みます。
コード
埋め込みだけでなく特別な処理が必要なため、言語タイプごとにカスタムパーサーを開発しました。リポジトリ内の論理構造(アーキテクチャレイアウト、関数定義間の呼び出し関係など)を抽出し、LMMを通じて意味的に処理します。
ウェブ検索
開発者向けニッチをターゲットにした自作のインデックスと、従来のAPIベースの手法を組み合わせています。関連サイト(ブログ、フォーラム、テックニュースサイトなど)をクロールしました。
エージェントモードでは、実際にマルチエージェントフレームワークを開発しました。まずユーザーのクエリを分類し、その分類に基づいて異なるエージェントを選択して問題に対処します。これらの様々なエージェントは、異なるモデルと解決手順を採用しています。