目次
この記事について
本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。
やりたいこと
Agent Builder を用いたデータストア参照型対話エージェントの作成において、
データストアのファイル数が増加することで回答率が低下する問題への対処を進める。
前回の調査日記
					あわせて読みたい
					
			
						AI Agent開発日記 2025/03/31
						この記事について 本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。 やりたいこと Agent Builder を用いたデータス...					
				Agent BuilderのツールであるOpenAPIのスキーマを適切に設定し、Cloud RunにデプロイしたElasticsearchで検索できるか調べる。
- やりたいこと
- agentのopenapiのToolの説明欄に「query= というパラメータを付けるな」との指示を追加しても問題が解消されないため解消したい
 
- 試したこと
- 現在の OpenAPI スキーマだと検索クエリを GET メソッドのクエリパラメータとして渡す仕様になっているから問題が発生するのかもしれない、リクエストボディに検索クエリを含める必要があるので、POST メソッド にスキーマを変更してみる
 
- 結果
- 下記のようにスキーマを変更して検証した結果、無事に 200 のレスポンスが返ってきて、検索結果も表示されるようになった。
- 次は、検索結果がツールの output内にしか出ておらず、エージェントが説明してくれないため、説明してくれるようにする。
 
新スキーマ
openapi: 3.0.0
info:
  title: Elasticsearch Search API
  version: v1
servers:
  - url: 'http://app-elasticsearch-appyouta-837157351927.us-west1.run.app'
paths:
  /_search:
    post:  # ここを "get" ではなく "post" に変更
      summary: Search documents in Elasticsearch
      description: Executes a search query against an Elasticsearch index.
      requestBody:  # クエリをボディで送信するように変更
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: object
                  description: Query in Elasticsearch Query DSL format.
      responses:
        '200':
          description: Successful response with search results.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request. Invalid query parameters.
        '500':
          description: Internal Server Error. Elasticsearch error. 
            