Alibaba Cloud OSSとModel Studioを使用した書籍画像からのカタログ構築

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/building-a-catalog-from-book-images-using-alibaba-cloud-oss-and-model-studio_601862?spm=a2c65.11461433.0.0.4ee353559N4sIW)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

## イントロダクション
現代のデジタル時代において、視覚コンテンツの効果的な管理と情報抽出は特に図書館、書店、個人のコレクションにとって不可欠です。クラウドストレージとAI技術の活用により、このプロセスは大幅に効率化できます。本ブログでは、アリババクラウドのオブジェクトストレージサービス（OSS）バケットに保存された本の表紙画像を読み取り、タイトル、著者、出版社などの詳細を含むCSVファイル（カタログ）を作成するカタログシステムの作成方法をお伝えします。これには、スケーラブルなストレージを提供するアリババクラウドOSSと、画像からの情報抽出に最適なQwen-VL-Plusモデルを使用したモデルスタジオが組み合わさっています。実際の動作については、以下のビデオをご覧ください。
https://alicloud-common.oss-ap-southeast-1.aliyuncs.com/2024/blog/catalog-watermark%20version.mp4

### 1. アリババクラウドOSSの設定

#### アリババクラウドOSSとは何か？
アリババクラウドOSSは、大規模な非構造化データ（オブジェクト）の格納を可能にする拡張性とセキュリティの高いクラウドストレージサービスです。

#### OSSバケットの作成
バケットを作成するには、グローバルにユニークな名前とリージョンを選択する必要があります。以下のように、私は「bookcatalog」という名前のバケットを作成し、すべての本の画像を保存しました。
![1](https://yqintl.alicdn.com/a389cfae9b0609ff8cf9630dfd4612d338e32b33.png)

#### 画像のアップロード
バケットを作成したら、PC、ラップトップ、またはスマートフォンから本の表紙画像をOSSバケットにアップロードできます。今回のデモでは、「um」というディレクトリを作成し、そこにお話の表紙画像をアップロードしています。
![2](https://yqintl.alicdn.com/2be3ec83d58adf7d3d14bcb4e89dbd734ce111b5.png)

### 2. Model Studioの紹介
[アリババクラウド・モデルスタジオ](https://www.alibabacloud.com/product/modelstudio)は、基礎モデルの開発とアプリケーション構築向けの総合プラットフォームです。開発者やビジネスプロフェッショナルが迅速に基礎モデルアプリケーションを作成・デプロイできるようにサポートしています。読者はモデルスタジオの様々な機能を模索することをお勧めします。
![3](https://yqintl.alicdn.com/9ee174f47dca442f5b3721f440377e36aa400a6f.png)

今回のブログでは、Pythonプログラム内でQwen-VL-Plusモデルと通信するために使用するAPIキーをModel Studioから取得する必要があります。APIキーの取得方法は以下の図に従ってください。
![4](https://yqintl.alicdn.com/5e97342728c95e663b3d2ab266bd44113c732cc3.png)
![5](https://yqintl.alicdn.com/181f13dca3c266a362d2d136f6061b67853da932.png)

#### Qwen-VL-Plusモデルとは？
アリババクラウドのQwen-VL-Plusモデルは、強化されたテキスト抽出、整理、要約機能を提供し、より幅広い解像度とアスペクト比の画像に対応し、高度な意思決定のための視覚的推論能力を向上させます。また、宿題の問題など複雑な問題の手順解決も可能な写真解析が可能です。Model StudioのGUIを通じて様々なQwenモデルをテストすることができますが、このブログではPythonスクリプトを使用してQwen-VL-PlusモデルへのAPI呼び出しを生成します。
![6](https://yqintl.alicdn.com/8c8d7b37622b1f9e22a11ce1eb19938a9b106d70.png)

### 3. OSSとQwenモデルの統合
このデモでは、VS Codeを使用してPythonスクリプトを書いて、OSSバケット内の「um」ディレクトリにある表紙ページから書名、著者名、出版社名などの情報を抽出します。

#### 環境の設定
dotenv Pythonライブラリを使用して環境変数を読み込みます。APIキーを含むことで、アプリケーションの安全性と管理性が向上します。`.env`ファイルはAPIキー、アクセスキー、その他の機密的または設定可能な情報をコードベースの外に保存するためのシンプルなテキストファイルです。
![7](https://yqintl.alicdn.com/636438b8e335296f70eb8816cbdd369b24529d5c.png)

#### API呼び出しの実行
一部のコードスニペットは、必要なPythonライブラリやバケット名、リージョン、バケット内の画像数などの変数を示しています。完全なPythonコードを確認するには、[こちらのリンク](https://alicloud-common.oss-ap-southeast-1.aliyuncs.com/2024/blog/code-catalog.docx)をクリックしてください。
![8](https://yqintl.alicdn.com/50c9e54d140e90d37fc136de51501c28affe9560.png)

### 4. プログラムの実行と最終結果

#### Pythonライブラリのインストール
コードを実行する前に、dashscopeとdotenvライブラリを以下のようにインストールします。
pip install dashscope python-dotenv

また、Model Studioから取得したAPIキーを保存するために`.env`ファイルを用意してください。
![9](https://yqintl.alicdn.com/0a1e2e08878972382f9d10f9caeddc3f8af340c7.png)

#### CSV形式での結果の保存
ターミナルから（`python3 main.py`）または直接VS Code GUIから`main.py`を実行します。実行が終了すると、「book_info.csv」というCSVファイルが生成され、メインのPythonスクリプトがある同じフォルダーに保存されます。このファイルには、本の画像から抽出された必要な情報が含まれています。
![10](https://yqintl.alicdn.com/9ecdaba506b7242b8e23719e55f3f189c788f4af.png)

#### 確認のための本の画像
OSSバケットに保存されている本の実際の表紙画像を以下に示します。
![11](https://yqintl.alicdn.com/d6efaa6c85df47f97e8001749801837480979d20.png)
この画像に対するQwen-VL-Plusの出力は「The Art of War, Sun Tzu, Vintage Books」であり、正確です。

### 5. 総括的な考え
オブジェクトのACLをPublic-Readに設定して、シンプルにしアクセスキーの使用を避けるためにしましたが、適切なセキュリティ対策を考慮することが推奨されます。よく作られたプロンプトはAIモデルからの応答品質を大幅に向上させることがあり、異なるプロンプトを試して応答を見てみることをお勧めします。また、本の表紙のフロントページに必要な情報が欠けている場合に特に注意してください。

### 6. 終わりに
まとめると、アリババクラウドOSSとモデルスタジオのQwen-VL-Plusモデルを組み合わせることで、表紙画像から直接本のコレクションのカタログ化を自動化した効率的なソリューションが実現します。OSSに画像を保存し、AIを使用して