ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。
セマンティックコード検索
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise
- 提供形態: GitLab.com、GitLab Self-Managed
- ステータス: ベータ版
管理者向けドキュメントについては、セマンティックコード検索管理を参照してください。
キーワード一致ではなく意味に基づいて、リポジトリ内の関連するコードスニペットを検索するには、セマンティックコード検索を使用します。
セマンティックコード検索は、コードベースをベクターデータベースに保存されたベクター埋め込みに変換します。検索すると、あなたのクエリは埋め込みに変換され、あなたのコード埋め込みと比較されて、意味的に類似した結果が検索されます。このアプローチにより、キーワードが一致しない場合でも関連するコードを見つけることができます。
前提条件
- GitLab Self-Managedでは、セマンティックコード検索をインスタンスに対して有効にします。GitLab.comでは、セマンティックコード検索はデフォルトで有効になっています。
- ベータ機能と実験的機能を有効にします:
- GitLab.comでは、トップレベルグループに対して有効にします。
- GitLab Self-Managedでは、インスタンスに対して有効にします。
- GitLab Duoをプロジェクトに対して有効にします。
セマンティックコード検索を使用する
セマンティックコード検索は、複数のインターフェースから利用できます:
- REST API: プログラムでコードベースを検索するには、
GET /api/v4/projects/:id/search/semanticエンドポイントを使用します。 - Model Context Protocol(MCP)サーバーツール: エージェント型ワークフローで
semantic_code_searchツールを使用します。 - CLI: コマンドラインアクセスには、
glab search semanticコマンドを使用します。
アドホックな初回インデックス作成
GitLabプロジェクトでセマンティックコード検索を初めて使用する場合:
- リポジトリ内のコードのインデックスが作成され、ベクター埋め込みに変換されます。
- これらの埋め込みは、設定済みのベクターストアに保存されます。
- コードがデフォルトブランチにプッシュされると、更新は増分的に処理されます。
大規模なリポジトリの初回インデックス作成には時間がかかる場合があります。