MarkItDown——微软开源文档转换神器:让 LLM 轻松读懂 PDF/Word/PPT
AI 项目推荐 · 2026-04-14
精选 3 个有启发价值的开源 AI 项目,重点关注技术创新和新鲜度,不追热门。
1. MarkItDown
微软开源文档转换神器:让 LLM 轻松读懂 PDF/Word/PPT
⭐ 107k · 📝 Python · 📄 MIT
Tags: 文档处理RAGLLM格式转换多格式支持
背景
大语言模型(LLM)正成为信息处理的核心工具,但它们的输入能力受限于纯文本。大量有价值的知识以 PDF、Word、PowerPoint 等格式存在,RAG 系统往往难以直接处理这些复杂文档。
MarkItDown 是微软开源的文档转换工具,专注于将 15+ 种文件格式统一转换为 Markdown,让任何 LLM 都能轻松理解文档的结构和内容。
核心功能
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
技术亮点
-
结构保留:完整保留 Markdown 格式(标题层级、列表、表格、链接、图片) -
插件系统:支持第三方扩展,如 markitdown-ocr使用 LLM Vision 进行 OCR -
Azure 集成:可选 Azure Document Intelligence 进行高质量文档解析 -
LLM 集成:内置 OpenAI GPT-4o 支持,可对图片进行描述、对音频进行转录 -
按需安装:使用 [all]安装全部依赖,也可选择性安装[pdf]、[docx]、[pptx]
使用场景
# 安装pip install markitdown[all]# 命令行使用markitdown document.pdf > output.mdmarkitdown presentation.pptx > slides.md# Python APIfrom markitdown import MarkItDownmd = MarkItDown()result = md.convert("document.docx")print(result.text_content)
对比同类工具
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. llama-stack
Meta 官方 AI 应用部署栈:一行代码切换任意 LLM
⭐ 8.3k · 📝 Python · 📄 MIT
Tags: LlamaAPI服务器多模型OpenAI兼容RAGMCP
背景
2026 年是 LLM 应用爆发年,但开发者面临一个核心痛点:如何在不同模型之间无缝切换?
每个模型提供商的 API 格式不同,切换成本高。OpenAI 的生态最成熟,但闭源;开源模型五花八门,部署方式各异。
llama-stack 是 Meta 官方推出的开源智能体 API 服务器,提供统一的接口层,让你的应用可以在 Llama、GPT、Gemini、Mistral 等任意模型之间切换,无需修改一行代码。
核心能力
1. OpenAI API 兼容
/v1/chat/completions - 聊天补全/v1/completions - 文本补全/v1/embeddings - 向量嵌入
2. Responses API(服务端 Agent 编排)
-
内置工具调用(Tool Calling) -
MCP 服务器集成 -
内置 RAG 文件搜索
3. 向量存储与批处理
-
/v1/vector_stores– 向量数据库 -
/v1/files– 文件管理 -
/v1/batches– 离线批处理
技术架构
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
快速开始
# 安装pip install llama-stack# 一键启动本地服务llama-stack run local# 或使用 Ollama 后端llama-stack run --provider-config.yaml ollama# OpenAI 兼容方式调用curl https://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model": "llama-4-scout", "messages": [{"role": "user", "content": "Hello"}]}'
创新点
统一抽象层:llama-stack 的核心创新是”Provider”抽象——每个模型厂商只需实现一次接口,应用代码天然支持所有 Provider。这比 LangChain 的适配器模式更彻底。
3. Microsoft Agent Framework
微软官方多语言 Agent 框架:Python 和 .NET 都能用
⭐ 新兴 · 📝 Python/C# · 📄 MIT
Tags: Agent多语言微软图形化编排生产级
背景
企业级 AI Agent 的开发需要考虑:生产稳定性、多语言支持、可视化调试、团队协作。现有框架要么只支持 Python,要么偏向研究而非生产。
Microsoft Agent Framework 是微软官方推出的企业级 AI Agent 开发框架,同时支持 Python 和 .NET,配备图形化编排界面,让企业团队能够协作开发、部署和监控 Agent 应用。
核心功能
|
|
|
|---|---|
| 多语言 SDK |
|
| 图形化编排 |
|
| 工具集成 |
|
| 记忆管理 |
|
| 监控运维 |
|
| 安全控制 |
|
架构设计
┌─────────────────────────────────────────────┐│ Microsoft Agent Framework │├─────────────────────────────────────────────┤│ Orchestrator (图形化编排层) │├─────────────────────────────────────────────┤│ Agent Runtime (Python / .NET) │├─────────────────────────────────────────────┤│ Tools │ Memory │ Planner │ Observability │└─────────────────────────────────────────────┘
使用示例
# Python SDKfrom agent_framework import Agent, Tool@Tooldefget_weather(city: str) -> str:"""获取城市天气"""returnf"{city} 今天晴朗,25°C"agent = Agent( name="助手", instructions="你是一个有用的助手", tools=[get_weather])result = await agent.run("北京今天天气怎么样?")print(result)
// C# SDK (同样的逻辑)var agent = new AgentBuilder() .WithName("助手") .WithInstructions("你是一个有用的助手") .WithTools(GetWeatherTool) .Build();var result = await agent.RunAsync("北京今天天气怎么样?");
对比微软其他 Agent 产品
|
|
|
|
|---|---|---|
| Agent Framework |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
适用人群
-
企业开发团队:需要 Python/.NET 混合开发 -
传统软件团队:有 .NET 技术栈,想要接入 AI -
DevOps 团队:需要生产级监控和治理能力
📊 技术对比总结
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
夜雨聆风