新闻详情

新闻详情

首页 / 资讯中心 / 详情

MLflow Mistral 集成指南:用 mlflow.mistral.autolog() 自动追踪 Mistral AI 调用

发布时间:2026/9/12 0:22:30来源:尧图网络
MLflow Mistral 集成指南:用 mlflow.mistral.autolog() 自动追踪 Mistral AI 调用
MLflow Mistral 集成指南用 mlflow.mistral.autolog() 自动追踪 Mistral AI 调用【免费下载链接】mlflowThe open source AI engineering platform for agents, LLMs, and ML models. MLflow enables teams of all sizes to debug, evaluate, monitor, and optimize production-quality AI applications while controlling costs and managing access to models and data.项目地址: https://gitcode.com/GitHub_Trending/ml/mlflowmlflow.mistral是 MLflow 针对 Mistral AI 官方 Python SDK 的自动追踪auto-tracing集成模块属于 MLflow LLM Tracing 体系的一部分。开启后你的 Mistral 对话补全调用会被自动记录为 Trace/Span无需改动业务代码即可获得提示词、响应、模型名、Token 用量、函数调用Function Calling与异常等完整可观测信息。读完本文你将掌握mlflow.mistral.autolog()的全部参数语义、适用 API 边界、底层实现原理并能直接落地到自己的 Mistral 应用中。一、模块概览flavor 与入口mlflow.mistral模块在仓库中的源码位于 mlflow/mistral共三个文件__init__.py对外入口、autolog.py自动埋点核心、chat.py工具定义转换。它注册的 flavor 名称为mistral见 __init__.py整个模块的对外能力都通过唯一的入口函数mlflow.mistral.autolog()暴露。从模块结构可以推断该集成遵循 MLflow 统一的autologging_integration装饰器规范__init__.py并借助safe_patch对 Mistral SDK 的Chat类方法做无损补丁——补丁不会破坏原方法的返回值与行为调用方无感。二、API 参考mlflow.mistral.autolog()该 API 的正式定义位于 mlflow/mistral/__init__.py也是本模块 API 文档页mlflow.mistral的核心成员。mlflow.mistral.autolog(log_tracesTrue, disableFalse, silentFalse)作用启用或禁用Mistral AI 到 MLflow 的自动日志记录。启用后Mistral SDK 的文本生成调用会被自动追踪。参数说明参数类型默认值含义log_tracesboolTrue为 Mistral 模型记录 Trace设为False时推理期间不采集任何 TracedisableboolFalse设为True时禁用 Mistral AI 自动日志记录silentboolFalse设为True时抑制 MLflow 在 autolog 期间的全部事件日志与告警False时正常输出关键限制重要根据 __init__.py 的 docstring本集成仅支持文本生成 API 的同步调用chat.complete以及异步调用chat.complete_async流式Streaming调用不会被记录。这与官方集成文档 Tracing Mistral 中的支持矩阵一致Chat ✅、Function Calling ✅、Streaming –不支持、Async ✅异步支持自 MLflow 3.5.0 起加入、Image / Embeddings / Agents 暂不支持。三、快速上手三步开启自动追踪1. 安装依赖pip install mlflow mistralai2. 调用 autolog 并正常使用 SDK参考仓库示例 examples/mistral/tracing.py在创建 Mistral 客户端之前开启自动追踪import os from mistralai import Mistral import mlflow # 开启 Mistral AI 自动追踪需在调用前执行 mlflow.mistral.autolog() # 配置 tracking URI 与实验可选便于 UI 查看 mlflow.set_tracking_uri(http://localhost:5000) mlflow.set_experiment(Mistral) # 配置 API Key client Mistral(api_keyos.environ[MISTRAL_API_KEY]) # 正常调用 chat complete chat_response client.chat.complete( modelmistral-small-latest, messages[ { role: user, content: Who is the best French painter? Answer in one short sentence., }, ], ) print(chat_response.choices[0].message)3. 在 MLflow UI 中查看浏览器访问 MLflow UI如http://localhost:5000即可看到 Mistral API 调用自动生成的 Trace。四、自动捕获的内容开启 autolog 后MLflow 会自动记录每次 Mistral 调用的以下信息依据 mistral.mdx 官方集成文档与 autolog.py 实现提示词Prompts与补全响应Completion Responses延迟Latency模型名称Model NameToken 用量输入 Token、输出 Token、总 Tokeninput/output/total tokens附加元数据如用户指定的temperature、max_tokens等响应中返回的函数调用Function Calling调用抛出的任何异常这些信息被写入 Span 的结构化属性中。从源码实现看autolog.py 创建的 Span 具有以下特征Span 字段取值说明nameChat.complete/Chat.complete_async由实例类名.方法名拼成span_typeCHAT_MODEL对话模型类 SpanMESSAGE_FORMAT属性mistral标识消息格式来源CHAT_USAGE属性{input_tokens, output_tokens, total_tokens}从响应usage解析CHAT_TOOLS属性OpenAI 兼容的工具定义列表请求带tools时写入outputs原始ChatCompletionResponse保留原始对象以兼容旧接口Token 用量与成本MLflow 会自动跟踪 Mistral 调用的 Token 用量与成本每次 LLM 调用的 Token 用量记录在 Trace/Span 中聚合后的成本与耗时趋势显示在内置 Dashboard 中。测试用例 test_mistral_autolog.py 验证了 Token 用量被归一化为input_tokens/output_tokens/total_tokens三个字段并在非 tracing-SDK-only 环境下按模型单价计算出llm_cost如示例中 10 个输入 Token、18 个输出 Token 得到input_cost10.0、output_cost36.0、total_cost46.0。五、异步调用支持自 MLflow 3.5.0 起chat.complete_async同样会被自动追踪。底层由async_patched_class_call配合异步版本的TracingSession__aenter__/__aexit__实现见 autolog.py 与 autolog.py。import asyncio import os from mistralai import Mistral import mlflow mlflow.mistral.autolog() client Mistral(api_keyos.environ[MISTRAL_API_KEY]) async def main(): response await client.chat.complete_async( modelmistral-small-latest, messages[{role: user, content: Hello!}], ) return response asyncio.run(main())异步路径生成的 Span 名称为Chat.complete_async其余捕获字段与同步调用一致。六、函数调用Function Calling / 工具的支持请求中带有tools时Mistral 的工具定义会被转换为 MLflow 标准OpenAI 兼容格式写入 Span 属性供下游评估与调试使用。转换逻辑由 chat.py 中的convert_tool_to_mlflow_chat_tool完成def convert_tool_to_mlflow_chat_tool(tool: dict[str, Any]) - ChatTool: function tool[function] return ChatTool( typefunction, functionFunctionToolDefinition( namefunction[name], descriptionfunction.get(description), parametersfunction[parameters], ), )即读取 Mistral 工具定义中的function.name、function.description、function.parameters包装为mlflow.types.chat.ChatTool。转换发生在 autolog.py若转换失败仅记录 debug 日志而不影响主流程。测试用例 test_mistral_autolog.py 验证了带工具请求的 Span 中CHAT_TOOLS属性与输入工具定义一一对应。七、底层实现原理safe_patch 与 TracingSession1. 埋点方式autolog()内部通过safe_patch对Chat类进行无损补丁__init__.pymistralai 2.0时从mistralai.client.chat.Chat导入否则从mistralai.chat.Chat导入向后兼容同步complete被补丁为patched_class_call异步complete_async被补丁为async_patched_class_call。2. TracingSession 上下文管理器同步与异步补丁都依赖TracingSession这个统一的上下文管理器autolog.py其核心流程为入口用signature.bind_partial构造完整入参剔除self若config.log_traces为真则创建CHAT_MODEL类型 Span将消息格式标记为mistral并把 Span 挂载到当前上下文set_span_in_context使单次 SDK 调用内部可产生子 Span执行调用原始方法original(self, *args, **kwargs)同步await前为original(...)异步为await original(...)出口先detach_span_from_context避免上下文泄漏若发生异常则span.record_exception随后set_span_model_attribute写入模型相关属性解析响应中的usage写入CHAT_USAGE最后span.end(outputsself.output)结束 Span 并保留原始返回值对象。从_parse_usageautolog.py可以看到Token 用量只采集prompt_tokens、completion_tokens、total_tokens三个字段并映射为 MLflow 统一的input_tokens、output_tokens、total_tokens键名。八、关闭自动追踪自动追踪可全局关闭mlflow.mistral.autolog(disableTrue) # 或关闭所有 flavor 的 autolog mlflow.autolog(disableTrue)测试 test_mistral_autolog.py 验证了disableTrue后再次调用chat.complete不会产生新的 Trace。九、测试验证与进一步探索该集成的行为由 tests/mistral/test_mistral_autolog.py 覆盖共验证三类场景test_chat_complete_autolog同步调用生成单个名为Chat.complete的CHAT_MODELSpan状态为OK输入输出与真实请求响应一致Token 用量与成本计算正确test_chat_complete_autolog_tool_calling带工具请求的 Span 属性CHAT_TOOLS与输入工具定义一致test_chat_complete_async_autolog异步调用生成Chat.complete_asyncSpan捕获字段与同步路径对齐。如果你希望进一步了解 MLflow Tracing 的通用能力Token 用量与成本追踪的编程式访问、Span 属性规范等可继续阅读 Tracing Mistral 集成文档、docs/docs/genai 目录下的追踪相关文档以及本模块的源码 mlflow/mistral/autolog.py 与 mlflow/mistral/chat.py。【免费下载链接】mlflowThe open source AI engineering platform for agents, LLMs, and ML models. MLflow enables teams of all sizes to debug, evaluate, monitor, and optimize production-quality AI applications while controlling costs and managing access to models and data.项目地址: https://gitcode.com/GitHub_Trending/ml/mlflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SpringBoot+Vue教务系统源码解析:从数据库设计到选课部署实战 2026/9/12 1:07:36

SpringBoot+Vue教务系统源码解析:从数据库设计到选课部署实战

简介:基于SpringBoot与Vue构建的Java教务管理系统源码包,面向正在学习前后端分离开发、需要快速搭建教务管理原型的学生及初级开发者。压缩包共五百九十一个文件、约三十八兆,核心由一百三十九个Java源文件与一百三十五个编译后class文件构成…

阅读更多 →
OpenCV工业缺陷检测:0.3mm级划痕气孔的完整图像处理闭环 2026/9/12 1:07:36

OpenCV工业缺陷检测:0.3mm级划痕气孔的完整图像处理闭环

简介:本资源是一套基于Python与OpenCV实现的材料表面缺陷检测完整课程设计项目,面向计算机视觉初学者、自动化/材料类专业本科生及课程设计实践者,解决工业场景中常见划痕、裂纹、污渍等典型缺陷的图像识别与定位问题。压缩包共55个文件&…

阅读更多 →
C++考试报名系统:EasyX图形界面与业务逻辑实战 2026/9/12 1:07:36

C++考试报名系统:EasyX图形界面与业务逻辑实战

简介:本资源是一套基于EasyX图形库开发的C考试报名管理系统源码,专为计算机类专业本科生课程设计与期末大作业打造,面向需完成高分实践项目的初学者与进阶学习者,解决传统控制台项目交互性弱、界面简陋、功能展示不直观等痛点。压…

阅读更多 →
高斯正反算设计与实现:从经纬度到平面坐标的Python完整指南 2026/9/12 1:07:36

高斯正反算设计与实现:从经纬度到平面坐标的Python完整指南

简介:这份资源针对高斯投影正反算中常见公式混乱、精度不足问题,提供一套经作者查阅资料并反复实测校验的C实现,适用于从事坐标转换、遥感影像处理及GIS开发的初中级技术人员。代码采用QT框架封装可视化,覆盖北京54、西安80、WGS8…

阅读更多 →
Spark+Redis地铁客流分析实战:嵌套JSONS清洗与OD矩阵计算 2026/9/12 1:07:36

Spark+Redis地铁客流分析实战:嵌套JSONS清洗与OD矩阵计算

简介:本资源是一套面向计算机专业本科生的高分毕业设计项目——基于Spark的地铁大数据客流分析系统源码,聚焦城市轨道交通场景下的实时客流建模与分析,适用于课程设计、毕设开发及大数据工程实践。压缩包共202个文件,包含28个Java…

阅读更多 →
GrapesJS UndoManager 模块 API 完全指南:撤销/重做堆栈管理实战 2026/9/12 1:04:35

GrapesJS UndoManager 模块 API 完全指南:撤销/重做堆栈管理实战

GrapesJS UndoManager 模块 API 完全指南:撤销/重做堆栈管理实战 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Trending/gr/grape…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞