sammcj/ingest
Parse files (e.g. code repos) and websites to clipboard or a file for ingestions by AI / LLMs
它解决了什么问题
Ingest 简化了向大型语言模型(LLM)提供大量上下文(如整个代码库或网页)的过程。它通过将多个文件或 URL 聚合为一个结构清晰的、AI 友好的 Markdown 文件,解决了手动复制粘贴多个文件或 URL 的问题。
它如何工作
该工具解析纯文本文件、源代码目录或网页 URL,并将其转换为格式化的 Markdown 文档。它包含多个功能,以优化上下文窗口:
- 聚合:将多个文件和目录合并为一个输出。
- 代码压缩:使用 Tree-sitter 仅提取代码的结构化元素(如函数签名、导入语句、声明),移除实现细节以节省 token 数量。
- 网页爬取:将网页和 PDF 转换为 Markdown 以供摄入。
- token 计数:提供离线 token 估算(包含不同模型的校正因子)或通过 Anthropic API 获取精确计数。
- LLM 集成:可将最终提示直接发送到任何 OpenAI 兼容 API。
适用于谁
需要将整个项目、文档站点或复杂文件结构输入 LLM 进行分析、重构或解释的开发者和 AI 高级用户。
特色亮点
- Tree-sitter 压缩:通过移除代码体而保留架构,显著减少 token 使用量。
- 灵活过滤:使用 glob 模式选择性包含或排除特定文件。
- 内置分词器:集成离线分词器(o200k_base, cl100k_base),实现快速本地 token 计数。
- 网页转 Markdown:内置爬取和 PDF 转换功能,用于外部文档处理。
- Git 集成:可在提示中包含 git diff 和日志信息。
相关
- 项目
- 项目
- 项目
- 项目
- 项目