| 此版本仍在开发中,尚未被视为稳定版本。最新的快照版本请使用 Spring AI 1.0.0-SNAPSHOT! | 
可观察性
Spring AI 基于 Spring 生态系统中的可观察性功能构建,以提供对 AI 相关作的见解。
Spring AI 为其核心组件提供 metrics 和跟踪功能:ChatClient(包括Advisor),ChatModel,EmbeddingModel,ImageModel和VectorStore.
| 低基数键将添加到指标和跟踪中,而高基数键将仅添加到跟踪中。 | 
聊天客户端
这spring.ai.chat.client当 ChatClientcall()或stream()作。
它们测量执行调用所花费的时间并传播相关的跟踪信息。
| 名字 | 描述 | 
|---|---|
| 
 | 总是 | 
| 
 | 总是 | 
| 
 | 聊天模型响应是流吗 - | 
| 
 | Spring AI 中的框架 API 类型: | 
| 名字 | 描述 | 
|---|---|
| 
 | advisor 参数映射。 | 
| 
 | 已配置的聊天客户端顾问列表。 | 
| 
 | Chat 客户端系统参数。自选。 | 
| 
 | Chat 客户端系统文本。自选。 | 
| 
 | 启用工具函数名称。 | 
| 
 | 已配置的聊天客户端函数回调列表。 | 
| 
 | Chat 客户端用户参数。自选。 | 
| 
 | Chat 客户端用户文本。自选。 | 
输入数据
这ChatClient输入数据通常很大,并且可能包含敏感信息。
由于这些原因,默认情况下不会导出它。
Spring AI 支持跨所有跟踪后端将 Importing 数据导出为 span 属性。
| 财产 | 描述 | 违约 | 
|---|---|---|
| 
 | 是否在观察中包括输入内容。 | 
 | 
| 如果允许在观察中包含输入内容,则存在暴露敏感或私人信息的风险。请小心! | 
聊天客户顾问
这spring.ai.advisor在执行 Advisors 周围的 Call 或 Stream 时,将记录观察结果。
它们测量在 advisor 中花费的时间(包括在内部 advisor 上花费的时间)并传播相关的跟踪信息。
| 名字 | 描述 | 
|---|---|
| 
 | 总是 | 
| 
 | 总是 | 
| 
 | 当 advisor 在请求处理中应用它的 logic 时,其中一个 | 
| 
 | Spring AI 中的框架 API 类型: | 
| 名字 | 描述 | 
|---|---|
| 
 | 顾问的姓名。 | 
| 
 | 顾问链中的 advisor 订单。 | 
聊天模型
| 目前仅支持 Observability 功能 ChatModel来自以下 AI 模型的实现
提供商:Anthropic、Azure OpenAI、Mistral AI、Ollama、OpenAI、Vertex AI、MiniMax、Moonshot、QianFan、Zhiu AI。
未来版本将支持其他 AI 模型提供程序。 | 
这gen_ai.client.operation调用 ChatModel 时记录观察结果call或stream方法。
它们测量方法完成所花费的时间并传播相关的跟踪信息。
| 这 gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 正在执行的作的名称。 | 
| 
 | 由客户端检测标识的模型提供程序。 | 
| 
 | 正在向其发出请求的模型的名称。 | 
| 
 | 生成响应的模型的名称。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 模型请求的频率损失设置。 | 
| 
 | 模型为请求生成的最大令牌数。 | 
| 
 | 模型请求的存在惩罚设置。 | 
| 
 | 模型将用于停止生成更多标记的序列列表。 | 
| 
 | 模型请求的温度设置。 | 
| 
 | 模型请求的 top_k 采样设置。 | 
| 
 | 模型请求的 top_p 采样设置。 | 
| 
 | 模型停止生成令牌的原因,对应于收到的每一代。 | 
| 
 | AI 响应的唯一标识符。 | 
| 
 | 模型输入 (prompt) 中使用的标记数。 | 
| 
 | 模型输出 (completion) 中使用的标记数。 | 
| 
 | 模型交换中使用的代币总数。 | 
| 
 | 发送到模型的完整提示。自选。 | 
| 
 | 从模型收到的完整响应。自选。 | 
| 对于测量用户令牌,上表列出了观察跟踪中存在的值。
使用指标名称 gen_ai.client.token.usage由ChatModel. | 
| 名字 | 描述 | 
|---|---|
| 
 | 事件,包括聊天提示的内容。自选。 | 
| 
 | 事件,包括聊天完成的内容。自选。 | 
聊天提示和完成数据
聊天提示和完成数据通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。
Spring AI 支持将聊天提示和完成数据导出为 span 事件(如果您使用 OpenTelemetry 跟踪后端), 而如果您使用 OpenZipkin 跟踪后端,则数据将导出为 span 属性。
此外,Spring AI 支持记录聊天提示和完成数据,这对于故障排除场景非常有用。
| 财产 | 描述 | 违约 | 
|---|---|---|
| 
 | 在观察中包括提示内容。 | 
 | 
| 
 | 在观察任务中包括完成内容。 | 
 | 
| 
 | 在观测中包括错误记录。 | 
 | 
| 如果您在观察中启用聊天提示和完成数据,则存在暴露敏感或私人信息的风险。请小心! | 
EmbeddingModel
| 目前仅支持 Observability 功能 EmbeddingModel来自以下的 implementations
AI 模型提供商:Azure OpenAI、Mistral AI、Ollama 和 OpenAI。
未来版本将支持其他 AI 模型提供程序。 | 
这gen_ai.client.operation在嵌入模型方法调用时记录观察结果。
它们测量方法完成所花费的时间并传播相关的跟踪信息。
| 这 gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 正在执行的作的名称。 | 
| 
 | 由客户端检测标识的模型提供程序。 | 
| 
 | 正在向其发出请求的模型的名称。 | 
| 
 | 生成响应的模型的名称。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 生成的输出嵌入具有的维度数。 | 
| 
 | 模型输入中使用的标记数。 | 
| 
 | 模型交换中使用的代币总数。 | 
| 对于测量用户令牌,上表列出了观察跟踪中存在的值。
使用指标名称 gen_ai.client.token.usage由EmbeddingModel. | 
图像模型
| 目前仅支持 Observability 功能 ImageModel来自以下 AI 模型的实现
提供商:OpenAI。
未来版本将支持其他 AI 模型提供程序。 | 
这gen_ai.client.operation观察结果记录在图像模型方法调用中。
它们测量方法完成所花费的时间并传播相关的跟踪信息。
| 这 gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 正在执行的作的名称。 | 
| 
 | 由客户端检测标识的模型提供程序。 | 
| 
 | 正在向其发出请求的模型的名称。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 返回生成图像的格式。 | 
| 
 | 要生成的图像的大小。 | 
| 
 | 要生成的图像的样式。 | 
| 
 | AI 响应的唯一标识符。 | 
| 
 | 生成响应的模型的名称。 | 
| 
 | 模型输入 (prompt) 中使用的标记数。 | 
| 
 | 模型输出 (generation) 中使用的令牌数。 | 
| 
 | 模型交换中使用的代币总数。 | 
| 
 | 发送到模型的完整提示。自选。 | 
| 对于测量用户令牌,上表列出了观察跟踪中存在的值。
使用指标名称 gen_ai.client.token.usage由ImageModel. | 
| 名字 | 描述 | 
|---|---|
| 
 | 事件,包括图像提示的内容。自选。 | 
矢量存储
Spring AI 中的所有向量存储实现都经过检测,以通过 Micrometer 提供指标和分布式跟踪数据。
这db.vector.client.operation与 Vector Store 交互时记录观察结果。
它们测量在query,add和remove作并传播相关的跟踪信息。
| 名字 | 描述 | 
|---|---|
| 
 | 正在执行的作或命令的名称。其中之一 | 
| 
 | 由客户端检测标识的数据库管理系统 (DBMS) 产品。其中之一 | 
| 
 | Spring AI 中的框架 API 类型: | 
| 名字 | 描述 | 
|---|---|
| 
 | 数据库中集合 (表、容器) 的名称。 | 
| 
 | 数据库的名称,在服务器地址和端口中完全限定。 | 
| 
 | 记录标识符(如果存在)。 | 
| 
 | 相似性搜索中使用的量度。 | 
| 
 | 向量的维度。 | 
| 
 | 作为向量的 name 字段(例如,字段名称)。 | 
| 
 | 正在执行的搜索查询的内容。 | 
| 
 | 搜索查询中使用的元数据筛选条件。 | 
| 
 | 从相似性搜索查询返回的文档。自选。 | 
| 
 | 接受所有搜索分数的相似性阈值。阈值 0.0 表示接受任何相似性或禁用相似性阈值筛选。阈值 1.0 表示需要完全匹配。 | 
| 
 | 查询返回的前 k 个最相似的向量。 | 
| 名字 | 描述 | 
|---|---|
| 
 | 事件,包括向量搜索响应数据。自选。 |