> ## Documentation Index
> Fetch the complete documentation index at: https://docs.veadk.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 运行评测兼容接口

> 直接返回逐用例评测结果数组

仅在启用开发界面的服务中可用，例如 `veadk web` 或 `adk api_server --with_ui`；默认 `adk api_server` 不提供此接口

此接口已废弃，直接返回逐用例结果数组。新接口将该数组放在 `runEvalResults` 中，其他评测前提与执行影响相同

<Warning>
  评测会重新调用模型与工具，可能产生费用和外部操作
</Warning>

完整调用条件与新接口见[对应评测接口](/productions/api-reference/preview/zh/agent-api-server/run-evaluation)


## OpenAPI

````yaml productions/api-reference/openapi/zh/agent-api-server.json POST /dev/apps/{app_name}/eval_sets/{eval_set_id}/run_eval
openapi: 3.1.0
info:
  title: Agent API Server
  version: google-adk 2.2.0
  description: 基于 Google ADK 2.2.0 的公开 HTTP 接口；/dev 路由仅在启用开发界面的服务中可用
servers:
  - url: http://localhost:8000
    description: 本地服务
security: []
tags:
  - name: 服务与应用
  - name: 会话
  - name: 智能体运行
  - name: 制品
  - name: 记忆
  - name: 评测 · 开发服务
  - name: 调试 · 开发服务
  - name: 兼容接口
paths:
  /dev/apps/{app_name}/eval_sets/{eval_set_id}/run_eval:
    post:
      tags:
        - 兼容接口
      summary: 运行评测兼容接口
      description: >-
        直接返回逐用例评测结果数组


        仅在启用开发界面的服务中可用，例如 `veadk web` 或 `adk api_server --with_ui`；默认 `adk
        api_server` 不提供此接口
      operationId: agentApiRunEvaluationLegacy
      parameters:
        - name: app_name
          in: path
          required: true
          schema:
            type: string
            title: App Name
          description: 应用名称
          example: travel_assistant
        - name: eval_set_id
          in: path
          required: true
          schema:
            type: string
            title: Eval Set Id
          description: 评测集 ID
          example: travel-eval
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunEvalRequest'
            example:
              evalCaseIds:
                - case-001
              evalMetrics:
                - metricName: tool_trajectory_avg_score
                  threshold: 1
      responses:
        '200':
          description: 请求成功
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RunEvalResult'
                title: >-
                  Response Run Eval Legacy Dev Apps  App Name  Eval Sets  Eval
                  Set Id  Run Eval Post
        '400':
          description: 请求不符合接口要求，或所需服务/依赖未配置
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: 请求参数验证失败
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
components:
  schemas:
    RunEvalRequest:
      properties:
        evalIds:
          items:
            type: string
          type: array
          title: Evalids
          deprecated: true
          description: 已废弃，请使用 evalCaseIds
        evalCaseIds:
          items:
            type: string
          type: array
          title: Evalcaseids
          description: 要评测的用例 ID；省略或为空时回退到 evalIds，两者均未选择时评测全部用例
        evalMetrics:
          items:
            $ref: '#/components/schemas/EvalMetric'
          type: array
          title: Evalmetrics
          description: 用于本次评测的指标列表
      type: object
      required:
        - evalMetrics
      title: RunEvalRequest
    RunEvalResult:
      properties:
        evalSetFile:
          type: string
          title: Evalsetfile
        evalSetId:
          type: string
          title: Evalsetid
          description: 评测集 ID
        evalId:
          type: string
          title: Evalid
          description: 评测用例 ID
        finalEvalStatus:
          $ref: '#/components/schemas/EvalStatus'
          description: 最终评测状态
        evalMetricResults:
          items:
            prefixItems:
              - $ref: '#/components/schemas/EvalMetric'
              - $ref: '#/components/schemas/EvalMetricResult'
            type: array
            maxItems: 2
            minItems: 2
          type: array
          title: Evalmetricresults
          default: []
          deprecated: true
        overallEvalMetricResults:
          items:
            $ref: '#/components/schemas/EvalMetricResult'
          type: array
          title: Overallevalmetricresults
          description: 用例级指标结果
        evalMetricResultPerInvocation:
          items:
            $ref: '#/components/schemas/EvalMetricResultPerInvocation'
          type: array
          title: Evalmetricresultperinvocation
          description: 逐调用指标结果
        userId:
          type: string
          title: Userid
          description: 用户 ID
        sessionId:
          type: string
          title: Sessionid
          description: 会话 ID
      type: object
      required:
        - evalSetFile
        - evalSetId
        - evalId
        - finalEvalStatus
        - overallEvalMetricResults
        - evalMetricResultPerInvocation
        - userId
        - sessionId
      title: RunEvalResult
    ApiError:
      type: object
      required:
        - detail
      properties:
        detail:
          type: string
          description: 错误详情
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
          description: 错误详情
      type: object
      title: HTTPValidationError
    EvalMetric:
      properties:
        metricName:
          type: string
          title: Metricname
          description: 评测指标名称
        threshold:
          anyOf:
            - type: number
            - type: 'null'
          title: Threshold
          description: 即将废弃的阈值字段，推荐使用 criterion；阈值含义由指标决定
        criterion:
          anyOf:
            - $ref: '#/components/schemas/BaseCriterion'
            - type: 'null'
          description: 指标使用的评测标准
        customFunctionPath:
          anyOf:
            - type: string
            - type: 'null'
          title: Customfunctionpath
          description: 自定义评测函数的导入路径
      additionalProperties: false
      type: object
      required:
        - metricName
      title: EvalMetric
    EvalStatus:
      type: integer
      enum:
        - 1
        - 2
        - 3
      title: EvalStatus
    EvalMetricResult:
      properties:
        metricName:
          type: string
          title: Metricname
          description: 评测指标名称
        threshold:
          anyOf:
            - type: number
            - type: 'null'
          title: Threshold
        criterion:
          anyOf:
            - $ref: '#/components/schemas/BaseCriterion'
            - type: 'null'
          description: 指标使用的评测标准
        customFunctionPath:
          anyOf:
            - type: string
            - type: 'null'
          title: Customfunctionpath
          description: 自定义评测函数的导入路径
        score:
          anyOf:
            - type: number
            - type: 'null'
          title: Score
        evalStatus:
          $ref: '#/components/schemas/EvalStatus'
        details:
          $ref: '#/components/schemas/EvalMetricResultDetails'
      additionalProperties: false
      type: object
      required:
        - metricName
        - evalStatus
      title: EvalMetricResult
    EvalMetricResultPerInvocation:
      properties:
        actualInvocation:
          $ref: '#/components/schemas/Invocation-Output'
        expectedInvocation:
          anyOf:
            - $ref: '#/components/schemas/Invocation-Output'
            - type: 'null'
        evalMetricResults:
          items:
            $ref: '#/components/schemas/EvalMetricResult'
          type: array
          title: Evalmetricresults
          default: []
      additionalProperties: false
      type: object
      required:
        - actualInvocation
      title: EvalMetricResultPerInvocation
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
          description: 出错字段的位置
        msg:
          type: string
          title: Message
          description: 验证错误说明
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    BaseCriterion:
      properties:
        threshold:
          type: number
          title: Threshold
        includeIntermediateResponsesInFinal:
          type: boolean
          title: Includeintermediateresponsesinfinal
          default: false
      additionalProperties: true
      type: object
      required:
        - threshold
      title: BaseCriterion
    EvalMetricResultDetails:
      properties:
        rubricScores:
          anyOf:
            - items:
                $ref: '#/components/schemas/RubricScore'
              type: array
            - type: 'null'
          title: Rubricscores
      additionalProperties: false
      type: object
      title: EvalMetricResultDetails
    Invocation-Output:
      properties:
        invocationId:
          type: string
          title: Invocationid
          default: ''
          description: 调用 ID
        userContent:
          $ref: '#/components/schemas/Content-Output'
        finalResponse:
          anyOf:
            - $ref: '#/components/schemas/Content-Output'
            - type: 'null'
        intermediateData:
          anyOf:
            - $ref: '#/components/schemas/IntermediateData-Output'
            - $ref: '#/components/schemas/InvocationEvents-Output'
            - type: 'null'
          title: Intermediatedata
        creationTimestamp:
          type: number
          title: Creationtimestamp
          default: 0
          description: 创建时间，Unix 时间戳，单位为秒
        rubrics:
          anyOf:
            - items:
                $ref: '#/components/schemas/Rubric'
              type: array
            - type: 'null'
          title: Rubrics
        appDetails:
          anyOf:
            - $ref: '#/components/schemas/AppDetails'
            - type: 'null'
      additionalProperties: false
      type: object
      required:
        - userContent
      title: Invocation
    RubricScore:
      properties:
        rubricId:
          type: string
          title: Rubricid
        rationale:
          anyOf:
            - type: string
            - type: 'null'
          title: Rationale
        score:
          anyOf:
            - type: number
            - type: 'null'
          title: Score
      additionalProperties: false
      type: object
      required:
        - rubricId
      title: RubricScore
    Content-Output:
      properties:
        parts:
          anyOf:
            - items:
                $ref: '#/components/schemas/Part-Output'
              type: array
            - type: 'null'
          title: Parts
          description: 按顺序排列的消息内容片段
        role:
          anyOf:
            - type: string
            - type: 'null'
          title: Role
          description: 消息角色，例如 user 或 model
      additionalProperties: false
      type: object
      title: Content
    IntermediateData-Output:
      properties:
        toolUses:
          items:
            $ref: '#/components/schemas/FunctionCall'
          type: array
          title: Tooluses
          default: []
        toolResponses:
          items:
            $ref: '#/components/schemas/FunctionResponse-Output'
          type: array
          title: Toolresponses
          default: []
        intermediateResponses:
          items:
            prefixItems:
              - type: string
              - items:
                  $ref: '#/components/schemas/Part-Output'
                type: array
            type: array
            maxItems: 2
            minItems: 2
          type: array
          title: Intermediateresponses
          default: []
      additionalProperties: false
      type: object
      title: IntermediateData
    InvocationEvents-Output:
      properties:
        invocationEvents:
          items:
            $ref: '#/components/schemas/InvocationEvent-Output'
          type: array
          title: Invocationevents
      additionalProperties: false
      type: object
      title: InvocationEvents
    Rubric:
      properties:
        rubricId:
          type: string
          title: Rubricid
        rubricContent:
          $ref: '#/components/schemas/RubricContent'
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: 说明
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
      additionalProperties: false
      type: object
      required:
        - rubricId
        - rubricContent
      title: Rubric
    AppDetails:
      properties:
        agentDetails:
          additionalProperties:
            $ref: '#/components/schemas/AgentDetails'
          type: object
          title: Agentdetails
      additionalProperties: false
      type: object
      title: AppDetails
    Part-Output:
      properties:
        mediaResolution:
          anyOf:
            - $ref: '#/components/schemas/PartMediaResolution'
            - type: 'null'
        codeExecutionResult:
          anyOf:
            - $ref: '#/components/schemas/CodeExecutionResult'
            - type: 'null'
          description: 代码执行结果
        executableCode:
          anyOf:
            - $ref: '#/components/schemas/ExecutableCode'
            - type: 'null'
          description: 可执行代码
        fileData:
          anyOf:
            - $ref: '#/components/schemas/FileData'
            - type: 'null'
          description: 通过 URI 引用的文件内容
        functionCall:
          anyOf:
            - $ref: '#/components/schemas/FunctionCall'
            - type: 'null'
          description: 模型请求执行的函数调用
        functionResponse:
          anyOf:
            - $ref: '#/components/schemas/FunctionResponse-Output'
            - type: 'null'
          description: 函数执行结果
        inlineData:
          anyOf:
            - $ref: '#/components/schemas/Blob'
            - type: 'null'
          description: 内嵌二进制内容，data 使用 Base64 编码
        text:
          anyOf:
            - type: string
            - type: 'null'
          title: Text
          description: 文本内容
        thought:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Thought
          description: 是否为思考内容
        thoughtSignature:
          anyOf:
            - type: string
              contentEncoding: base64
              contentMediaType: application/octet-stream
            - type: 'null'
          title: Thoughtsignature
          description: 用于后续调用的思考签名
        videoMetadata:
          anyOf:
            - $ref: '#/components/schemas/VideoMetadata'
            - type: 'null'
          description: 视频元数据
        toolCall:
          anyOf:
            - $ref: '#/components/schemas/ToolCall'
            - type: 'null'
        toolResponse:
          anyOf:
            - $ref: '#/components/schemas/ToolResponse'
            - type: 'null'
        partMetadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Partmetadata
      additionalProperties: false
      type: object
      title: Part
    FunctionCall:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
        args:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Args
          description: 函数参数对象
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: 名称
        partialArgs:
          anyOf:
            - items:
                $ref: '#/components/schemas/PartialArg'
              type: array
            - type: 'null'
          title: Partialargs
        willContinue:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Willcontinue
      additionalProperties: false
      type: object
      title: FunctionCall
    FunctionResponse-Output:
      properties:
        willContinue:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Willcontinue
        scheduling:
          anyOf:
            - $ref: '#/components/schemas/FunctionResponseScheduling'
            - type: 'null'
        parts:
          anyOf:
            - items:
                $ref: '#/components/schemas/FunctionResponsePart'
              type: array
            - type: 'null'
          title: Parts
          description: 按顺序排列的消息内容片段
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: 名称
        response:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Response
          description: 响应内容
      additionalProperties: false
      type: object
      title: FunctionResponse
    InvocationEvent-Output:
      properties:
        author:
          type: string
          title: Author
          description: 事件作者，通常为 user 或智能体名称
        content:
          anyOf:
            - $ref: '#/components/schemas/Content-Output'
            - type: 'null'
          description: 消息内容
      additionalProperties: false
      type: object
      required:
        - author
        - content
      title: InvocationEvent
    RubricContent:
      properties:
        textProperty:
          anyOf:
            - type: string
            - type: 'null'
          title: Textproperty
      additionalProperties: false
      type: object
      required:
        - textProperty
      title: RubricContent
    AgentDetails:
      properties:
        name:
          type: string
          title: Name
          description: 名称
        instructions:
          type: string
          title: Instructions
          default: ''
        toolDeclarations:
          items: {}
          type: array
          title: Tooldeclarations
      additionalProperties: false
      type: object
      required:
        - name
      title: AgentDetails
    PartMediaResolution:
      properties:
        level:
          anyOf:
            - $ref: '#/components/schemas/PartMediaResolutionLevel'
            - type: 'null'
        numTokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Numtokens
      additionalProperties: false
      type: object
      title: PartMediaResolution
    CodeExecutionResult:
      properties:
        outcome:
          anyOf:
            - $ref: '#/components/schemas/Outcome'
            - type: 'null'
        output:
          anyOf:
            - type: string
            - type: 'null'
          title: Output
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
      additionalProperties: false
      type: object
      title: CodeExecutionResult
    ExecutableCode:
      properties:
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
        language:
          anyOf:
            - $ref: '#/components/schemas/Language'
            - type: 'null'
          description: 应用定义语言
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
      additionalProperties: false
      type: object
      title: ExecutableCode
    FileData:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
        fileUri:
          anyOf:
            - type: string
            - type: 'null'
          title: Fileuri
          description: 文件 URI
        mimeType:
          anyOf:
            - type: string
            - type: 'null'
          title: Mimetype
          description: 内容的 MIME 类型
      additionalProperties: false
      type: object
      title: FileData
    Blob:
      properties:
        data:
          anyOf:
            - type: string
              contentEncoding: base64
              contentMediaType: application/octet-stream
            - type: 'null'
          title: Data
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
        mimeType:
          anyOf:
            - type: string
            - type: 'null'
          title: Mimetype
          description: 内容的 MIME 类型
      additionalProperties: false
      type: object
      title: Blob
    VideoMetadata:
      properties:
        endOffset:
          anyOf:
            - type: string
            - type: 'null'
          title: Endoffset
        fps:
          anyOf:
            - type: number
            - type: 'null'
          title: Fps
        startOffset:
          anyOf:
            - type: string
            - type: 'null'
          title: Startoffset
      additionalProperties: false
      type: object
      title: VideoMetadata
    ToolCall:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
        toolType:
          anyOf:
            - $ref: '#/components/schemas/ToolType'
            - type: 'null'
        args:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Args
          description: 函数参数对象
      additionalProperties: false
      type: object
      title: ToolCall
    ToolResponse:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: 标识符
        toolType:
          anyOf:
            - $ref: '#/components/schemas/ToolType'
            - type: 'null'
        response:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Response
          description: 响应内容
      additionalProperties: false
      type: object
      title: ToolResponse
    PartialArg:
      properties:
        boolValue:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Boolvalue
        jsonPath:
          anyOf:
            - type: string
            - type: 'null'
          title: Jsonpath
        nullValue:
          anyOf:
            - type: string
              const: NULL_VALUE
            - type: 'null'
          title: Nullvalue
        numberValue:
          anyOf:
            - type: number
            - type: 'null'
          title: Numbervalue
        stringValue:
          anyOf:
            - type: string
            - type: 'null'
          title: Stringvalue
        willContinue:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Willcontinue
      additionalProperties: false
      type: object
      title: PartialArg
    FunctionResponseScheduling:
      type: string
      enum:
        - SCHEDULING_UNSPECIFIED
        - SILENT
        - WHEN_IDLE
        - INTERRUPT
      title: FunctionResponseScheduling
    FunctionResponsePart:
      properties:
        inlineData:
          anyOf:
            - $ref: '#/components/schemas/FunctionResponseBlob'
            - type: 'null'
          description: 内嵌二进制内容，data 使用 Base64 编码
        fileData:
          anyOf:
            - $ref: '#/components/schemas/FunctionResponseFileData'
            - type: 'null'
          description: 通过 URI 引用的文件内容
      additionalProperties: false
      type: object
      title: FunctionResponsePart
    PartMediaResolutionLevel:
      type: string
      enum:
        - MEDIA_RESOLUTION_UNSPECIFIED
        - MEDIA_RESOLUTION_LOW
        - MEDIA_RESOLUTION_MEDIUM
        - MEDIA_RESOLUTION_HIGH
        - MEDIA_RESOLUTION_ULTRA_HIGH
      title: PartMediaResolutionLevel
    Outcome:
      type: string
      enum:
        - OUTCOME_UNSPECIFIED
        - OUTCOME_OK
        - OUTCOME_FAILED
        - OUTCOME_DEADLINE_EXCEEDED
      title: Outcome
    Language:
      type: string
      enum:
        - LANGUAGE_UNSPECIFIED
        - PYTHON
      title: Language
    ToolType:
      type: string
      enum:
        - TOOL_TYPE_UNSPECIFIED
        - GOOGLE_SEARCH_WEB
        - GOOGLE_SEARCH_IMAGE
        - URL_CONTEXT
        - GOOGLE_MAPS
        - FILE_SEARCH
      title: ToolType
    FunctionResponseBlob:
      properties:
        mimeType:
          anyOf:
            - type: string
            - type: 'null'
          title: Mimetype
          description: 内容的 MIME 类型
        data:
          anyOf:
            - type: string
              contentEncoding: base64
              contentMediaType: application/octet-stream
            - type: 'null'
          title: Data
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
      additionalProperties: false
      type: object
      title: FunctionResponseBlob
    FunctionResponseFileData:
      properties:
        fileUri:
          anyOf:
            - type: string
            - type: 'null'
          title: Fileuri
          description: 文件 URI
        mimeType:
          anyOf:
            - type: string
            - type: 'null'
          title: Mimetype
          description: 内容的 MIME 类型
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
      additionalProperties: false
      type: object
      title: FunctionResponseFileData

````