LLMを活用するためのデータのテキストへの変換方法
LLMにいかにデータを入力するか
「LLM活用していますか?」
LLMは文章の翻訳、資料のチェック、ソフトの修正など様々な活用の可能性があります。
その際、問題になってくるのがLLMにいかにデータを入力するか、出力したデータを活用するかです。画像、PDF、Office資料などを丸ごと入力できる便利なサービスやも出てきていますが、様々な事情により使用できるサービスが限られていて、資料をそのまま入力できずに困っている人も多いと思います。また、サービスは使用できるけど、同じデータを違うLLMに入力して結果を比較したいというニーズもあるかと思います。
そんなときに重要になってくるのがデータ変換です。この記事では、上記のような困りごとを持っている方に、データをLLMに入力しやすい形に変換する方法について紹介します。なお、本記事はLLMのAPIなどを使ってバリバリ開発している人ではなく、ChatGPTやGemini等をブラウザのUI中心でLLMを使っている人が、どうやって手軽にデータを(主にテキストに)変換するかということを中心に説明しますので、その点ご了承ください。
コード
コードを入力するとき、単純にはコピペすればよいのですが、色々とポイントがあります。
リポジトリ全体を読ませたいとき
例えばリポジトリ全体を読ませようとすると面倒ですね。以下記事参考にリポジトリの構成含めて全体をテキスト化するとOKです。
PullRequestの差分を読み込ませたいとき
以下のように.diff
をつけてやると、差分がテキストで取得できます。
https://github.com/user/repo/pull/123.diff
以下は例です。
例えばコードレビューで、AIに差分をパッとみてもらいたいときに使ったりできます。
以下のようにGitHub Actionsでレビューを自動化したりもできますが、設定はやはり手間ですし、どのリポジトリでも使えるわけではないので。
資料系
パワポやPDFをテキスト化する方法です。
MarkItDownというPythonツールが便利です。
ターミナルで以下コマンドでインストール。
$ pip install markitdown
以下コマンドで変換できます。便利。
$ markitdown path-to-file.pdf > document.md
以下記事が詳しいです。
音声
Whisperで文字起こしするのが王道でしょうか。
画像
色々工夫や方法ありそうですが、今回は対象外とします。すみません。
入力するモデル
テキストに変換できたらこちらのものなので、あとは好きなLLMに入力すればOKです。
入力トークンは、今のところGoogleのGeminiが大きいので、入力トークン数で問題の場合は、とりあえずGeminiを試してみるとよいかと思います。
LLM出力したテキストの変換
おまけでLLMが出力したテキストを変換する方法です。
ドキュメントファイル
出力したテキストですが、例えばMarkdown形式で出力させれば、Pandocを使うことでPDF等のドキュメントファイルに変換することができます。多分、スライドとかにもできるはず
エクセルファイル
,
や|
で区切らせれば、コピペしたテキストファイルを表計算ソフトで読み込むことができます。
まとめ
LLMに入力するデータのテキスト変換について書きました。
ちょっとしたテクニックですが、知っておくと結構活用の幅が広がるので是非。
宣伝
初学者向けの生成AI関係の本を書いています。この記事のテクニックと組み合わせたりすると更に活用方法広がると思いますので是非!
Discussion
拙作のユーティリティを紹介します。MacのFinderからローカルファイルを複数選択してコンテキストメニューで1つのテキストにしてクリップボードにコピーします。