综合介绍
Morphik Core 是一个开源项目,由 morphik-org 团队开发,托管在 GitHub 上。它以前叫 DataBridge Core,现在更名为 Morphik Core。这个工具是为 AI 应用设计的数据库,能处理文本、图片、PDF、视频等各种数据。它提供强大的 RAG(检索增强生成)功能,帮助用户快速检索和生成信息。Morphik Core 支持大规模数据处理,能管理上百万份文档,同时保持检索速度快。无论你是想试用新想法,还是搭建生产环境,它都能提供支持。目前,它还在开发中,计划推出托管服务,用户可以加入等待名单。
功能列表
- 支持多模态数据:能处理文本、PDF、图片、视频等多种格式。
- 智能解析文件:自动把文件分成小块并生成嵌入。
- ColPali 多模态嵌入:结合文本和图像内容进行高效检索。
- 知识图谱支持:自动提取实体和关系,提升检索结果。
- 自然语言规则:为杂乱数据设置规则,提取结构化信息。
- 高效缓存:预处理数据,降低计算成本,加快响应。
- 可扩展架构:支持自定义解析器和多种存储方式。
- MCP 协议:方便与 AI 系统共享知识。
使用帮助
Morphik Core 是一个面向开发者的工具,主要通过 GitHub 获取代码并使用。以下是详细的安装和操作指南,帮助你快速上手。
安装流程
要开始使用 Morphik Core,需要从 GitHub 下载代码并配置环境。步骤如下:
- 克隆仓库
在终端输入命令,下载项目:
git clone https://github.com/morphik-org/morphik-core.git
然后进入项目目录:
cd morphik-core
- 创建虚拟环境
用 Python 3.12 创建独立环境,避免依赖冲突:
python3.12 -m venv .venv
激活环境:
- Linux/macOS:
source .venv/bin/activate
- Windows:
.venv\Scripts\activate
- 安装依赖
项目有requirements.txt
文件,安装所需软件包:
pip install -r requirements.txt
如果缺少文件,查看 GitHub 的 README 获取最新依赖。
- 启动服务
配置并运行服务器:
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,处理各种数据需求。
应用场景
- 科研论文管理
研究人员导入论文 PDF,用规则提取标题和摘要,生成知识图谱,快速查找相关研究。 - 企业数据分析
公司处理报告和合同,用 ColPali 检索图表和文字,缓存数据以提高效率。 - 教育资源整理
老师导入教材和视频,设置规则提取关键点,学生可查询课程内容。
QA
- Morphik Core 收费吗?
不收费,它是 MIT 许可的开源项目,免费使用。 - 需要服务器吗?
是的,自托管需要本地运行服务器,未来会有云托管选项。 - 支持视频吗?
支持,能解析视频并提取文字和内容。