Skip to main content
POST
自定义 Analytics 查询

概览

Custom Analytics API 提供灵活的查询能力,可对 Autocomplete、Chat 和 Command 的数据进行可自定义的 selections、过滤、aggregations 和排序。

请求

string
必填
具有“Analytics Read”权限的服务密钥
string
将结果筛选为特定用户组内的用户(可选)
array
必填
定义要检索的数据的查询请求对象数组

查询请求结构

每个查询请求对象包含:
  • data_source(必需):要查询的数据源
  • selections(必需):要检索的字段 selections 数组
  • filters(可选):要应用的过滤条件数组
  • aggregations(可选):用于分组的 aggregations 数组

Selections

Selections 用于定义要检索的字段以及对其进行聚合的方式。
  • field(必填):要选择的字段名
  • name(可选):字段的别名
  • aggregation_function(可选):要应用的聚合函数

选择示例

筛选器

筛选器用于将数据限定为满足特定条件的元素。
  • name(必填):要进行筛选的字段名称
  • filter(必填):筛选操作
  • value(必填):用于比较的值

筛选示例

Aggregations

aggregations 根据指定条件对数据进行分组。
  • field (required): 用于分组的字段名
  • name (required): 该聚合字段的别名

聚合示例

可用字段

用户数据

所有用户数据按用户、按小时汇总。

Chat 数据

所有 Chat 数据均指 Chat 模型的回复,而非用户提问。

Chat 意图类型

  • CHAT_INTENT_GENERIC - 常规 Chat
  • CHAT_INTENT_FUNCTION_EXPLAIN - 函数说明代码镜头
  • CHAT_INTENT_FUNCTION_DOCSTRING - 函数文档字符串代码镜头
  • CHAT_INTENT_FUNCTION_REFACTOR - 函数重构代码镜头
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - 代码块说明代码镜头
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - 代码块重构代码镜头
  • CHAT_INTENT_PROBLEM_EXPLAIN - 问题说明代码镜头
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - 函数单元测试代码镜头

Command 数据

Command 数据包含所有命令,包括被拒绝的命令。使用 accepted 字段可仅筛选已接受的命令。

Command 来源

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - 常规的 Command 用法
  • COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR
  • COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS
  • COMMAND_REQUEST_SOURCE_FOLLOWUP
  • COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS
  • COMMAND_REQUEST_SOURCE_PLAN
  • COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS

提供方来源

  • PROVIDER_SOURCE_COMMAND_GENERATE - 生成模式
  • PROVIDER_SOURCE_COMMAND_EDIT - 编辑模式

PCW 数据

Percent Code Written 数据,分别统计 Autocomplete 和 Command 的贡献。

PCW 过滤器

在 PCW 查询中进行日期筛选时,请在主请求体中使用 start_timestampend_timestamp

示例请求

用户数据示例

Chat 数据示例

Command 数据示例

PCW 数据示例

响应

array
查询结果数组,其中每个元素对应一个查询请求
array
结果条目数组
object
包含所选字段及其值的对象

示例回复

用户数据响应

Chat 数据响应

Command 数据响应

PCW 数据返回

重要说明

  • PCW(Percent Code Written,代码编写百分比)在单个自然日内或不同用户之间波动较大——建议按周聚合以获得更可靠的分析结果
  • 所有 selection 字段要么全部使用聚合函数,要么全部不使用(不能混用)
  • 名称符合 “distinct_*” 模式的字段不能用于 aggregations
  • 字段别名在所有 selections 和 aggregations 中必须唯一
  • 如果未指定聚合函数,则默认为 UNSPECIFIED