Method: projects.locations.apps.generateAppResource

使用 LLM 助理在應用程式中生成特定資源 (例如代理程式)。

HTTP 要求

POST https://ces.googleapis.com/v1beta/{parent=projects/*/locations/*/apps/*}:generateAppResource

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
parent

string

這是必要旗標,要產生資源的應用程式資源名稱。

要求主體

要求主體包含下列結構的資料:

JSON 表示法
{
  "refineInstructions": [
    {
      object (GenerateAppResourceRequest.RefineInstructions)
    }
  ],
  "toolGenerationConfig": {
    object (GenerateAppResourceRequest.ToolGenerationConfig)
  },
  "appGenerationConfig": {
    object (GenerateAppResourceRequest.AppGenerationConfig)
  },
  "evaluationGenerationConfig": {
    object (GenerateAppResourceRequest.EvaluationGenerationConfig)
  },
  "evaluationPersonasGenerationConfig": {
    object (GenerateAppResourceRequest.EvaluationPersonasGenerationConfig)
  },
  "qualityReportGenerationConfig": {
    object (GenerateAppResourceRequest.QualityReportGenerationConfig)
  },
  "hillClimbingFixConfig": {
    object (GenerateAppResourceRequest.HillClimbingFixConfig)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agent": {
    object (Agent)
  },
  "tool": {
    object (Tool)
  },
  "toolset": {
    object (Toolset)
  },
  "appVersionContext": {
    object (GenerateAppResourceRequest.AppVersionContext)
  }
  // End of mutually exclusive fields.
}
欄位
refineInstructions[]

object (GenerateAppResourceRequest.RefineInstructions)

選用。用於修正資源的修正指令清單。

toolGenerationConfig

object (GenerateAppResourceRequest.ToolGenerationConfig)

選用。用來生成工具的設定。

appGenerationConfig

object (GenerateAppResourceRequest.AppGenerationConfig)

選用。用於產生代理程式和工具的設定。

evaluationGenerationConfig

object (GenerateAppResourceRequest.EvaluationGenerationConfig)

選用。用於產生評估結果的設定。

evaluationPersonasGenerationConfig

object (GenerateAppResourceRequest.EvaluationPersonasGenerationConfig)

選用。用於產生評估角色設定。

qualityReportGenerationConfig

object (GenerateAppResourceRequest.QualityReportGenerationConfig)

選用。用於產生品質報表的設定。

hillClimbingFixConfig

object (GenerateAppResourceRequest.HillClimbingFixConfig)

選用。爬坡修正作業要使用的設定。

要生成的資源。以下列出互斥欄位。回應中最多會設定一個欄位:
agent

object (Agent)

LLM 助理使用的代理程式資源,可留空以產生新的代理程式。

tool

object (Tool)

LLM 助理使用的工具資源,可為空白,以生成新工具。

toolset

object (Toolset)

LLM 助理使用的工具集資源,可為空白,用於生成新的工具集。

appVersionContext

object (GenerateAppResourceRequest.AppVersionContext)

應用程式版本環境,指定基本快照和目標代理程式。

互斥欄位的結尾。

回應主體

如果成功,回應主體會包含 Operation 的執行個體。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

詳情請參閱Authentication Overview。

IAM 權限

需要 parent 資源的下列 IAM 權限:

  • ces.apps.update

詳情請參閱 IAM 說明文件。

GenerateAppResourceRequest.AppVersionContext

應用程式版本環境,指定基本快照和目標代理程式。

JSON 表示法
{
  "appVersion": string,
  "agentResourceName": string
}
欄位
appVersion

string

LLM 助理使用的應用程式版本資源名稱。格式:projects/{project}/locations/{location}/apps/{app}/versions/{version}

agentResourceName

string

LLM 助理使用的目標代理資源名稱。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerateAppResourceRequest.RefineInstructions

用於調整資源部分的指令。資源的這部分可透過開始索引、結束索引和欄位遮罩指定。舉例來說,如要修正部分代理程式指令,可以指定指令第一個字元的索引、指令最後一個字元的索引,以及「instructions」的欄位遮罩。

JSON 表示法
{
  "startIndex": string,
  "endIndex": string,
  "fieldMask": string,
  "instructions": string
}
欄位
startIndex

string (int64 format)

這是必要旗標,要修正的文字第一個字元 (含)。

endIndex

string (int64 format)

這是必要旗標,要修正的文字的最後一個字元 (含)。

fieldMask

string (FieldMask format)

這是必要旗標,要精簡的資源欄位。每個 RefineInstructions 只能有一個欄位。如要修正代理指令,欄位遮罩應為「instructions」。

這是以半形逗號分隔的完整欄位名稱清單,範例:"user.displayName,photo"。

instructions

string

這是必要旗標,微調資源的指令。

GenerateAppResourceRequest.ToolGenerationConfig

用於產生工具的設定。

JSON 表示法
{
  "context": string,
  "fileContexts": [
    {
      object (FileContext)
    }
  ],
  "openApiToolsetGenerationConfig": {
    object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig)
  }
}
欄位
context

string

選用。描述要生成的工具的內容。如果提供工具要求和回應,這個欄位可以空白。

fileContexts[]

object (FileContext)

選用。做為脈絡資料的檔案。

openApiToolsetGenerationConfig

object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig)

選用。用來產生 Open API 結構定義的設定。

FileContext

做為脈絡資訊的檔案。檔案可以原始位元組形式提供。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "fileBytes": {
    object (FileContext.FileBytes)
  }
  // End of mutually exclusive fields.
}
欄位
做為背景資訊提供的檔案。以下列出互斥欄位。回應中最多會設定一個欄位:
fileBytes

object (FileContext.FileBytes)

選用。以原始位元組形式提供的檔案。

互斥欄位的結尾。

FileContext.FileBytes

以原始位元組形式提供的檔案。

JSON 表示法
{
  "fileName": string,
  "mimeType": string,
  "data": string
}
欄位
fileName

string

這是必要旗標,以原始位元組形式提供的檔案名稱。

mimeType

string

這是必要旗標,來源資料的 IANA 標準 MIME 類型。

data

string (bytes format)

這是必要旗標,檔案的原始位元組。

Base64 編碼字串。

GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig

用來產生 Open API 結構定義的設定。

JSON 表示法
{
  "uri": string,
  "operationGenerationConfigs": [
    {
      object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig)
    }
  ]
}
欄位
uri

string

這是必要旗標,工具的基本 URI。

operationGenerationConfigs[]

object (GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig)

這是必要旗標,要新增至 Open API 架構的作業清單。

GenerateAppResourceRequest.ToolGenerationConfig.OpenApiToolsetGenerationConfig.OperationGenerationConfig

用於在 Open API 架構中產生作業的設定。

JSON 表示法
{
  "method": string,
  "path": string,
  "requestJson": string,
  "responseJson": string
}
欄位
method

string

這是必要旗標,工具的 URI。如有查詢和路徑參數,也應一併納入。

path

string

這是必要旗標,要附加至基本 URI 的工具路徑。如有查詢和路徑參數,也應一併納入。

requestJson

string

這是必要旗標,以 JSON 格式向工具發出的要求範例。如果工具不支援要求主體,請略過此步驟。

responseJson

string

這是必要旗標,工具回覆範例 (JSON 格式)。

GenerateAppResourceRequest.AppGenerationConfig

用於產生應用程式的設定。

JSON 表示法
{
  "context": string,
  "fileContexts": [
    {
      object (FileContext)
    }
  ],
  "datasetId": string,
  "generateEvaluations": boolean,
  "gcsLocation": string
}
欄位
context

string

選用。說明要生成的代理和工具需求。

fileContexts[]

object (FileContext)

選用。做為脈絡資料的檔案。

datasetId

string

選用。用於擷取對話資料的洞察資料集,以生成代理和工具。格式:projects/{project}/locations/{location}/datasets/{dataset}。

generateEvaluations

boolean

選用。是否要產生應用程式的評估結果。如果為 true,系統會使用提供的內容產生評估資料。

gcsLocation

string

選用。Cloud Storage 位置,用於儲存 Datastore 工具產生的問答資料。只有在將對話資料做為輸入來源時,系統才會產生這項資料。位置必須與應用程式位於同一專案。格式:gs://...。

GenerateAppResourceRequest.EvaluationGenerationConfig

用於產生評估結果的設定。

JSON 表示法
{
  "datasetId": string
}
欄位
datasetId

string

選用。洞察資料集,用於擷取對話資料以生成評估結果。格式:projects/{project}/locations/{location}/datasets/{dataset}。

GenerateAppResourceRequest.EvaluationPersonasGenerationConfig

這個類型沒有任何欄位。

用於產生評估角色設定。

GenerateAppResourceRequest.QualityReportGenerationConfig

用於產生品質報表的設定。

JSON 表示法
{
  "evaluationRun": string,
  "algorithm": enum (GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm)
}
欄位
evaluationRun

string

這是必要旗標,用於分析品質報告的評估執行作業。

algorithm

enum (GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm)

選用。要使用的損失歸因演算法。

GenerateAppResourceRequest.QualityReportGenerationConfig.LossAttributionAlgorithm

用於損失歸因的演算法。

列舉
LOSS_ATTRIBUTION_ALGORITHM_UNSPECIFIED 未指定。
APP_CENTRIC 以應用程式為主的損失歸因。將應用程式視為單一單元。
AGENT_CENTRIC 以代理商為中心的流失歸因。屬性損失給個別代理商。

GenerateAppResourceRequest.HillClimbingFixConfig

爬坡修正作業要使用的設定。

JSON 表示法
{
  "qualityReport": {
    object (QualityReport)
  }
}
欄位
qualityReport

object (QualityReport)

這是必要旗標,品質報表,用於提供修正指示。

QualityReport

說明應用程式中任何已識別品質問題的報告。

JSON 表示法
{
  "issues": [
    {
      object (QualityReport.AgentIssues)
    }
  ],
  "evaluationRuns": [
    string
  ],
  "generalIssues": [
    {
      object (QualityReport.Issue)
    }
  ]
}
欄位
issues[]

object (QualityReport.AgentIssues)

選用。依代理分組的問題。

evaluationRuns[]

string

選用。用於產生品質報告的評估執行作業清單。格式:projects/{project}/locations/{location}/evaluationRuns/{evaluationRun}。

generalIssues[]

object (QualityReport.Issue)

選用。與任何代理無關的一般問題。

QualityReport.AgentIssues

針對單一代理商發現的問題。

JSON 表示法
{
  "agent": string,
  "issues": [
    {
      object (QualityReport.Issue)
    }
  ]
}
欄位
agent

string

選用。問題相關的代理程式名稱。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

issues[]

object (QualityReport.Issue)

選用。這個代理程式發現的問題清單。

QualityReport.Issue

發現的問題。

JSON 表示法
{
  "description": string,
  "occurrenceCount": integer,
  "proposedSolution": string
}
欄位
description

string

選用。發現的問題說明。

occurrenceCount

integer

選用。這個問題發生的次數。

proposedSolution

string

選用。建議的解決方案,可透過修改指令或工具修正問題。