LoginSignup
7
5

じゃあBedrockのナレッジベースのPDFパーサーはどう読めているのか?

Last updated at Posted at 2024-05-27

何が「じゃあ」なんだって話ですが、Pythonの各種PDFパーサーは雑に使用すると以下のようにうまく読める場所と読めない場所があったので、じゃあナレッジベースではどう読めているのか?を確認します。

ナレッジベース(pgvector)の準備

SQLで確認したかったので以下のすばらしい記事を丸ごと参考にしました。
クエリエディタで接続可能だと知らなかった…

pgvectorをナレッジベースで使う為の日本語ドキュメントなり記事なりハンズオンなりって他に見た記憶が無いのですが他に現存しているものあるんですかね。

使用するPDF

同じ個所で確認をしたいのでBedrockユーザーガイドの日本語版を同期しておきます。
途中で切れるのを避けたかったのでチャンクサイズはデカめ(1000)にしてあります。

問題だった表の箇所の取得

select chunks from bedrock_integration.bedrock_kb where chunks like '%リージョンによって制限される機能については、次の表を参照してください。%'
取得結果(2行)
.................................................................................... dcccxxxiv   xi        Amazon Bedrock ユーザーガイド   Amazon Bedrock とは   Amazon Bedrock は、主要な AI スタートアップや Amazon が提供する高パフォーマンスな基盤モデ ル (FM) を、統合 API を通じて利用できるようにするフルマネージド型サービスです。さまざまな基 盤モデルから選択して、ユースケースに最適なモデルを見つけることができます。Amazon Bedrock  には、セキュリティ、プライバシー、責任のある AI を備えた生成 AI アプリケーションを構築するた めのさまざまな機能も用意されています。Amazon Bedrock を使用すると、ユースケースに適した最 善の基盤モデルを簡単に試して評価したり、ファインチューニングや検索拡張生成 (RAG) などの手 法を使用して基盤モデルをデータでプライベートにカスタマイズしたり、エンタープライズシステム やデータソースを使用してタスクを実行するエージェントを構築したりできます。   Amazon Bedrock のサーバーレスエクスペリエンスを使用すると、インフラストラクチャを管理す ることなく、独自のデータを使用して基盤モデルをすばやくプライベートにカスタマイズし、 AWS  ツールを使用して簡単かつ安全に統合してアプリケーションにデプロイできます。   トピック   • Amazon Bedrock の機能   • Amazon Bedrock の料金   • サポートされている AWS リージョン   • 主な定義   Amazon Bedrock の機能   Amazon Bedrock 基盤モデルを活用して、次の機能を確認してください。リージョン別の機能制限に ついては、「」を参照してくださいAWS 地域別のモデルサポート。   • プロンプトと設定を試す – さまざまな設定や基盤モデルを使用してプロンプトを送信し、モデル 推論を実行することで、レスポンスを生成できます。API またはコンソールのテキスト、イメー ジ、チャットのプレイグラウンドを使用して、グラフィカルインターフェイスで試すことができま す。準備ができたら、InvokeModel API にリクエストを送信するようにアプリケーションを設定 します。   • 独自のデータソースの情報でレスポンスの生成を強化する – 問い合わせ対象となるデータソース をアップロードしてナレッジベースを作成し、基盤モデルのレスポンスの生成を強化できます。   Amazon Bedrock の機能 1        Amazon Bedrock ユーザーガイド   • 顧客の支援方法を推論するアプリケーションを作成する – 基盤モデルを使用し、API 呼び出しを行 い、(オプションで) ナレッジベースに問い合わせ、顧客に代わってタスクを推論して実行するエー ジェントを構築できます。   • トレーニングデータを使用してモデルを特定のタスクや領域に適応させる – ファインチューニン グや継続的な事前トレーニングのためのトレーニングデータを提供することで Amazon Bedrock  基盤モデルをカスタマイズし、モデルのパラメータを調整したり、特定のタスクや領域でのパ フォーマンスを向上させたりできます。   • FM ベースのアプリケーションの効率と出力を向上させる – 基盤モデルのプロビジョンドスルー プットを購入すると、モデルの推論を割引料金でより効率的に実行できます。   • ユースケースに最適なモデルを判断する – 組み込みまたはカスタムのプロンプトデータセットを 使用してさまざまなモデルの出力を評価し、アプリケーションに最適なモデルを判断できます。   Note   Amazon Bedrock のモデル評価はプレビューリリースであり、変更される可能性がありま す。   • 不適切または望ましくないコンテンツの防止 – Amazon Bedrock のガードレール機能を使用して、 生成 AI アプリケーションに保護手段を実装できます。   Note   Amazon Bedrock のガードレール機能は限定プレビューリリースに付属しています。アク セスをリクエストするには、 AWS アカウント マネージャーにお問い合わせください。   Amazon Bedrock の料金   にサインアップすると AWS、Amazon Bedrock を含む AWSのすべてのサービスに AWS アカウント が自動的にサインアップされます。ただし、料金が発生するのは実際に使用したサービスの分だけで す。   請求を表示するには、AWS Billing and Cost Management コンソールで請求およびコスト管理ダッ シュボードに移動します。 AWS アカウント 請求の詳細については、「 AWS Billing ユーザーガイ ド」を参照してください。 AWS 請求および についてご質問がある場合は AWS アカウント、 AWS  サポートにお問い合わせください。   Amazon Bedrock の料金 2    https://console.aws.amazon.com/billing/  https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html  https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html  https://aws.amazon.com/contact-us/  https://aws.amazon.com/contact-us/      Amazon Bedrock ユーザーガイド   Amazon Bedrock では、どのサードパーティーの基盤モデルで推論を実行する場合でも料金がかかり ます。料金は、入力トークンと出力トークンの量、およびモデル用のプロビジョンドスループット の購入有無によって決まります。詳細については、Amazon Bedrock コンソールの [モデルプロバイ ダー] ページを参照してください。各モデルの料金は、モデルバージョンの後に記載されています。 プロビジョンドスループットの購入の詳細については、「Amazon Bedrock のプロビジョニングされ たスループット」を参照してください。   詳細については、「Amazon Bedrock の料金体系」ページを参照してください。   サポートされている AWS リージョン Amazon Bedrock がサポートするリージョンのサービスエンドポイントについては、「Amazon  Bedrock エンドポイントとクォータ」を参照してください。   各リージョンがサポートする基盤モデルについては、「」を参照してくださいAWS 地域別のモデル サポート。   Note   米国東部 (バージニア北部) および米国西部 (オレゴン) ではすべての機能を使用できます。   リージョンによって制限される機能については、次の表を参照してください。   リージョン モデル評価 ナレッジ ベース   エージェン ト   ファイン チューニン  グ (カスタ ムモデル)   継続的な事 前トレー  ニング (カ スタムモデ ル)   プロビジョ ンドスルー プット   米国東部 (バージニ  ア北部)   はい はい はい はい はい はい   米国西部  (オレゴン)   はい はい はい はい はい はい   アジアパ シフィッ   いいえ いいえ いいえ いいえ いいえ いいえ   サポートされている AWS リージョン 3    https://console.aws.amazon.com/bedrock/home#/providers  https://console.aws.amazon.com/bedrock/home#/providers  https://aws.amazon.com/bedrock/pricing  https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region  https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region      Amazon Bedrock ユーザーガイド   リージョン モデル評価 ナレッジ ベース   エージェン ト   ファイン チューニン  グ (カスタ ムモデル)   継続的な事 前トレー  ニング (カ スタムモデ ル)   プロビジョ ンドスルー プット   ク (シンガ ポール)   アジアパシ フィック  (東京)   いいえ いいえ いいえ いいえ いいえ いいえ   欧州 (フラ ンクフル ト)   いいえ いいえ いいえ いいえ いいえ いいえ   AWS  GovCloud  (米国西 部)   いいえ いいえ いいえ はい いいえ はい (ファ インチュー ニングされ たモデルの  み、コミッ トメント期 間なし)   主な定義   この章では、Amazon Bedrock が提供する内容とその仕組みを理解するのに役立つ概念の定義につい て説明します。を初めて使用する場合は、まず基本概念をお読みください。Amazon Bedrock の基本 を理解したら、Amazon Bedrock が提供する高度な概念と機能について調べることをお勧めします。   基本概念   次のリストでは、生成 AI と Amazon Bedrock の基本機能の基本概念を紹介します。   • 基盤モデル (FM) — 多数のパラメータを持ち、大量の多様なデータに基づいてトレーニングされ た AI モデル。基盤モデルは、さまざまなユースケースに対してさまざまなレスポンスを生成で きます。基盤モデルはテキストまたは画像を生成し、入力を埋め込みに変換することもできま   主な定義 4        Amazon Bedrock ユーザーガイド   す。Amazon Bedrock 基盤モデルを使用する前に、 へのアクセスをリクエストする必要がありま す。基盤モデルの詳細については、「」を参照してくださいAmazon Bedrock でサポートされてい る基盤モデル。   • ベースモデル — プロバイダーによってパッケージ化され、すぐに使用できる基盤モデ ル。Amazon Bedrock は、主要なプロバイダーが提供する業界でも先行するさまざまな基盤モデル を提供しています。詳細については、「Amazon Bedrock でサポートされている基盤モデル」を参 照してください。

• FM ベースのアプリケーションの効率と出力を向上させる – 基盤モデルのプロビジョンドスルー プットを購入すると、モデルの推論を割引料金でより効率的に実行できます。   • ユースケースに最適なモデルを判断する – 組み込みまたはカスタムのプロンプトデータセットを 使用してさまざまなモデルの出力を評価し、アプリケーションに最適なモデルを判断できます。   Note   Amazon Bedrock のモデル評価はプレビューリリースであり、変更される可能性がありま す。   • 不適切または望ましくないコンテンツの防止 – Amazon Bedrock のガードレール機能を使用して、 生成 AI アプリケーションに保護手段を実装できます。   Note   Amazon Bedrock のガードレール機能は限定プレビューリリースに付属しています。アク セスをリクエストするには、 AWS アカウント マネージャーにお問い合わせください。   Amazon Bedrock の料金   にサインアップすると AWS、Amazon Bedrock を含む AWSのすべてのサービスに AWS アカウント が自動的にサインアップされます。ただし、料金が発生するのは実際に使用したサービスの分だけで す。   請求を表示するには、AWS Billing and Cost Management コンソールで請求およびコスト管理ダッ シュボードに移動します。 AWS アカウント 請求の詳細については、「 AWS Billing ユーザーガイ ド」を参照してください。 AWS 請求および についてご質問がある場合は AWS アカウント、 AWS  サポートにお問い合わせください。   Amazon Bedrock の料金 2    https://console.aws.amazon.com/billing/  https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html  https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html  https://aws.amazon.com/contact-us/  https://aws.amazon.com/contact-us/      Amazon Bedrock ユーザーガイド   Amazon Bedrock では、どのサードパーティーの基盤モデルで推論を実行する場合でも料金がかかり ます。料金は、入力トークンと出力トークンの量、およびモデル用のプロビジョンドスループット の購入有無によって決まります。詳細については、Amazon Bedrock コンソールの [モデルプロバイ ダー] ページを参照してください。各モデルの料金は、モデルバージョンの後に記載されています。 プロビジョンドスループットの購入の詳細については、「Amazon Bedrock のプロビジョニングされ たスループット」を参照してください。   詳細については、「Amazon Bedrock の料金体系」ページを参照してください。   サポートされている AWS リージョン Amazon Bedrock がサポートするリージョンのサービスエンドポイントについては、「Amazon  Bedrock エンドポイントとクォータ」を参照してください。   各リージョンがサポートする基盤モデルについては、「」を参照してくださいAWS 地域別のモデル サポート。   Note   米国東部 (バージニア北部) および米国西部 (オレゴン) ではすべての機能を使用できます。   リージョンによって制限される機能については、次の表を参照してください。   リージョン モデル評価 ナレッジ ベース   エージェン ト   ファイン チューニン  グ (カスタ ムモデル)   継続的な事 前トレー  ニング (カ スタムモデ ル)   プロビジョ ンドスルー プット   米国東部 (バージニ  ア北部)   はい はい はい はい はい はい   米国西部  (オレゴン)   はい はい はい はい はい はい   アジアパ シフィッ   いいえ いいえ いいえ いいえ いいえ いいえ   サポートされている AWS リージョン 3    https://console.aws.amazon.com/bedrock/home#/providers  https://console.aws.amazon.com/bedrock/home#/providers  https://aws.amazon.com/bedrock/pricing  https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region  https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region      Amazon Bedrock ユーザーガイド   リージョン モデル評価 ナレッジ ベース   エージェン ト   ファイン チューニン  グ (カスタ ムモデル)   継続的な事 前トレー  ニング (カ スタムモデ ル)   プロビジョ ンドスルー プット   ク (シンガ ポール)   アジアパシ フィック  (東京)   いいえ いいえ いいえ いいえ いいえ いいえ   欧州 (フラ ンクフル ト)   いいえ いいえ いいえ いいえ いいえ いいえ   AWS  GovCloud  (米国西 部)   いいえ いいえ いいえ はい いいえ はい (ファ インチュー ニングされ たモデルの  み、コミッ トメント期 間なし)   主な定義   この章では、Amazon Bedrock が提供する内容とその仕組みを理解するのに役立つ概念の定義につい て説明します。を初めて使用する場合は、まず基本概念をお読みください。Amazon Bedrock の基本 を理解したら、Amazon Bedrock が提供する高度な概念と機能について調べることをお勧めします。   基本概念   次のリストでは、生成 AI と Amazon Bedrock の基本機能の基本概念を紹介します。   • 基盤モデル (FM) — 多数のパラメータを持ち、大量の多様なデータに基づいてトレーニングされ た AI モデル。基盤モデルは、さまざまなユースケースに対してさまざまなレスポンスを生成で きます。基盤モデルはテキストまたは画像を生成し、入力を埋め込みに変換することもできま   主な定義 4        Amazon Bedrock ユーザーガイド   す。Amazon Bedrock 基盤モデルを使用する前に、 へのアクセスをリクエストする必要がありま す。基盤モデルの詳細については、「」を参照してくださいAmazon Bedrock でサポートされてい る基盤モデル。   • ベースモデル — プロバイダーによってパッケージ化され、すぐに使用できる基盤モデ ル。Amazon Bedrock は、主要なプロバイダーが提供する業界でも先行するさまざまな基盤モデル を提供しています。詳細については、「Amazon Bedrock でサポートされている基盤モデル」を参 照してください。   • モデル推論 — 特定の入力 (プロンプト) から出力 (レスポンス) を生成する基盤モデルのプロセス。 詳細については、「モデル推論を実行する」を参照してください。   • プロンプト – 入力に適切なレスポンスまたは出力を生成するように指示するモデルに提供される 入力。例えば、テキストプロンプトは、モデルが応答する 1 行で構成されたり、モデルが実行す る指示やタスクを詳細に説明したりできます。プロンプトには、レスポンスで使用するモデルのタ スクのコンテキスト、出力例、またはテキストを含めることができます。プロンプトを使用して、 分類、質問への回答、コード生成、クリエイティブな記述などのタスクを実行できます。詳細につ いては、「 プロンプトエンジニアリングガイドライン」を参照してください。   • トークン - モデルが単一の意味の単位として解釈または予測できる一連の文字。例えば、テキスト モデルでは、トークンは単語だけでなく、文法上の意味 (「-ed」など)、句読点 (「?」など)、 または一般的なフレーズ (「大量の」など) を持つ単語の一部にも対応できます。   • モデルパラメータ - 入力の解釈とレスポンスの生成におけるモデルとその動作を定義する値。モデ ルパラメータはプロバイダーによって制御および更新されます。モデルパラメータを更新して、モ デルカスタマイズ のプロセスを通じて新しいモデルを作成することもできます。   • 推論パラメータ - レスポンスに影響を与えるためにモデル推論中に調整できる値。推論パラメータ は、さまざまなレスポンスがどの程度変化するかに影響し、レスポンスの長さや指定されたシーケ ンスの出現を制限することもできます。特定の推論パラメータの詳細と定義については、「」を参 照してください推論パラメータ。   • プレイグラウンド — Amazon Bedrock に慣れるためにモデル推論の実行を試す AWS  Management Console ことができる、 のわかりやすいグラフィカルインターフェイス。プレイグ ラウンドを使用して、入力したさまざまなプロンプトに対して生成されたレスポンスに対するさま ざまなモデル、設定、推論パラメータの影響をテストします。詳細については、「プレイグラウン ド」を参照してください。   • 埋め込み – 共有数値表現を使用して異なるオブジェクト間の類似性を比較するため、入力を埋め 込み と呼ばれる数値のベクトルに変換して情報を集約するプロセス。例えば、文を比較して意味 の類似性を判断したり、画像を比較して視覚的な類似性を判断したり、テキストと画像を比較して 相互に関連性があるかどうかを調べたりできます。ユースケースに関連する場合は、テキストと画   基本概念 5        Amazon Bedrock ユーザーガイド   像の入力を平均的な埋め込みベクトルに結合することもできます。詳細については、モデル推論を 実行するおよびAmazon ベッドロックのナレッジベースを参照してください。   高度な機能   次のリストでは、Amazon Bedrock を使用して詳しく知ることができる、より高度な概念を紹介しま す。   • オーケストレーション — タスクを実行するために基盤モデルとエンタープライズデータおよびア プリケーションを調整するプロセス。詳細については、「Agents for Amazon Bedrock」を参照し てください。   • エージェント — 入力を周期的に解釈し、基盤モデルを使用して出力を生成するオーケストレー ションを実行するアプリケーション。エージェントは、顧客のリクエストを実行するために使用で きます。詳細については、「Agents for Amazon Bedrock」を参照してください。   • 取得拡張生成 (RAG) — プロンプトに対する生成されたレスポンスを補強するために、データソー スから情報をクエリおよび取得するプロセス。詳細については、「Amazon ベッドロックのナレッ ジベース」を参照してください。   • モデルのカスタマイズ – トレーニングデータを使用して、カスタムモデルを作成するためにベー スモデルのモデルパラメータ値を調整するプロセス。モデルのカスタマイズの例としては、ラベル 付きデータ (入力と対応する出力) を使用する微調整 や、ラベルなしデータ (入力のみ) を使用して モデルパラメータを調整する継続的な事前トレーニング などがあります。Amazon Bedrock で使 用できるモデルカスタマイズ技術の詳細については、「」を参照してくださいカスタムモデル。   • ハイパーパラメータ - モデルのカスタマイズに合わせて調整してトレーニングプロセスと、その結 果、出力カスタムモデルを制御できる値。特定のハイパーパラメータの詳細と定義については、 「」を参照してくださいカスタムモデルのハイパーパラメータ。   • モデル評価 — ユースケースに最適なモデルを決定するために、モデル出力を評価および比較する プロセス。詳細については、「モデル評価」を参照してください。   • プロビジョンドスループット – モデル推論中に処理されるトークンの量やレートを上げるため に、ベースモデルまたはカスタムモデル用に購入するスループットのレベル。モデルのプロビジョ ンドスループットを購入すると、モデル推論の実行に使用できるプロビジョンドモデルが作成され ます。詳細については、「Amazon Bedrock のプロビジョニングされたスループット」を参照して ください。   高度な機能 6        Amazon Bedrock ユーザーガイド   Amazon Bedrock をセットアップする Amazon Bedrock を初めて使用する場合は、まず以下のタスクを完了してください。アカウントを設 定し、コンソールでモデルへのアクセスをリクエストしたら、API を設定できます。   Important   基盤モデルを使用する前に、そのモデルへのアクセスをリクエストする必要があります。

なんだかよく分からないので該当箇所+αだけ抜き出します。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
リージョンによって制限される機能については、次の表を参照してください。 リージョン モデル評価 ナレッジ ベース エージェン ト ファイン チューニン グ (カスタ ムモデル) 継続的な事 前トレー ニング (カ スタムモデ ル) プロビジョ ンドスルー プット 米国東部 (バージニ ア北部) はい はい はい はい はい はい 米国西部 (オレゴン) はい はい はい はい はい はい アジアパ シフィッ いいえ いいえ いいえ いいえ いいえ いいえ サポートされている AWS リージョン 3 https://console.aws.amazon.com/bedrock/home#/providers https://console.aws.amazon.com/bedrock/home#/providers https://aws.amazon.com/bedrock/pricing https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bedrock_region Amazon Bedrock ユーザーガイド リージョン モデル評価 ナレッジ ベース エージェン ト ファイン チューニン グ (カスタ ムモデル) 継続的な事 前トレー ニング (カ スタムモデ ル) プロビジョ ンドスルー プット ク (シンガ ポール) アジアパシ フィック (東京) いいえ いいえ いいえ いいえ いいえ いいえ 欧州 (フラ ンクフル ト) いいえ いいえ いいえ いいえ いいえ いいえ AWS GovCloud (米国西 部) いいえ いいえ いいえ はい いいえ はい (ファ インチュー ニングされ たモデルの み、コミッ トメント期 間なし)
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

ちゃんと読めていますね。PyMuPDFで抜き出したものの改行をスペースに変えた感じです。

  • セル毎に出力されている
  • セル内の改行はスペースに置き換えられるので、一連のテキストの間にスペースが入り込む。個数は1個というわけでもない
  • 改ページが挟まるとフッター/ヘッターが割り込む。除外してはくれない
  • 改ページを挟むとさすがに同じ項目とは判断してくれない

表を含むPDFをナレッジベースに取り込んで、それを元にRAGを構築する場合、大事な部分は上記を踏まえたプロンプトにしてあげる(上記の特性を教えてあげる)方が最終回答生成の精度が上がりそうな気がしました。

とはいえPDF自体のパースが困難なのは変わりないので、もしローデータの入手が可能ならローデータの形でナレッジベースに格納した方が良さそうです

7
5
2

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
7
5