可观察性

Spring AI 基于 Spring 生态系统中的可观察性功能构建,以提供对 AI 相关作的见解。 Spring AI 为其核心组件提供 metrics 和跟踪功能:ChatClient(包括Advisor),ChatModel,EmbeddingModel,ImageModelVectorStore.spring-doc.cadn.net.cn

低基数键将添加到指标和跟踪中,而高基数键将仅添加到跟踪中。

1.0.0-RC1 重大变更spring-doc.cadn.net.cn

以下配置属性已重命名,以更好地反映其用途:spring-doc.cadn.net.cn

  • spring.ai.chat.client.observations.include-promptspring.ai.chat.client.observations.log-promptspring-doc.cadn.net.cn

  • spring.ai.chat.observations.include-promptspring.ai.chat.observations.log-promptspring-doc.cadn.net.cn

  • spring.ai.chat.observations.include-completionspring.ai.chat.observations.log-completionspring-doc.cadn.net.cn

  • spring.ai.image.observations.include-promptspring.ai.image.observations.log-promptspring-doc.cadn.net.cn

  • spring.ai.vectorstore.observations.include-query-responsespring.ai.vectorstore.observations.log-query-responsespring-doc.cadn.net.cn

聊天客户端

spring.ai.chat.client当 ChatClientcall()stream()作。 它们测量执行调用所花费的时间并传播相关的跟踪信息。spring-doc.cadn.net.cn

表 1.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

总是framework.spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

总是spring_ai.spring-doc.cadn.net.cn

spring.ai.chat.client.streamspring-doc.cadn.net.cn

聊天模型响应是流吗 -true or falsespring-doc.cadn.net.cn

spring.ai.kindspring-doc.cadn.net.cn

Spring AI 中的框架 API 类型:chat_client.spring-doc.cadn.net.cn

表 2.高基数键
名字 描述

gen_ai.promptspring-doc.cadn.net.cn

通过聊天客户端发送的提示内容。自选。spring-doc.cadn.net.cn

spring.ai.chat.client.advisor.params(已弃用)spring-doc.cadn.net.cn

advisor 参数映射。对话 ID 现在包含在spring.ai.chat.client.conversation.id.spring-doc.cadn.net.cn

spring.ai.chat.client.advisorsspring-doc.cadn.net.cn

已配置的聊天客户端顾问列表。spring-doc.cadn.net.cn

spring.ai.chat.client.conversation.idspring-doc.cadn.net.cn

使用聊天内存时对话的标识符。spring-doc.cadn.net.cn

spring.ai.chat.client.system.params(已弃用)spring-doc.cadn.net.cn

Chat 客户端系统参数。自选。取代gen_ai.prompt.spring-doc.cadn.net.cn

spring.ai.chat.client.system.text(已弃用)spring-doc.cadn.net.cn

Chat 客户端系统文本。自选。取代gen_ai.prompt.spring-doc.cadn.net.cn

spring.ai.chat.client.tool.function.names(已弃用)spring-doc.cadn.net.cn

启用工具函数名称。取代spring.ai.chat.client.tool.names.spring-doc.cadn.net.cn

spring.ai.chat.client.tool.function.callbacks(已弃用)spring-doc.cadn.net.cn

已配置的聊天客户端函数回调列表。取代spring.ai.chat.client.tool.names.spring-doc.cadn.net.cn

spring.ai.chat.client.tool.namesspring-doc.cadn.net.cn

传递给聊天客户端的工具的名称。spring-doc.cadn.net.cn

spring.ai.chat.client.user.params(已弃用)spring-doc.cadn.net.cn

Chat 客户端用户参数。自选。取代gen_ai.prompt.spring-doc.cadn.net.cn

spring.ai.chat.client.user.text(已弃用)spring-doc.cadn.net.cn

Chat 客户端用户文本。自选。取代gen_ai.prompt.spring-doc.cadn.net.cn

提示内容

ChatClient提示内容通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。spring-doc.cadn.net.cn

Spring AI 支持记录提示内容以帮助进行调试和故障排除。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.chat.client.observations.log-promptspring-doc.cadn.net.cn

是否记录聊天客户端提示内容。spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果启用聊天客户端提示内容的日志记录,则存在暴露敏感或私人信息的风险。请小心!

输入数据 (已弃用)

spring.ai.chat.client.observations.include-inputproperty 已弃用,替换为spring.ai.chat.client.observations.log-prompt.请参阅 提示内容

ChatClient输入数据通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。spring-doc.cadn.net.cn

Spring AI 支持记录 Importing 数据以帮助进行调试和故障排除。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.chat.client.observations.include-inputspring-doc.cadn.net.cn

是否在观察中包括输入内容。spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果允许在观察中包含输入内容,则存在暴露敏感或私人信息的风险。请小心!

聊天客户顾问

spring.ai.advisor执行 advisor 时记录观察结果。 它们测量在 advisor 中花费的时间(包括在内部 advisor 上花费的时间)并传播相关的跟踪信息。spring-doc.cadn.net.cn

表 3.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

总是framework.spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

总是spring_ai.spring-doc.cadn.net.cn

spring.ai.advisor.type(已弃用)spring-doc.cadn.net.cn

当 advisor 在请求处理中应用它的 logic 时,其中一个BEFORE,AFTERAROUND.这种区别不再适用,因为所有 Advisor 始终属于同一类型。spring-doc.cadn.net.cn

spring.ai.kindspring-doc.cadn.net.cn

Spring AI 中的框架 API 类型:advisor.spring-doc.cadn.net.cn

表 4.高基数键
名字 描述

spring.ai.advisor.namespring-doc.cadn.net.cn

顾问的姓名。spring-doc.cadn.net.cn

spring.ai.advisor.orderspring-doc.cadn.net.cn

顾问链中的 advisor 订单。spring-doc.cadn.net.cn

聊天模型

目前仅支持 Observability 功能ChatModel来自以下 AI 模型的实现 提供商:Anthropic、Azure OpenAI、Mistral AI、Ollama、OpenAI、Vertex AI、MiniMax、Moonshot、QianFan、Zhiu AI。 未来版本将支持其他 AI 模型提供程序。

gen_ai.client.operation调用 ChatModel 时记录观察结果callstream方法。 它们测量方法完成所花费的时间并传播相关的跟踪信息。spring-doc.cadn.net.cn

gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。
表 5.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

正在执行的作的名称。spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

由客户端检测标识的模型提供程序。spring-doc.cadn.net.cn

gen_ai.request.modelspring-doc.cadn.net.cn

要向其发出请求的模型的名称。spring-doc.cadn.net.cn

gen_ai.response.modelspring-doc.cadn.net.cn

生成响应的模型的名称。spring-doc.cadn.net.cn

表 6.高基数键
名字 描述

gen_ai.request.frequency_penaltyspring-doc.cadn.net.cn

模型请求的频率损失设置。spring-doc.cadn.net.cn

gen_ai.request.max_tokensspring-doc.cadn.net.cn

模型为请求生成的最大令牌数。spring-doc.cadn.net.cn

gen_ai.request.presence_penaltyspring-doc.cadn.net.cn

模型请求的存在惩罚设置。spring-doc.cadn.net.cn

gen_ai.request.stop_sequencesspring-doc.cadn.net.cn

模型将用于停止生成更多标记的序列列表。spring-doc.cadn.net.cn

gen_ai.request.temperaturespring-doc.cadn.net.cn

模型请求的温度设置。spring-doc.cadn.net.cn

gen_ai.request.top_kspring-doc.cadn.net.cn

模型请求的 top_k 采样设置。spring-doc.cadn.net.cn

gen_ai.request.top_pspring-doc.cadn.net.cn

模型请求的 top_p 采样设置。spring-doc.cadn.net.cn

gen_ai.response.finish_reasonsspring-doc.cadn.net.cn

模型停止生成令牌的原因,对应于收到的每一代。spring-doc.cadn.net.cn

gen_ai.response.idspring-doc.cadn.net.cn

AI 响应的唯一标识符。spring-doc.cadn.net.cn

gen_ai.usage.input_tokensspring-doc.cadn.net.cn

模型输入 (prompt) 中使用的标记数。spring-doc.cadn.net.cn

gen_ai.usage.output_tokensspring-doc.cadn.net.cn

模型输出 (completion) 中使用的标记数。spring-doc.cadn.net.cn

gen_ai.usage.total_tokensspring-doc.cadn.net.cn

模型交换中使用的代币总数。spring-doc.cadn.net.cn

gen_ai.promptspring-doc.cadn.net.cn

发送到模型的完整提示。自选。spring-doc.cadn.net.cn

gen_ai.completionspring-doc.cadn.net.cn

从模型收到的完整响应。自选。spring-doc.cadn.net.cn

spring.ai.model.request.tool.namesspring-doc.cadn.net.cn

请求中提供给模型的工具定义列表。spring-doc.cadn.net.cn

对于测量用户令牌,上表列出了观察跟踪中存在的值。 使用指标名称gen_ai.client.token.usageChatModel.

聊天提示和完成数据

聊天提示和完成数据通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。spring-doc.cadn.net.cn

Spring AI 支持记录聊天提示和完成数据,这对于故障排除场景非常有用。当跟踪可用时,日志将包含跟踪信息,以便更好地关联。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.chat.observations.log-promptspring-doc.cadn.net.cn

记录提示内容。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

spring.ai.chat.observations.log-completionspring-doc.cadn.net.cn

记录完成内容。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

spring.ai.chat.observations.include-error-loggingspring-doc.cadn.net.cn

在观测中包括错误记录。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果启用聊天提示和完成数据的日志记录,则存在暴露敏感或私人信息的风险。请小心!

工具调用

spring.ai.tool在聊天模型交互的上下文中执行工具调用时,将记录观察结果。它们测量收费呼叫完成所花费的时间,并传播相关的跟踪信息。spring-doc.cadn.net.cn

表 7.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

正在执行的作的名称。它总是framework.spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

负责作的提供程序。它总是spring_ai.spring-doc.cadn.net.cn

spring.ai.kindspring-doc.cadn.net.cn

Spring AI 执行的作类型。它总是tool_call.spring-doc.cadn.net.cn

spring.ai.tool.definition.namespring-doc.cadn.net.cn

工具的名称。spring-doc.cadn.net.cn

表 8.高基数键

spring.ai.tool.definition.descriptionspring-doc.cadn.net.cn

工具的描述。spring-doc.cadn.net.cn

spring.ai.tool.definition.schemaspring-doc.cadn.net.cn

用于调用工具的参数的架构。spring-doc.cadn.net.cn

spring.ai.tool.call.argumentsspring-doc.cadn.net.cn

工具调用的输入参数。(仅在启用时)spring-doc.cadn.net.cn

spring.ai.tool.call.resultspring-doc.cadn.net.cn

用于调用工具的参数的架构。(仅在启用时)spring-doc.cadn.net.cn

工具调用参数和结果数据

默认情况下,不会导出工具调用的输入参数和结果,因为它们可能很敏感。spring-doc.cadn.net.cn

Spring AI 支持将工具调用参数和结果数据导出为 span 属性。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.tools.observations.include-contentspring-doc.cadn.net.cn

在观察中包括工具调用内容。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果启用包含 tool call 参数并导致观察结果,则存在暴露敏感或私人信息的风险。请小心!

EmbeddingModel

目前仅支持 Observability 功能EmbeddingModel来自以下的 implementations AI 模型提供商:Azure OpenAI、Mistral AI、Ollama 和 OpenAI。 未来版本将支持其他 AI 模型提供程序。

gen_ai.client.operation在嵌入模型方法调用时记录观察结果。 它们测量方法完成所花费的时间并传播相关的跟踪信息。spring-doc.cadn.net.cn

gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。
表 9.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

正在执行的作的名称。spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

由客户端检测标识的模型提供程序。spring-doc.cadn.net.cn

gen_ai.request.modelspring-doc.cadn.net.cn

要向其发出请求的模型的名称。spring-doc.cadn.net.cn

gen_ai.response.modelspring-doc.cadn.net.cn

生成响应的模型的名称。spring-doc.cadn.net.cn

表 10.高基数键
名字 描述

gen_ai.request.embedding.dimensionsspring-doc.cadn.net.cn

生成的输出嵌入具有的维度数。spring-doc.cadn.net.cn

gen_ai.usage.input_tokensspring-doc.cadn.net.cn

模型输入中使用的标记数。spring-doc.cadn.net.cn

gen_ai.usage.total_tokensspring-doc.cadn.net.cn

模型交换中使用的代币总数。spring-doc.cadn.net.cn

对于测量用户令牌,上表列出了观察跟踪中存在的值。 使用指标名称gen_ai.client.token.usageEmbeddingModel.

图像模型

目前仅支持 Observability 功能ImageModel来自以下 AI 模型的实现 提供商:OpenAI。 未来版本将支持其他 AI 模型提供程序。

gen_ai.client.operation观察结果记录在图像模型方法调用中。 它们测量方法完成所花费的时间并传播相关的跟踪信息。spring-doc.cadn.net.cn

gen_ai.client.token.usageMetrics 衡量单个模型调用使用的输入和输出令牌的数量。
表 11.低基数键
名字 描述

gen_ai.operation.namespring-doc.cadn.net.cn

正在执行的作的名称。spring-doc.cadn.net.cn

gen_ai.systemspring-doc.cadn.net.cn

由客户端检测标识的模型提供程序。spring-doc.cadn.net.cn

gen_ai.request.modelspring-doc.cadn.net.cn

要向其发出请求的模型的名称。spring-doc.cadn.net.cn

表 12.高基数键
名字 描述

gen_ai.request.image.response_formatspring-doc.cadn.net.cn

返回生成图像的格式。spring-doc.cadn.net.cn

gen_ai.request.image.sizespring-doc.cadn.net.cn

要生成的图像的大小。spring-doc.cadn.net.cn

gen_ai.request.image.stylespring-doc.cadn.net.cn

要生成的图像的样式。spring-doc.cadn.net.cn

gen_ai.response.idspring-doc.cadn.net.cn

AI 响应的唯一标识符。spring-doc.cadn.net.cn

gen_ai.response.modelspring-doc.cadn.net.cn

生成响应的模型的名称。spring-doc.cadn.net.cn

gen_ai.usage.input_tokensspring-doc.cadn.net.cn

模型输入 (prompt) 中使用的标记数。spring-doc.cadn.net.cn

gen_ai.usage.output_tokensspring-doc.cadn.net.cn

模型输出 (generation) 中使用的令牌数。spring-doc.cadn.net.cn

gen_ai.usage.total_tokensspring-doc.cadn.net.cn

模型交换中使用的代币总数。spring-doc.cadn.net.cn

gen_ai.promptspring-doc.cadn.net.cn

发送到模型的完整提示。自选。spring-doc.cadn.net.cn

对于测量用户令牌,上表列出了观察跟踪中存在的值。 使用指标名称gen_ai.client.token.usageImageModel.

图像提示数据

图像提示数据通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。spring-doc.cadn.net.cn

Spring AI 支持记录图像提示数据,这对于故障排除场景非常有用。当跟踪可用时,日志将包含跟踪信息,以便更好地关联。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.image.observations.log-promptspring-doc.cadn.net.cn

记录图像提示内容。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果启用图像提示数据的日志记录,则存在暴露敏感或私人信息的风险。请小心!

矢量存储

Spring AI 中的所有向量存储实现都经过检测,以通过 Micrometer 提供指标和分布式跟踪数据。spring-doc.cadn.net.cn

db.vector.client.operation与 Vector Store 交互时记录观察结果。 它们测量在query,addremove作并传播相关的跟踪信息。spring-doc.cadn.net.cn

表 13.低基数键
名字 描述

db.operation.namespring-doc.cadn.net.cn

正在执行的作或命令的名称。其中之一add,deletequery.spring-doc.cadn.net.cn

由客户端检测标识的数据库管理系统 (DBMS) 产品。其中之一pg_vector,azure,cassandra,chroma,elasticsearch,milvus,neo4j,opensearch,qdrant,redis,typesense,weaviate,pinecone,oracle,mongodb,gemfire,hana,simple.spring-doc.cadn.net.cn

spring.ai.kindspring-doc.cadn.net.cn

Spring AI 中的框架 API 类型:vector_store.spring-doc.cadn.net.cn

表 14.高基数键
名字 描述

db.collection.namespring-doc.cadn.net.cn

数据库中集合 (表、容器) 的名称。spring-doc.cadn.net.cn

数据库的名称,在服务器地址和端口中完全限定。spring-doc.cadn.net.cn

记录标识符(如果存在)。spring-doc.cadn.net.cn

db.search.similarity_metricspring-doc.cadn.net.cn

相似性搜索中使用的量度。spring-doc.cadn.net.cn

db.vector.dimension_countspring-doc.cadn.net.cn

向量的维度。spring-doc.cadn.net.cn

db.vector.field_namespring-doc.cadn.net.cn

作为向量的 name 字段(例如,字段名称)。spring-doc.cadn.net.cn

db.vector.query.contentspring-doc.cadn.net.cn

正在执行的搜索查询的内容。spring-doc.cadn.net.cn

db.vector.query.filterspring-doc.cadn.net.cn

搜索查询中使用的元数据筛选条件。spring-doc.cadn.net.cn

db.vector.query.response.documentsspring-doc.cadn.net.cn

从相似性搜索查询返回的文档。自选。spring-doc.cadn.net.cn

db.vector.query.similarity_thresholdspring-doc.cadn.net.cn

接受所有搜索分数的相似性阈值。阈值 0.0 表示接受任何相似性或禁用相似性阈值筛选。阈值 1.0 表示需要完全匹配。spring-doc.cadn.net.cn

db.vector.query.top_kspring-doc.cadn.net.cn

查询返回的前 k 个最相似的向量。spring-doc.cadn.net.cn

响应数据

向量搜索响应数据通常很大,并且可能包含敏感信息。 由于这些原因,默认情况下不会导出它。spring-doc.cadn.net.cn

Spring AI 支持记录向量搜索响应数据,这对于故障排除场景非常有用。当跟踪可用时,日志将包含跟踪信息,以便更好地关联。spring-doc.cadn.net.cn

属性 描述 默认值

spring.ai.vectorstore.observations.log-query-responsespring-doc.cadn.net.cn

记录向量存储查询响应内容。truefalsespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果启用向量搜索响应数据的日志记录,则存在暴露敏感或私人信息的风险。请小心!