検索された生成の領域は急速に進化しています。検索を実装するには、さまざまな方法があります。埋め込みとベクトルデータベースを使用する人もいれば、セマンティックグラフを使用する人もいます。したがって、さまざまなデザインがあり、さまざまなタスクがあり、デザインをタスク1に一致させることが重要です。
このハーネスの目標は、手元のタスクに最適な特定の検索デザインの理解、ベンチマーク、比較、選択を支援するために、コレクションの定義、抽象、および構成ブロックを提供します。
ハーネスは、テクノロジー +テクノロジー互換性キット(TCK)に多少似ていることを目的としています。
Javaは、言語の豊かな表現力と大規模な成熟した生態系を持つエンタープライズの世界で支配的な技術として選ばれました。 EMF Ecoreが選択されました。
このページは、コアの概念の紹介を提供し、いくつかのユースケース(タスク)とデザイン(代替)の概要を説明します。
以下の図は、ハーネスの構造とコンテキストの概要を示しています。

次のセクションでは、定義と各定義のタスク/デザインのディメンションの概要を説明します。メタモデルは、定義の一部をモデル要素としてキャプチャし、それらを機能、操作、およびサブクラスに詳しく説明します。
文書は、思考または情報の記念された表現です。このハーネス文書の目的のために:
「物理的な」実装:
「論理」の実装:
pom.xmlプロジェクトオブジェクトモデルにロードできます。Javaファイルは、解決されたタイプ/フィールド/メソッド参照を備えた構文ツリーまたはグラフにロードできます。あるドキュメント表現を別のドキュメント表現に変換します。たとえば、Swift MT 700メッセージのオブジェクトモデルへのPDFまたはOCR JSON。
特定の形式または形式のドキュメントの保存。たとえば、PDFドキュメントを含むファイルシステム。ドキュメントソースは、変換/適応される場合があります。ドキュメントソースの例の1つは、gitコミットです。 Nasdanika Gitlabモデルを使用して、GitLabからのドキュメントロードを実装できます。
ストレージおよび検索機能を提供するドキュメントのコレクション。 DPIの主要なインターフェイス(以下を参照)は、設計によって実装されます。
ドキュメントを保存する場合、リポジトリは画像認識などのタスクを実行する場合があります。
次のような複数の検索モダリティがある場合があります。
リポジトリは、他のリポジトリやデータローダーから組み立てることができます。たとえば、PDFリポジトリは、PDF - >オブジェクトモデルデータローダーとオブジェクトモデルリポジトリから組み立てられます。また、ドキュメントリポジトリは、ソースドキュメントを保存/再作成する必要がない場合があります - それを参照してドキュメントストアから取得することができます - ドキュメントのロードされたオリジナル、またはリポジトリ固有のドキュメントストア。
また、リポジトリのさまざまなデザインを作成することも可能かもしれません。たとえば、キーワード検索をサポートするリポジトリとセマンティック検索をサポートするリポジトリ。この場合、キーワード検索リポジトリクエリの結果が必要ですが、十分ではなく、セマンティック検索リポジトリの結果を検証するために使用される場合があります。
ユーザーは、Web UIを介してドキュメントリポジトリをクエリします。彼らは彼らの職務機能の一部としてそれを行うか、特定の設計のクエリ機能を評価し、フィードバックを提供することができます。これらの2つのモダリティを組み合わせることができます。ユーザーは、「チャンピオン」クエリエンジン/デザイン、例えばキーワード検索のみを使用するか、「チャレンジャー」エンジン/デザインを選択することもできます。
Web UIは、組織内の役割/位置などのユーザーコンテキストをキャプチャし、クエリの一部として設計に渡す場合があります。
ドキュメント検索拡張生成を利用することにより、生産性などのユーザー作業の品質の向上に関心のあるパーティー。
スポンサーは、「損失関数」を最小限に抑えるために、複数の基準のバランスをとる必要があります。
設計は、テクノロジーとその構成パラメーターのインスタンス化/実施形態です。
設計バリエーションポイント - さまざまな実施形態/インスタンス化と値の源で変更できるもの。例えば:
設計の寸法は、ツリーまたはより正確には指示されたグラフを形成することができます。たとえば、ベクトルデータベースバージョンは、特定のベクトルデータベースのノードの下のノードになります。
Design Provider Interface(DPI)は、特定のデザインの実装からハーネスを抽象化します。これは、デザインが実装する必要があるインターフェイスと抽象クラスのセットです。たとえば、 DocumentRepositoryインターフェイス。 DPIはJava/Ecoreで定義されており、さまざまなテクノロジーにアダプターを提供する場合があります。特に:
タスクは、ドキュメント取得の特定の使用です。たとえば、組織固有の技術文書「Spring MicroserviceをAKSに展開するにはどうすればよいですか?」でのセマンティック検索。
応答のテストドキュメント、クエリ、および評価者のコレクション。
テストランナーが実行するテストデータセット /設計の組み合わせのコレクション。
テストランナーは、入力に応じて上記の手順の一部のみを実行できます。例えば:
テストの実行は、複数のエージェント/マシンに配布できます。
テスト結果とユーザーフィードバックの保存。テスト結果とユーザーフィードバックは、テストデータセットと設計を参照するものとします。そのため、本質的には、デザインの定義ツリー/グラフ、テストデータセットの定義、およびテスト実行の結果を含むハーネスメタデータリポジトリです。
レポートを生成します。レポートは、視覚化によりHTML形式である可能性があります。可能なレポート形式:
レポートには、Web UIへのリンクが含まれている場合、またはWeb UIが単一ページアプリケーション(SPA)として実装されている場合、Web UIを「ホスト」する場合があります。
ハーネス、設計、およびテストデータセットに貢献する当事者。コミュニティメンバーは、さまざまなコンポーネントで異なる役割を果たす場合があります。
---進行中の作業---
このセクションでは、検索された生成と検索の一般的な検索のためのいくつかのタスク(ユースケース)の概要を説明します。
寸法:
例 - 大企業のテクノロジー機能:
上記のそれぞれには、タイムディメンションがあります - 上部のテックスタックの更新、下部にリリースされます。視覚化については、TOGAFアーキテクチャの風景を参照してください。
このような環境では、ユーザーは、企業におけるユーザーの位置と役割、および割り当てられている努力に固有のドキュメントを取得できる検索ソリューションを必要とします。たとえば、現在のリリースに取り組んでいるJava開発者は、Java 17に関する情報が必要になる場合があります。同じ開発者が将来のリリースに取り組むように割り当てられている場合、たとえばJava 20に関する情報が必要になる場合があります。
寸法:
寸法:
トト。業界情報によると、非常に多数のドキュメントをターゲットにしています - 運用ドキュメントのユースケースと一致します
トト。少数のドキュメント(手順)の方が良い場合があります - それらはすべてメモリに収まる可能性があり、検索はセマンティックグラフで実行できます。ベクトルデータベースケースでは、インデックスを構築する1つの方法は、グラフを使用することです - 階層航行可能な小さな世界(HNSW)
トト。技術文書のユースケースに適しているかもしれません:
このプロセスにより、数万のドキュメントを備えた比較的小さなグラフ/モデル(知識ベース)が多数(数百)になります。
グラフのニューラルネットワークの設計スペース、スタンフォードCS224Wの講義部分:グラフ付きML、スライド↩