管道是一个以多模态为首的工具,用于将文件和网页输入到如 GPT-4V 等视觉-语言模型中。它最适合需要深入理解复杂数据源的 LLM 和 RAG 应用。管道可作为托管 API 在 thepi.pe 上使用,或者可以在本地设置。
首先,安装管道。
pip install thepipe_api
确保设置了 THEPIPE_API_KEY
环境变量。还没有 API 密钥?在这里获取。想要在本地自行操作?请参阅本地安装部分。
现在您可以从任何文件中提取全面的文本和视觉内容:
from thepipe_api import thepipe
chunks = thepipe.extract("example.pdf")
或任何网站:
chunks = thepipe.extract("https://example.com")
然后将其输入到 GPT-4-Vision:
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages = chunks,
)
管道的输出是一系列合理的“块”,因此可以用于向量数据库的存储或直接用作提示。在 API 文档 中提供了数据表提取、条形图提取、自定义网页认证等额外功能。LiteLLM 可用于轻松将管道与任何 LLM 提供商集成。
- 从任何文件或网页提取文本和视觉内容 📚
- 输出为 RAG 准备的块,优化了多模态 LLMs 🖼️ + 💬
- 能解读复杂的 PDF、网页应用、markdown 等 🧠
- 自动压缩超出您选择的令牌限制的提示 📦
- 支持缺失文件扩展名、内存数据流 💾
- 支持代码库、URL、git 仓库等 🌐
- 多线程 ⚡️
管道可以通过命令行或 Python 访问。输入源可以是文件路径、URL 或目录(或 zip 文件)路径。管道将从源中提取信息,并为与 语言模型、视觉变换器 或 视觉-语言模型 的下游使用处理信息。管道的输出是提取信息的合理文本(或多模态)表示,精心制作以适应从 gemma-7b 到 GPT-4 的任何模型的上下文窗口。它使用各种启发式方法以最佳性能与视觉-语言模型配合使用,包括 AI 文件类型检测、AI PDF 提取、高效 令牌压缩、自动 图像编码、重排 以解决 中间丢失 效应等,所有这些都预先构建好,开箱即用。
源类型 | 输入类型 | 令牌压缩 🗜️ | 图像提取 👁️ | 备注 📌 |
---|---|---|---|---|
目录 | 任何 /path/to/directory |
✔️ | ✔️ | 从目录中的所有文件提取,支持匹配和忽略模式 |
代码 | .py , .tsx , .js , .html , .css , .cpp 等 |
✔️ (变化) | ❌ | 合并所有代码文件。.c , .cpp , .py 可以使用 ctags 压缩,其他则不行 |
纯文本 | .txt , .md , .rtf 等 |
✔️ | ❌ | 普通文本文件 |
.pdf |
✔️ | ✔️ | 提取每页的文本和图像;可以使用 AI 提取表格数据和页面内图像 | |
图像 | .jpg , .jpeg , .png , .gif , .bmp , .tiff , .webp , .svg |
❌ | ✔️ | 提取图像,如果仅文本则使用 OCR |
数据表 | .csv , .xls , .xlsx |
✔️ | ❌ | 从电子表格中提取数据;转换为文本表示。对于非常大的数据集,将仅提取列名和类型 |
Jupyter 笔记本 | .ipynb |
❌ | ✔️ | 从 Jupyter 笔记本提取代码、markdown 和图像 |
Microsoft Word 文档 | .docx |
✔️ | ✔️ | 从 Word 文档提取文本和图像 |
Microsoft PowerPoint 演示文稿 | .pptx |
✔️ | ✔️ | 从 PowerPoint 演示文稿提取文本和图像 |
网站 | URLs (包含 http , https , www , ftp ) |
✔️ | ✔️ | 从网页提取文本及图像(如果可滚动则为多图像);可提供仅文本提取 |
GitHub 仓库 | GitHub 仓库 URLs | ✔️ | ✔️ | 从 GitHub 仓库提取;支持分支指定 |
ZIP 文件 | .zip |
✔️ | ✔️ | 提取 ZIP 文件内容;支持嵌套目录提取 |
要在本地使用管道,您需要 playwright、ctags、pytesseract 以及与更轻量级 API 要求不同的本地 python 要求。您还需要使用本地版本的要求文件:
git clone https://github.com/emcf/thepipe
pip install -r requirements_local.txt
Windows 用户提示:您可能需要使用 pip install python-magic-bin
安装 python-libmagic 二进制文件。
现在您可以使用管道了:
from thepipe_api import thepipe
chunks = thepipe.extract("example.pdf", local=True)
参数有:
source
(必需):可以是文件路径、URL 或目录路径。local
(可选):使用管道的本地版本而不是托管 API。match
(可选):正则表达式模式,用于匹配目录中的文件。ignore
(可选):正则表达式模式,用于忽略目录中的文件。limit
(可选):输出提示的令牌限制,默认为 100K。超出限制的提示将被压缩。ai_extraction
(可选):使用我们的提取器从 PDF 中提取表格、图形和数学内容。会产生额外成本。text_only
(可选):不从文档或网站中提取图像。此外,图像文件将以 OCR 而非图像形式表示。