4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemini APIを使ってPDFファイルの読み取りができないか・・・

先日Qiitaにて下記の記事を書きましたが、その手軽さに衝撃を受けました。

簡単すぎて本当にいいのか🧐と思うくらいです。
どうせならもっと使いこなしたいな!ということで、今回はPower AutomateからGemini APIを使ってPDF読み取りができないか実験してみました。

今回の対象

Cookbookを中心に見てみると、Vertex AIの資料がすぐに見つかります。

今回はサクっとできる方法が目的ですので、上記ではなく、下記のエンドポイントを使って、PDFの読み取りを試しています。

エンドポイント
https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent

こちらのエンドポイントは、API利用までが本当に簡単である魅力があります。

アクセスして、数クリックで無料で試せる・・・衝撃です。

GitHubで事例を見てみる

GitHubにあるCookbookを見てみると、

  1. PDFをライブラリで画像に変換
  2. Gemini APIを使用

上記のアプローチをしていると推察されるものが見つかりました。

Power Automateでもひとまず同様のアプローチを試してみましょう!

Power Automateのアクションとコラボレーションする

PDFからファイルに変換するアクションは、プレビュー段階ですがPower Automateにあります。
OneDrive for Businessのコネクタのアクションです。

このファイルに変換するアクションを利用し、PDF、そしてせっかくなのでPowerPointの形式のファイルを織り交ぜて、Gemini APIを使ってみることにしましょう。

サポートされている変換のリストはこちら!

特にJPGへの変換は幅広いファイルの形式がサポートされています

試してみるPower Automateのフロー

複数のファイルを使って、Gemini APIを利用することから、簡単なSharePoint Listsを用意しました。
OneDrive for Businessに格納しているファイル名です。

image.png

SharePointのサイト名リスト名GeminiAPIキーはブラインドしています

フローの流れは

  1. 複数の項目の取得SharePoint Listsの値を取得する
  2. 繰り返し処理
    1. OneDrive for Business内のファイルパスを作成する
    2. パスによるファイル メタデータの取得ファイル識別子を取得
    3. ファイルに変換するアクションで画像に変換
    4. Gemini APIを実行、プロンプトの中で画像をbase64`形式に変換
    5. 結果をSharePoint Listsに反映

上記のアプローチです。

今回はあらかじめ、OneDrive for BusinessにいくつかのPDFファイルを名前を少し変更して格納してみました。

image.png

更新後にReadResult列とStatus列が更新されるフローです。

image.png

Geminiに渡すプロンプト

HTTPアクションは下記のとおりです。

image.png

項目 設定値
方法 POST
URI https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent

■ ヘッダー

キー
Content-Type application/json

■ クエリ

キー
key {APIキー}
ボディ
{
  "contents": [
    {
      "parts": [
        {
          "text": "添付は画像に変換したPDFファイルです。内容を読み取り、要約してください。"
        },
        {
          "inline_data": {
            "mime_type": "image/jpeg",
            "data": "@{base64(body('ファイルの変換'))}"
          }
        }
      ]
    }
  ]
}

気を付けるのはモデルの指定のみです。
gemini-proでは対応していません。

結果は!

なんとなく・・・

image.png

つかめている感はある・・・

image.png

精度は高くはないですが、ざっくりと何のファイルなのかということはつかめそうです🐟✨

Geminiの推論を交えて補完するとマシなのか🧐
課題あり!な印象でした。

ざっくりと内容はつかめるので、画像の分類に使えそうです。また今度SharePointに格納したファイルが何に識別されるのかを実験してみたいと思います。
今回はライトな内容ですが、GeminiでPDFをどうやって読み取るのか、Power Automateで画像に変換するアプローチで試してみました。
Claude 3.5GPT-4oでも同じようなアプローチができそうですね!
工夫次第でまだまだ活用手法がありそうなので考えていきたいと思います。

本日もお読みいただき、ありがとうございました。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?