AI个人学习
和实操指南
豆包Marscode1

Morphik Core:处理多模态数据的开源 RAG 平台

综合介绍

Morphik Core 是一个开源项目,由 morphik-org 团队开发,托管在 GitHub 上。它以前叫 DataBridge Core,现在更名为 Morphik Core。这个工具是为 AI 应用设计的数据库,能处理文本、图片、PDF、视频等各种数据。它提供强大的 RAG(检索增强生成)功能,帮助用户快速检索和生成信息。Morphik Core 支持大规模数据处理,能管理上百万份文档,同时保持检索速度快。无论你是想试用新想法,还是搭建生产环境,它都能提供支持。目前,它还在开发中,计划推出托管服务,用户可以加入等待名单。

Morphik Core:处理多模态数据的开源 RAG 平台-1


 

功能列表

  • 支持多模态数据:能处理文本、PDF、图片、视频等多种格式。
  • 智能解析文件:自动把文件分成小块并生成嵌入。
  • ColPali 多模态嵌入:结合文本和图像内容进行高效检索。
  • 知识图谱支持:自动提取实体和关系,提升检索结果。
  • 自然语言规则:为杂乱数据设置规则,提取结构化信息。
  • 高效缓存:预处理数据,降低计算成本,加快响应。
  • 可扩展架构:支持自定义解析器和多种存储方式。
  • MCP 协议:方便与 AI 系统共享知识。

 

使用帮助

Morphik Core 是一个面向开发者的工具,主要通过 GitHub 获取代码并使用。以下是详细的安装和操作指南,帮助你快速上手。

安装流程

要开始使用 Morphik Core,需要从 GitHub 下载代码并配置环境。步骤如下:

  1. 克隆仓库
    在终端输入命令,下载项目:
git clone https://github.com/morphik-org/morphik-core.git

然后进入项目目录:

cd morphik-core
  1. 创建虚拟环境
    用 Python 3.12 创建独立环境,避免依赖冲突:
python3.12 -m venv .venv

激活环境:

  • Linux/macOS:
    source .venv/bin/activate
    
  • Windows:
    .venv\Scripts\activate
    
  1. 安装依赖
    项目有 requirements.txt 文件,安装所需软件包:
pip install -r requirements.txt

如果缺少文件,查看 GitHub 的 README 获取最新依赖。

  1. 启动服务
    配置并运行服务器:
python quick_setup.py
python start_server.py

完成后,服务会在 localhost:8000 运行。

主要功能操作

Morphik Core 的核心是处理多模态数据和提供 RAG 功能。以下是具体操作方法:

1. 导入数据

可以用 Python SDK 导入文本或文件。例如,导入一段文本:

from databridge import DataBridge
db = DataBridge("databridge://localhost:8000")
doc = db.ingest_text("这是关于AI技术的示例文档。", metadata={"category": "tech"})
  • 操作说明:连接服务器后,导入文本并添加元数据。
  • 结果:文本被处理并存储,可供检索。

导入 PDF 文件:

doc = db.ingest_file("path/to/document.pdf", metadata={"category": "research"})
  • 功能:支持 PDF、视频等格式,自动解析内容。

2. 多模态检索(ColPali)

Morphik Core 用 ColPali 处理含图片的文档。例如:

doc = db.ingest_file("report_with_charts.pdf", use_colpali=True)
chunks = db.retrieve_chunks("显示第二季度收入图表", use_colpali=True, k=3)
  • 步骤:导入文件时启用 ColPali,检索时返回文本和图像。
  • 效果:能直接找到图表或图片内容。

3. 设置规则

可以用自然语言定义规则,提取信息:

rules = [
{"type": "metadata_extraction", "schema": {"title": "string", "author": "string"}},
{"type": "natural_language", "prompt": "删除所有个人信息"}
]
doc = db.ingest_file("document.pdf", rules=rules)
  • 作用:从文件中提取标题、作者,或按需清理数据。
  • 建议:规则要根据文件内容调整。

4. 知识图谱

创建并使用知识图谱,提升检索效果:

db.create_graph("tech_graph", filters={"category": "tech"})
response = db.query("AI如何与云计算相关?", graph_name="tech_graph", hop_depth=2)
  • 操作:生成图谱后,查询时返回相关联的信息。
  • 优势:结果更精准,适合复杂问题。

5. 批量处理

支持批量导入文件夹中的文件:

docs = db.ingest_directory("data/documents", recursive=True, pattern="*.pdf")
  • 功能:递归扫描目录,导入所有 PDF。
  • 场景:适合处理大量数据。

特色功能操作

Morphik Core 的亮点在于多模态支持和高效性。以下是详细说明:

ColPali 多模态嵌入

ColPali 让文本和图像一起工作。例如:

db.ingest_file("report.pdf", use_colpali=True)
chunks = db.retrieve_chunks("查找2024年的销售数据图", use_colpali=True)
  • 效果:不仅返回文字,还能找到图表。
  • 用途:分析含视觉内容的文档。

高效缓存

预处理数据,加快检索:

db.cache_documents(filters={"category": "research"})
chunks = db.retrieve_chunks("AI最新进展", k=5)
  • 好处:响应时间缩短,计算成本降低 80%。
  • 注意:缓存占用空间,定期清理。

可扩展性

连接数据库,处理大规模数据:

db.connect_storage("postgresql://user:password@localhost:5432/dbname")
docs = db.ingest_directory("large_data")
  • 支持:可用 PostgreSQL 或 MongoDB,管理百万文档。
  • 速度:检索时间仍保持在秒级。

注意事项

  • 初次使用前,阅读 GitHub 的 README.md 和官方文档。
  • 确保 Python 版本为 3.12,依赖安装无误。
  • 有问题可在 Discord(https://discord.gg/BwMtv3Zaju)或 GitHub 提交 issue。

通过这些步骤,你可以轻松安装并使用 Morphik Core,处理各种数据需求。

 

应用场景

  1. 科研论文管理
    研究人员导入论文 PDF,用规则提取标题和摘要,生成知识图谱,快速查找相关研究。
  2. 企业数据分析
    公司处理报告和合同,用 ColPali 检索图表和文字,缓存数据以提高效率。
  3. 教育资源整理
    老师导入教材和视频,设置规则提取关键点,学生可查询课程内容。

 

QA

  1. Morphik Core 收费吗?
    不收费,它是 MIT 许可的开源项目,免费使用。
  2. 需要服务器吗?
    是的,自托管需要本地运行服务器,未来会有云托管选项。
  3. 支持视频吗?
    支持,能解析视频并提取文字和内容。
未经允许不得转载:首席AI分享圈 » Morphik Core:处理多模态数据的开源 RAG 平台
zh_CN简体中文