概述

PageIndex是无向量模型依赖的RAG解决方案,通过推理模型将PDF或者markdown文档转换为JSON文件来实现检索

基本信息

  1. 官网地址:https://pageindex.ai
  2. GitHub地址:https://github.com/VectifyAI

适用场景

  1. 基于特定资料库的问答

注意事项

1. 部分开源

PDF/markdown转换为JSON有做开源(https://github.com/VectifyAI/PageIndex),但核心服务是闭源的,只能通过服务调用(sdk/http rest api/mcp http/mcp stdio)完成。
如果需要私有化部署需要单独联系采购

MCP没有支持文档转换

基于http的mcp不支持PDF/markdown转换为JSON。需要自己在后台页面中上传,操作较为繁琐

PDF/markdown转换为JSON效果不稳定

我上传了一份20+页的PDF,在后台看到的结果中只有2页。
因为无法直接上传我通过PageIndex生成好的json文件,只能使用云端默认的模型

评价

就我自己本身的应用场景来看,目前基于向量模型的方案没有遇到瓶颈,暂不考虑PageIndex

另外PageIndex这个服务只是作者引流的一个开源仓库,实际服务与这个开源仓库关系不大

本地依赖

python + uv

安装步骤

  1. 从GitHub仓库中clone源码到本地
1
git clone https://github.com/oceanbase/awesome-oceanbase-mcp.git
  1. 使用uv安装python依赖
1
2
3
4
cd awesome-oceanbase-mcp && \
uv venv && \
source .venv/bin/activate && \
uv pip install .
  1. 使用claude命令添加MCP Server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
claude mcp add-json oceanbase '{
"type":"stdio",
"command": "uv",
"args": [
"--directory",
"你的本地路径/awesome-oceanbase-mcp/src/oceanbase_mcp_server",
"run",
"oceanbase_mcp_server"
],
"env": {
"OB_HOST": "***",
"OB_PORT": "***",
"OB_USER": "***",
"OB_PASSWORD": "***",
"OB_DATABASE": "***"
}
}'

验证方法

1
claude mcp list

没有报错信息或者提示Connected即为成功

注意事项

  1. 整个仓库中不止有oceanbase数据库的mcp server,所以你在写本地路径时一定要仔细看。
  2. 如果claude报错了,你可以选择让claude自己修复
  3. 一定要有"type":"stdio"的声明

FAQ

暂无

参考资料

原因

根本原因是大模型没有正确识别“输入”和“示例”的区别,ta会把你给出的“示例”当成了”输入“从而导致生成的结果和输入不符合出现幻觉

解决思路

需要加强模型对于”输入“和”示例“的理解,可以设定一个逻辑步骤,要求ta按照第一步、第二步…这样去生成

然后针对GPT模型可以考虑使用xml标签来隔离“输入”和“示例”

比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
你是xxx,你的任务是xxx

**处理逻辑**
请严格遵守以下信息处理逻辑:
1. 浏览 <reference_cases> 中的内容,仅用于xxx。
2. 绝对禁止提取 <reference_cases> 中的任何xxx。
3. 仅针对 <current_session> 标签中的xxx进行xxx。

...

<reference_cases>
...
</reference_cases>

<current_session>
...
</current_session>

前提

需要安装好OpenClaw和Claude,并且配置相应的模型或者账号权限

问题集锦

1. OpenClaw一直提示需要/login

原因

我本地使用的Claude是使用litellm本地服务启动的,我有设置环境变量,是通过~/.zshrc文件维护。
OpenClaw一直报这个错,就是因为ta没有使用我的~/.zshrc文件

解决方案

告诉OpenClaw尝试先执行source ~/.zshrc再调用Claude

2. OpenClaw会因为Claude超时而失败

原因

OpenClaw在调用Claude时,不会使用Claude的交互模式,一般都是直接运行Claude -p "具体任务",而OpenClaw默认等待时间是60s左右,当你Claude超过这个时间响应时,就会导致OpenClaw因Claude超时失败

解决方案

让OpenClaw异步调用Claude,把Claude输出的日志放到一个临时文件中,然后定时轮询这个临时文件查看日志即可

感觉3月没有听到啥好听的新歌,选来选去还是把封面给王力宏的《在梅边》,后面的rap很不错。
今天才听到路虎3月发的新歌《流行歌手》,好听!

阅读全文 »

最近做了一个小需求,需要解析js文件,获取一些配置项信息,并转存为properteis的格式。
目前技术栈是JDK15,并且因为这个版本踩了不少坑,记录一下。

阅读全文 »

Community Applications

简称CA,属于是Unraid OS必装应用,推荐指数爆表。其功能就是提供了应用安装方式。

Tailscale (Plugin)

  • 推荐指数:🌟🌟🌟🌟🌟
  • 功能介绍:tailscale是一款非常出色且免费的网络软件,多个设备登录并使用tailscale后,可以在多个设备之间建立内网连接。
阅读全文 »

PDF主要由Objects、File structure、Document structure、Content streams组成。其中Objects又细分为:

  • Boolean objects
  • Numeric objects
  • String objects
  • Name objects
  • Array objects
  • Dictionary objects
  • Stream objects
  • Null object
  • Indirect objects
    这篇博客主要是介绍一下Stream objects在PDF ISO标准文件中的信息以及itext core代码实现。
阅读全文 »
0%