本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。
やりたいこと
Agent Builder を用いたデータストア参照型対話エージェントの作成において、
データストアのファイル数が増加することで回答率が低下する問題への対処を進める。
前回の調査日記
あわせて読みたい


AI Agent開発日記 2025/03/26
この記事について 本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。 やりたいこと Agent Builder を用いたデータス...
目次
cloud runにデプロイされたdatastoresearhを操作するpythonコードを試す。
- やりたいこと
- cloud runにデプロイされたdatastoresearhを操作するpythonコードを作成したい
- 結果
- 下記3つのコードを使ってデータを追加、検索、削除が出来た
コード
#データを追加
from elasticsearch import Elasticsearch
es = Elasticsearch(
http_auth=('name', 'pass'), # Elasticsearchのユーザー名とパスワード認証
hosts=['https://url.com'] # エンドポイントURLを直接指定する場合
)
# インデックス名
index_name = "registry"
bulk_data = [
{"index": {"_index": index_name}},
{"name": "lato", "occupation": {"id": "2", "name": "デザイナー"}},
{"index": {"_index": index_name}},
{"name": "mato", "occupation": {"id": "3", "name": "ディレクター"}},
{"index": {"_index": index_name}},
{"name": "nato", "occupation": {"id": "3", "name": "ディレクター"}},
{"index": {"_index": index_name}},
{"name": "oato", "occupation": {"id": "1", "name": "エンジニア"}},
]
# ドキュメントの Bulk 登録
res = es.bulk(operations=bulk_data)
print(res)
#データを検索
from elasticsearch import Elasticsearch
es = Elasticsearch(
http_auth=('name', 'pass'), # Elasticsearchのユーザー名とパスワード認証
hosts=['https://url.com'] # エンドポイントURLを直接指定する場合
)
index_name = "registry"
res_search_all = es.search(index=index_name, query={"match_all": {}})
res_search_designer = es.search(index=index_name, query={"match": {"occupation.name": "デザイナー"}})
#データを削除
from elasticsearch import Elasticsearch
es = Elasticsearch(
http_auth=('name', 'pass'), # Elasticsearchのユーザー名とパスワード認証
hosts=['https://url.com'] # エンドポイントURLを直接指定する場合
)
# インデックス名
index_name = "registry"
res_delete_query = es.delete_by_query(index=index_name, query={"match": {"occupation.name": "エンジニア"}})
print(res_delete_query)
Agent BuilderのツールであるOpenAPIのスキーマを適切に設定し、Cloud RunにデプロイしたElasticsearchで検索できるか調べる。
- 現状
- Elasticsearchで検索する為のAgent BuilderのツールであるOpenAPIのyaml形式のスキーマを引き続き調査中。