ExcelAgentTemplate は、Microsoft ExcelとPythonを組み合わせた強力なアドインです。このツールを使用することで、Excelの関数を介して最新の LLM (Large Language Models) を活用し、自動化されたエージェントを実行することができます。ユーザーはExcelのセルに特定のプロンプトを記入するだけで、LLMを活用した複雑なクエリやデータ処理タスクを簡単に実行することが可能になります。
たとえば、=RunAgent("企業情報のリサーチャーとして振舞ってください。" & A1 & "の所在地を調べてください。")
という関数を使用すると、セルA1に入力された企業名の所在地を自動で調査し、結果をExcel上で直接表示します。これにより、手動でのデータ検索と入力の手間が省け、効率的に作業を進めることが可能です。
ExcelAgentTemplateは次のような特徴を持っています:
- 直感的な操作: Excelの関数として直接LLMを呼び出すため、特別なプログラミング知識は不要です。
- 高度な自動化: 複雑なデータ収集や処理を自動化し、ワークフローを大幅に効率化します。
- カスタマイズ可能: Pythonスクリプトを用いて、特定のニーズに合わせたエージェントの挙動をカスタマイズ可能です。
- リアルタイム処理: 非同期処理により、大量のデータも迅速に処理し、結果をリアルタイムで反映します。
A | B | C | |
---|---|---|---|
1 | 企業名 | 従業員数-調査レポート | 従業員数 |
2 | Example | =RunAgent("企業" & A2 & "の従業員数を調べてください") |
=RunAgent("以下のテキストから、従業員数を取り出してください。結果の数値のみを報告してください。: " & B2) |
ExcelAgentTemplateは特に以下のような用途に適しています:
- チェック リストの確認の自動化: 多数のチェック リストに基づいて入力のチェックや修正を行う場合に適しています。
- データ収集・分析: 大量のデータから必要な情報を抽出し、分析する作業を自動化します。
- レポート作成: 複数のデータソースから情報を集め、整形してレポートを作成するプロセスを簡略化します。
- LLM プロダクトのプロトタイピング: 言語モデルを用いたプロダクトの試作と改良に適しています。
- 翻訳: LLM を用いた翻訳作業に適しています。とくに人の手による修正と組み合わせるとよいです。
- Python 3.10以上をインストール
- コマンドプロンプトで以下を実行:
pip install uv uv venv .venv .venv\Scripts\activate uv pip install -r requirements.txt
.env.example
を.env
にリネームし、必要なAPIキーを設定
- Microsoft Excel (2019 以降) をインストール
- Visual Studio 2019 以上で RunAgentClient.sln を開いてビルドしてください。
- ビルド後、RunAgentClient/bin/Debug/RunAgentClient-AddIn64.xll が生成されます。このファイルをダブルクリックすると、Excel アドインが一時的に使用できるようになります。
- 仮想環境をアクティブにし (
.\.venv\Scripts\activate
) その後python langchain_fastapi.py
を実行 RunAgentClient/bin/Debug/RunAgentClient-AddIn64.xll
をダブルクリックします。- "使用できるデジタル署名がありません" という通知画面が表示されます。"このアドインをこのセッションに限り有効にする(E)" をクリックします。このセッションでのみ
RunAgent
関数が使用できます。 - そのセッションで空白のブックを新規作成してみましょう。
- 任意のセルに、例えば
=RunAgent("株式会社 ??? の従業員数を調べてください。")
と入力し、Enter キーを押下します。??? は適当に置き換えてください。 #N/A
と表示されます。Python の画面上では、処理中のログが表示されます。処理が完了すると、セルの内容が実際の出力に置き換わります。
-
OpenAI API の使用量に注意して使用して下さい。
-
本ツールは GPU を使用しません。
Q. ExcelAgentTemplate はどのようなタスクに適していますか? A. ExcelAgentTemplate は、データの収集、分析、レポート作成など、様々な業務タスクの自動化に適しています。特に、非定型的な作業や、外部データとの連携が必要な場合に威力を発揮します。
Q. 商用利用は可能ですか? A. はい、商用利用も可能です。MITライセンスの下で提供されているため、自由に利用・修正・配布ができます。
Q. エージェントを追加するにはどうしたらいいですか? A. 以下を参考にして下さい。
- エージェントを実装した API のエンド ポイントを公開します。この際、同一のメッセージが入力された場合のキャッシュ機構を使用すると良いです。
- Excel のアドインは Excel-DNA を使用して作成します。LLM の出力には時間がかかるので、サンプル コードを参考に非同期な処理を行うようにしてください。
- ウェブ検索に関しては SerpAPI を直に使うことはせず、Tavily を使っています。Tavily は、素の Google 検索や DuckDuckGo、Bing と比べて LLM との相性が良いと印象です。
もし他に質問があれば、GitHubのIssueやDiscordサーバーにてお気軽にお問い合わせください。
プロジェクトに関する議論や情報交換は、以下のDiscordサーバーで行っています。
ぜひご参加ください。
ExcelAgentTemplateプロジェクトでは、以下の機能追加を予定しています。
- Local LLM のサポート
- ドキュメントの充実化
ご要望やアイデアがありましたら、Issue にてお知らせください。
本プロジェクトはMITライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
プロジェクトへのコントリビューションを歓迎します。バグ報告や機能追加などの提案がある場合は、Issue を作成してください。また、Pull Request も随時受け付けています。