此版本仍在开发中,尚不被认为是稳定的。对于最新的快照版本,请使用 Spring AI 1.0.1! |
可观察性
Spring AI 基于 Spring 生态系统中的可观测性功能构建,以提供对 AI 相关作的见解。
Spring AI 为其核心组件提供指标和跟踪功能:ChatClient
(包括Advisor
),ChatModel
,EmbeddingModel
,ImageModel
和VectorStore
.
低基数键将添加到指标和跟踪中,而高基数键将仅添加到跟踪中。 |
1.0.0-RC1 重大变更 以下配置属性已重命名,以更好地反映其用途:
|
聊天客户端
这spring.ai.chat.client
当 ChatClientcall()
或stream()
作被调用。
它们测量执行调用所花费的时间并传播相关的跟踪信息。
名称 | 描述 |
---|---|
|
总是 |
|
总是 |
|
聊天模型响应是流吗 - |
|
Spring AI 中的框架 API 类型: |
名称 | 描述 |
---|---|
|
通过聊天客户端发送的提示内容。自选。 |
|
顾问参数的映射。对话 ID 现在包含在 |
|
已配置的聊天客户端顾问列表。 |
|
使用聊天记忆时对话的标识符。 |
|
聊天客户端系统参数。自选。被取代 |
|
聊天客户端系统文本。自选。被取代 |
|
启用的工具函数名称。被取代 |
|
已配置的聊天客户端函数回调列表。被取代 |
|
传递给聊天客户端的工具的名称。 |
|
聊天客户端用户参数。自选。被取代 |
|
聊天客户端用户文本。自选。被取代 |
提示内容
这ChatClient
提示内容通常很大,可能包含敏感信息。
由于这些原因,默认情况下不会导出它。
Spring AI 支持记录提示内容,以帮助调试和故障排除。
属性 | 描述 | 默认值 |
---|---|---|
|
是否记录聊天客户端提示内容。 |
|
如果启用聊天客户端提示内容的日志记录,则存在泄露敏感或私人信息的风险。请小心! |
输入数据(已弃用)
这spring.ai.chat.client.observations.include-input 属性已弃用,替换为spring.ai.chat.client.observations.log-prompt .请参阅提示内容。 |
这ChatClient
输入数据通常很大,可能包含敏感信息。
由于这些原因,默认情况下不会导出它。
Spring AI 支持记录输入数据以帮助调试和故障排除。
属性 | 描述 | 默认值 |
---|---|---|
|
是否在观测中包括输入内容。 |
|
如果启用在观察中包含输入内容,则存在暴露敏感或私人信息的风险。请小心! |
聊天客户顾问
这spring.ai.advisor
执行顾问时记录观察结果。
它们测量在顾问上花费的时间(包括在内部顾问上花费的时间)并传播相关的跟踪信息。
名称 | 描述 |
---|---|
|
总是 |
|
总是 |
|
顾问在请求处理中应用其逻辑时,其中一个 |
|
Spring AI 中的框架 API 类型: |
名称 | 描述 |
---|---|
|
顾问的姓名。 |
|
顾问链中的Advisor Order。 |
聊天模式
目前仅支持 Observability 功能ChatModel 以下 AI 模型的实现
提供商:Anthropic、Azure OpenAI、Mistral AI、Ollama、OpenAI、Vertex AI、MiniMax、Moonshot、QianFan、Zhipu AI。
未来版本将支持其他 AI 模型提供程序。 |
这gen_ai.client.operation
调用 ChatModel 时记录观察结果call
或stream
方法。
它们测量方法完成所花费的时间并传播相关的跟踪信息。
这gen_ai.client.token.usage 指标衡量单个模型调用使用的输入和输出Tokens数。 |
名称 | 描述 |
---|---|
|
正在执行的作的名称。 |
|
客户端检测标识的模型提供程序。 |
|
向其发出请求的模型的名称。 |
|
生成响应的模型的名称。 |
名称 | 描述 |
---|---|
|
模型请求的频率惩罚设置。 |
|
模型为请求生成的最大Tokens数。 |
|
模型请求的状态惩罚设置。 |
|
模型将用于停止生成进一步标记的序列列表。 |
|
模型请求的温度设置。 |
|
模型请求的top_k采样设置。 |
|
模型请求的top_p采样设置。 |
|
模型停止生成Tokens的原因,对应于收到的每一代。 |
|
AI 响应的唯一标识符。 |
|
模型输入中使用的标记数(提示)。 |
|
模型输出中使用的Tokens数(完成)。 |
|
模型交换中使用的Tokens总数。 |
|
发送到模型的完整提示。自选。 |
|
从模型收到的完整响应。自选。 |
|
在请求中提供给模型的工具定义列表。 |
为了测量用户Tokens,上表列出了观察跟踪中存在的值。
使用指标名称gen_ai.client.token.usage 由ChatModel . |
聊天提示和完成数据
聊天提示和完成数据通常很大,可能包含敏感信息。 由于这些原因,默认情况下不会导出它。
Spring AI 支持记录聊天提示和完成数据,对于故障排除场景非常有用。当跟踪可用时,日志将包含跟踪信息,以便更好地关联。
属性 | 描述 | 默认值 |
---|---|---|
|
记录提示内容。 |
|
|
记录完成内容。 |
|
|
在观测中包括错误记录。 |
|
如果启用聊天提示和完成数据的日志记录,则存在泄露敏感或私人信息的风险。请小心! |
工具调用
这spring.ai.tool
在聊天模型交互的上下文中执行工具调用时,会记录观察结果。它们测量完成收费呼叫所花费的时间并传播相关的跟踪信息。
名称 | 描述 |
---|---|
|
正在执行的作的名称。总是 |
|
负责作的提供程序。总是 |
|
Spring AI 执行的那种作。总是 |
|
工具的名称。 |
名称 |
描述 |
|
工具说明。 |
|
用于调用工具的参数的架构。 |
|
工具调用的输入参数。(仅当启用时) |
|
用于调用工具的参数的架构。(仅当启用时) |
嵌入模型
目前仅支持 Observability 功能EmbeddingModel 来自以下AI 模型提供程序:Azure OpenAI、Mistral AI、Ollama 和 OpenAI。将来的版本将支持其他 AI 模型提供程序。 |
这gen_ai.client.operation
观察结果记录在嵌入模型方法调用上。它们测量方法完成所花费的时间并传播相关的跟踪信息。
这gen_ai.client.token.usage 指标衡量单个模型调用使用的输入和输出Tokens数。 |
名称 | 描述 |
---|---|
|
正在执行的作的名称。 |
|
客户端检测标识的模型提供程序。 |
|
向其发出请求的模型的名称。 |
|
生成响应的模型的名称。 |
名称 | 描述 |
---|---|
|
生成的输出嵌入具有的维度数。 |
|
模型输入中使用的Tokens数。 |
|
模型交换中使用的Tokens总数。 |
为了测量用户Tokens,上表列出了观察跟踪中存在的值。
使用指标名称gen_ai.client.token.usage 由EmbeddingModel . |
图像模型
目前仅支持 Observability 功能ImageModel 以下 AI 模型的实现
提供商:OpenAI。
未来版本将支持其他 AI 模型提供程序。 |
这gen_ai.client.operation
观察结果记录在图像模型方法调用上。
它们测量方法完成所花费的时间并传播相关的跟踪信息。
这gen_ai.client.token.usage 指标衡量单个模型调用使用的输入和输出Tokens数。 |
名称 | 描述 |
---|---|
|
正在执行的作的名称。 |
|
客户端检测标识的模型提供程序。 |
|
向其发出请求的模型的名称。 |
名称 | 描述 |
---|---|
|
返回生成的图像的格式。 |
|
要生成的图像的大小。 |
|
要生成的图像样式。 |
|
AI 响应的唯一标识符。 |
|
生成响应的模型的名称。 |
|
模型输入中使用的标记数(提示)。 |
|
模型输出(生成)中使用的Tokens数。 |
|
模型交换中使用的Tokens总数。 |
|
发送到模型的完整提示。自选。 |
为了测量用户Tokens,上表列出了观察跟踪中存在的值。
使用指标名称gen_ai.client.token.usage 由ImageModel . |
矢量存储
Spring AI 中的所有向量存储实现都经过检测,可通过 Micrometer 提供指标和分布式跟踪数据。
这db.vector.client.operation
与矢量存储交互时记录观测值。
他们衡量在query
,add
和remove
作并传播相关的跟踪信息。
名称 | 描述 |
---|---|
|
正在执行的作或命令的名称。其中之一 |
|
客户端检测标识的数据库管理系统 (DBMS) 产品。其中之一 |
|
Spring AI 中的框架 API 类型: |
名称 | 描述 |
---|---|
|
数据库中集合(表、容器)的名称。 |
|
数据库的名称,在服务器地址和端口中完全限定。 |
|
记录标识符(如果存在)。 |
|
相似性搜索中使用的指标。 |
|
向量的维度。 |
|
向量的名称字段(例如字段名称)。 |
|
正在执行的搜索查询的内容。 |
|
搜索查询中使用的元数据筛选器。 |
|
从相似性搜索查询返回的文档。自选。 |
|
接受所有搜索分数的相似性阈值。阈值 0.0 表示接受任何相似性或禁用相似性阈值筛选。阈值 1.0 表示需要完全匹配。 |
|
查询返回的前 k 个最相似的向量。 |