搜索
首页科技周边人工智能Markitdown MCP可以将任何文档转换为Markdowns!

处理文档不再只是在您的AI项目中打开文件,而是将混乱变成清晰度。诸如PDF,PowerPoints和Word之类的文档以各种形状和大小淹没了我们的工作流程。从这些文档中检索结构化的内容已成为当今一项艰巨的任务。 Microsoft的Markitdown MCP(Markdown转换协议)简化了这一点。它将各种文件转换为结构化的标记格式。这有助于开发人员和技术作家改善文档工作流程。本文解释了Markitdown MCP并显示了其用法。我们将介绍设置MarkitDown MCP服务器,还将在此协议的上下文中讨论MarkitDown。在下面还介绍了使用标记MCP服务器进行测试。

目录

  • 什么是Markitdown MCP?
    • Markitdown MCP的主要特征
  • 降级在工作流程中的作用
  • 设置Markitdown MCP服务器进行集成
    • 安装
    • 服务器配置
  • 用标记MCP转换的降价转换
    • 步骤1:首先导入必要的库。
    • 步骤2:初始化Groq LLM,这是免费的。您可以在这里找到API键
    • 步骤3:配置MCP服务器
    • 步骤4:现在,定义异步功能
    • 步骤5:此代码调用run_conversion函数
  • LLM管道中的实际用例
  • 结论
  • 常见问题

什么是Markitdown MCP?

Markitdown MCP提供了用于文档转换的标准方法。它充当服务器端协议。它在后端使用Microsoft的Markitdown库。服务器托管一个静止的API。用户将诸如PDF或Word文件之类的文档发送到此服务器。然后,服务器处理这些文件。它使用高级解析和特定格式规则。输出是保留原始文档结构的标记文本。

Markitdown MCP的主要特征

Markitdown MCP服务器包含几个有用的功能:

  • 宽格式支持:它将PDF,DOCX和PPTX(例如PPTX)等通用文件转换为Markdown。
  • 结构保存:它使用方法来理解和维护文档布局,例如标题和列表。
  • 可配置的输出:用户可以调整设置以控制最终的标记样式。
  • 服务器操作:它作为服务器过程运行。这允许集成到自动化系统和云设置中。

降级在工作流程中的作用

Markdown是文档的流行格式。它的简单语法使读写易于读写。像GitHub这样的许多平台都很好地支持了它。静态站点发生器经常使用它。将其他格式转换为手动花费时间。 Markitdown MCP自动进行此转换。这提供了明显的好处:

  • 有效的内容处理:将源文档转换为可用的降价。
  • 一致的协作:标准格式可帮助团队一起在文档上共同努力。
  • 流程自动化:在较大的自动化工作流程中包括文档转换。

设置Markitdown MCP服务器进行集成

我们可以使用GitHub Repo中提到的Docker Image(例如Claude,Windsurf,Cursor)等不同客户端设置Markitdown MCP服务器。但是在这里,我们将使用Langchain的MCP适配器创建本地MCP客户端。我们需要运行服务器将其与Langchain一起使用。服务器支持不同的运行模式。

安装

首先,安装所需的Python软件包。

 PIP安装MarkitDown-MCP langchain langchain_mcp_adapters langgraph langchain_groq

服务器配置

使用STDIO模式运行标记MCP服务器。此模式连接标准输入和输出流。它适用于基于脚本的集成。直接在终端运行以下内容。

 Markitdown-MCP

服务器将开始运行一些警告。

Markitdown MCP可以将任何文档转换为Markdowns!

我们还可以使用SSE(服务器范围事件)模式。此模式适合Web应用程序或长期运行的连接。设置标记MCP服务器以测试特定方案时也很有用。

 MarkitDown-MCP  -  -SSE--host 127.0.0.1-港口3001

选择适合您集成计划的模式。使用服务器通过STDIO本地测试通常是一个良好的开始。我们建议在本文中使用STDIO模式。

用标记MCP转换的降价转换

我们已经介绍了如何使用Langchain在我们以前的博客MCP客户端服务器中使用Langchain在本地建立MCP服务器和客户端设置的方法。

现在,本节显示了如何与Markitdown MCP服务器一起使用Langchain。它可以自动化PDF文件转换为Markdown。该示例通过Chatgroq采用了Groq的Llama模型。确保将GROQ API密钥设置为环境变量,或将其直接传递给Chatgroq。

步骤1:首先导入必要的库。

来自MCP Import客户端,StdioServerParameters
来自mcp.client.stdio import stdio_client
来自langchain_mcp_adapters.tools import load_mcp_tools
来自langgraph.prebuilt导入create_react_agent
导入异步
来自langchain_groq导入changroq

步骤2:初始化Groq LLM,这是免费的。您可以在这里找到API键

这是GROQ API密钥:GROQ API键

#初始化groq型号
model = chatgroq(model =“ meta-llama/llama-4-scout-17b-16e-Instruct”,api_key =“ your_api_key”)

步骤3:配置MCP服务器

我们正在使用stdioserverparameters,并在此处直接使用已安装的标记MCP软件包

server_params = stdioserverparameters(
命令=“ MarkitDown-MCP”,
args = []#STDIO模式不需要其他参数
)

步骤4:现在,定义异步功能

当输入时,这将采用PDF路径,客户端开始通信。 load_mcp_tools提供了与Markitdown MCP相互作用的功能。然后创建一个反应代理,使用模型和MCP工具。该代码为PDF创建File_uri,并发送提示,要求代理使用MCP转换文件。

异步def run_conversion(pdf_path:str):
与stdio_client(server_params)AS(读,写)的异步:
与客户端的异步(读,写)作为会话:

等待session.initialize()
打印(“初始化MCP会话。”)

#加载可用工具
工具=等待LOAD_MCP_TOOLS(会话)
打印(f“已加载工具:{[工具中的工具名称]工具中的工具]}”)

#创建反应代理
agent = create_reaeact_agent(型号,工具)
打印(“创建的反应代理。”)

#准备文件URI(将本地路径转换为file:// uri)
file_uri = f“ file:// {pdf_path}”
#通过转换请求调用代理
响应=等待代理。AINVOKE({{

“消息”:[(“用户”,f“使用MarkitDown MCP将{file_uri}转换为标记,只需返回MCP服务器的输出)]

}))

#返回最后一条消息内容
返回响应[“消息”] [ -  1] .content

步骤5:此代码调用run_conversion函数

我们正在呼吁和提取响应中的降价。它将内容保存到pdf.md,最后将输出打印在终端中。

如果__name__ ==“ __ -main __”:

pdf_path =“/home/home/harsh/downloads/llm评估.pptx.pdf”#使用绝对路径
结果= asyncio.run(run_conversion(pdf_path))

以F:f的开放(“ pdf.md”,'w')
F.Write(结果)

打印(“ \ nmarkDown转换结果:”)
打印(结果)

输出

Markitdown MCP可以将任何文档转换为Markdowns!

完整代码

来自MCP Import客户端,StdioServerParameters
来自mcp.client.stdio import stdio_client

来自langchain_mcp_adapters.tools import load_mcp_tools
来自langgraph.prebuilt导入create_react_agent

导入异步
来自langchain_groq导入changroq
#初始化groq型号
model = changroq(model =“ meta-llama/llama-4-scout-17b-16e-Instruct”,api_key =“”)
#配置MCP服务器
server_params = stdioserverparameters(

命令=“ MarkitDown-MCP”,
args = []#STDIO模式不需要其他参数

)

异步def run_conversion(pdf_path:str):
与stdio_client(server_params)AS(读,写)的异步:

与客户端的异步(读,写)作为会话:
等待session.initialize()

打印(“初始化MCP会话。”)
#加载可用工具
工具=等待LOAD_MCP_TOOLS(会话)

打印(f“已加载工具:{[工具中的工具名称]工具中的工具]}”)
#创建反应代理

agent = create_reaeact_agent(型号,工具)
打印(“创建的反应代理。”)

#准备文件URI(将本地路径转换为file:// uri)

file_uri = f“ file:// {pdf_path}”
#通过转换请求调用代理
响应=等待代理。AINVOKE({{

“消息”:[(“用户”,f“使用MarkitDown MCP将{file_uri}转换为标记,只是从MCP服务器中撤回输出”)]

}))

#返回最后一条消息内容
返回响应[“消息”] [ -  1] .content

如果__name__ ==“ __ -main __”:
pdf_path =“/home/harsh/harsh/downloads/llm评估.pdf”#使用绝对路径

结果= asyncio.run(run_conversion(pdf_path))
以F:f的开放(“ pdf.md”,'w')

F.Write(结果)
打印(“ \ nmarkDown转换结果:”)
打印(结果)

检查输出

脚本生成一个pdf.md文件。该文件包含输入PDF的降价版本。转换质量取决于原始文档的结构。 Markitdown MCP通常保留元素,例如:

  • 标题(不同级别)
  • 段落文字
  • 列表(子弹和编号)
  • 表(转换为Markdown语法)
  • 代码块

输出

Markitdown MCP可以将任何文档转换为Markdowns!

在输出中,我们可以看到它成功地检索了标题,内容以及降价格式的普通文本。

因此,运行本地服务器进行测试有助于评估不同的文档类型。

也观看:

LLM管道中的实际用例

集成标记MCP可以改善几个AI工作流程:

  • 知识基础建设:将文档转换为降价。将此内容摄入知识库或抹布系统。
  • LLM内容准备:将源文件转换为Markdown。为LLM摘要或分析任务准备一致的输入。
  • 文档数据提取:将带有表的文档转换为Markdown。这简化了解析结构化数据。
  • 文档自动化:生成技术手册。将源文件(例如Word文档)转换为静态站点生成器的Markdown。

结论

Markitdown MCP提供了一种基于服务器的功能,用于文档转换的方法。它处理多种格式。它产生结构化的降价输出。将其与LLMS集成可以使文档处理任务的自动化。这种方法支持可扩展的文档实践。使用服务器进行测试使评估直接。通过其在这些工作流程中的实际应用,最好理解MAKITDOWN的MCP。

探索Markitdown MCP GitHub存储库以获取更多信息。

常见问题

Q1。 Markitdown MCP的主要功能是什么?

Ans。 Markitdown MCP将PDF和Word文件等文档转换为结构化标记。它为此任务使用基于服务器的协议。

Q2。标记MCP服务器可以处理哪些文件格式?

Ans。服务器处理PDF,DOCX,PPTX和HTML文件。其他格式可以根据核心库支持。

Q3。 Langchain如何使用Markitdown MCP?

Ans。 Langchain使用特殊工具与服务器进行通信。然后,代理可以通过此服务器请求文档转换。

Q4。 Markitdown MCP开源吗?

Ans。是的,它是Microsoft的开源软件。用户负责任何服务器托管成本。

Q5。我可以运行标记MCP服务器以进行测试吗?

Ans。是的,用于测试的服务器可以在本地运行。使用STDIO或SSE模式进行开发和评估。

以上是Markitdown MCP可以将任何文档转换为Markdowns!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
让我们跳舞:结构化运动以微调我们的人类神经网让我们跳舞:结构化运动以微调我们的人类神经网Apr 27, 2025 am 11:09 AM

科学家已经广泛研究了人类和更简单的神经网络(如秀丽隐杆线虫中的神经网络),以了解其功能。 但是,出现了一个关键问题:我们如何使自己的神经网络与新颖的AI一起有效地工作

新的Google泄漏揭示了双子AI的订阅更改新的Google泄漏揭示了双子AI的订阅更改Apr 27, 2025 am 11:08 AM

Google的双子座高级:新的订阅层即将到来 目前,访问Gemini Advanced需要$ 19.99/月Google One AI高级计划。 但是,Android Authority报告暗示了即将发生的变化。 最新的Google P中的代码

数据分析加速度如何求解AI的隐藏瓶颈数据分析加速度如何求解AI的隐藏瓶颈Apr 27, 2025 am 11:07 AM

尽管围绕高级AI功能炒作,但企业AI部署中潜伏的巨大挑战:数据处理瓶颈。首席执行官庆祝AI的进步时,工程师努力应对缓慢的查询时间,管道超载,一个

Markitdown MCP可以将任何文档转换为Markdowns!Markitdown MCP可以将任何文档转换为Markdowns!Apr 27, 2025 am 09:47 AM

处理文档不再只是在您的AI项目中打开文件,而是将混乱变成清晰度。诸如PDF,PowerPoints和Word之类的文档以各种形状和大小淹没了我们的工作流程。检索结构化

如何使用Google ADK进行建筑代理? - 分析Vidhya如何使用Google ADK进行建筑代理? - 分析VidhyaApr 27, 2025 am 09:42 AM

利用Google的代理开发套件(ADK)的力量创建具有现实世界功能的智能代理!该教程通过使用ADK来构建对话代理,并支持Gemini和GPT等各种语言模型。 w

在LLM上使用SLM进行有效解决问题-Analytics Vidhya在LLM上使用SLM进行有效解决问题-Analytics VidhyaApr 27, 2025 am 09:27 AM

摘要: 小型语言模型 (SLM) 专为效率而设计。在资源匮乏、实时性和隐私敏感的环境中,它们比大型语言模型 (LLM) 更胜一筹。 最适合专注型任务,尤其是在领域特异性、控制性和可解释性比通用知识或创造力更重要的情况下。 SLM 并非 LLMs 的替代品,但在精度、速度和成本效益至关重要时,它们是理想之选。 技术帮助我们用更少的资源取得更多成就。它一直是推动者,而非驱动者。从蒸汽机时代到互联网泡沫时期,技术的威力在于它帮助我们解决问题的程度。人工智能 (AI) 以及最近的生成式 AI 也不例

如何将Google Gemini模型用于计算机视觉任务? - 分析Vidhya如何将Google Gemini模型用于计算机视觉任务? - 分析VidhyaApr 27, 2025 am 09:26 AM

利用Google双子座的力量用于计算机视觉:综合指南 领先的AI聊天机器人Google Gemini扩展了其功能,超越了对话,以涵盖强大的计算机视觉功能。 本指南详细说明了如何利用

Gemini 2.0 Flash vs O4-Mini:Google可以比OpenAI更好吗?Gemini 2.0 Flash vs O4-Mini:Google可以比OpenAI更好吗?Apr 27, 2025 am 09:20 AM

2025年的AI景观正在充满活力,而Google的Gemini 2.0 Flash和Openai的O4-Mini的到来。 这些尖端的车型分开了几周,具有可比的高级功能和令人印象深刻的基准分数。这个深入的比较

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器