Alibaba Model Studioでマルチエージェントシステムを試してみた

この前Alibaba Model Studioでエージェントを触ってみたけど、公式ドキュメントをみたら複数のエージェントを使うマルチエージェントシステムの構築サンプルをみつけたのでやってみる！

[**Use Assistant API to build a multi-agent system with automatic planning capability**](https://www.alibabacloud.com/help/en/model-studio/use-cases/use-multi-agent-to-query-alibaba-cloud-resource-information?spm=a2c63.p38356.help-menu-2400256.d_2_2.16fd3ffd3iftf6)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/3dce35df-ef22-47a0-9ce7-c149da6082d8.png)


複数のエージェントがそれぞれの役割をもってて、連携するやつですね

この例のフローは以下らしい

![image 1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/656fbf60-b0d8-4389-b76d-f3357d5a066e.png)

これでAlibaba Cloud リソースに関する情報をクエリできるマルチエージェントシステムができるみたい〜

ドキュメントにそってやっていく！

まずはModelStudioとAlibaba CloudのAPIキーをつくる

![image 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/076c0136-9b61-47a1-a5df-9f937ccbfe35.png)


![image 3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/5121507c-6d6a-49f2-a3ef-f97ec0b3f37c.png)


つくった！

そしたらRAGのエージェントをつくる〜

![image 4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/f7de845d-76a5-40a4-a1ca-502519261f8d.png)


![image 5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/cf6afb0a-4634-4502-9724-8e71f0cc574d.png)


で、まずknowledge baseを登録する

ドキュメントによると、

> ナレッジベースファイルとして [インスタンスファミリの概要.pdf](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/ja-JP/20250219/bhyzei/Overview+of+instance+families.pdf) を使用します。
> 

だそうなので、このpdfをData Managementにインポートする

![image 6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/400d29c8-fe0d-403d-ab17-f89e1bdc944d.png)

![image 7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/cd639d4d-fd17-4fa1-8897-5e10dd2f2e2d.png)


がんばってparseしてる

これ終わるまでけっこう時間かかったかも

これをknowledge baseに登録する

![image 8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/4ac26c62-3e38-418e-b3a5-4d1e282416f9.png)
![image 9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/c7a0ce8b-1914-4862-aa27-3d8caf155acc.png)


![image 10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/3c818c27-e0fb-4b35-a256-b06c2ff4ddb4.png)

![image 11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/7b512a77-f53d-487c-b0e9-4a7741ee997c.png)

できたぽい？

エージェントから参照できるようになったのでaddする〜

![image 12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/9b1e4530-8ddd-423f-a394-398cabf09f31.png)




で、今回のシステムはpython上でやるのでプロジェクトを作って以下の必要ライブラリもいれた

ちなみにpoetryでvenvつくった〜

```
alibabacloud_tea_openapi
alibabacloud_tea_util
alibabacloud_openapi_util
alibabacloud_ecs20140526
alibabacloud_bssopenapi20171214
dashscope
gradio
```

tools.pyとmain.pyを用意するらしい

詳しいコードはドキュメントに全容のっけてくれていて、コメントも書いてくれているのでみておく〜

tools.py内のapp_idをつくったRAGエージェントのApplication IDに置き換えるのを忘れずに！

いざ起動！

![imageのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/d86cfa71-7f0d-4bab-b5d6-7ce0887c6353.png)


urlにアクセスすると

![image 13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/b5805970-c6ac-498c-aa35-07df78501586.png)


おおー！でた！

とりあえずの挨拶

![image 14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/6ea4d1a6-7999-4d00-b971-64764fb62319.png)


この場合はただのやりとりだからChatAssistantだけが動くんだな

インスタンスの詳細について聞いてみる
![image 15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/d3c540e4-81f8-4dca-9322-ee94fcf9cd96.png)

一生懸命処理中です、かわいい〜🌷

![image 16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/ade4534c-e294-454b-a568-f3b1b354e6e1.png)


あ〜なんのサービスなのかわからなかったみたい？

Alibaba Cloudの、って追記してみる
![image 17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/8709ed8b-ce2d-4f81-9deb-281c796d70ba.png)


ばっちりですね！！

インスタンスつくってない状態で聞いてみる

![image 18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/3bf53552-7f5c-43e8-b3e1-36a0ba18aa27.png)

そのとおりなんです〜

なのでecsインスタンスつくってみた
![image 19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/e5b84a42-c13f-4fb5-a7b1-3f12f1e2b1a2.png)



この状態でもっかい聞いてみる
![image 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267793/d7aaeb0d-e225-4bea-b99e-daf1f06ff430.png)


お〜！でてきた！

返事もかわいい〜

簡単に試せたし、コード制御だからいろいろできそうだな〜と思いました！

おわり！