typedef-ai/fenic
Semantic DataFrames for humans and agents
解决的问题
fenic 旨在解决处理非结构化数据时的脆弱性问题。传统上,从日志、转录文本和文档中提取含义需要结合脆弱的 regex 脚本、一次性提示词以及手动笔记本探索。fenic 将这些转瞬即逝的发现转化为持久、类型化且可重用的 DataFrame 流水线,可以在人类和 AI 智能体之间共享。
工作原理
它作为一个语义 DataFrame 引擎运行,直接将 LLM 操作集成到查询模型中。用户无需手动编排 API 调用,而是编写 PySpark/SQL 风格的操作(select、filter、join)以及语义算子,如 extract、classify 和 summarize。
关键技术机制包括:
- Lazy Execution(延迟执行): 流水线是延迟构建并为推理而编译的,具有自动批处理、速率限制和响应缓存功能。
- Typed Schemas(类型化模式): 用户使用 Pydantic 模型定义所需的输出形状,确保非结构化文本被转换为结构化、可查询的列。
- Semantic Joins(语义联接): 引擎可以根据自然语言谓词(含义)而非精确的键匹配来联接两个 DataFrame。
- Lineage Tracking(血缘追踪): 提供行级血缘,将输出追溯到其源数据。
- MCP Integration(MCP 集成): 流水线可以提升为 Model Context Protocol (MCP) 工具,允许 AI 智能体将其作为受控的工具界面进行调用。
适用对象
- 需要将大量非结构化文本处理成结构化数据集的数据工程师和分析师。
- 构建评估流水线以分流模型失败并识别追踪模式的 AI 开发人员。
- 希望将其智能体的数据探索发现转化为可重复、受控工具的 智能体开发人员。
亮点
- 内置语义算子: 对提取、分类、情感分析和摘要提供一流支持。
- 原生非结构化支持: 专门处理 Markdown、转录文本 (SRT/WebVTT)、JSON (通过
jq) 和 PDF。 - 推理优化: 集成的 Token/成本统计、重试和缓存,用于管理 LLM 开销。
- AI 智能体工具: 包括用于 linting 的
fenic check和用于教导编码智能体如何正确使用 API 的fenic skill install。 - 多供应商支持: 兼容 OpenAI、Anthropic、Google、Cohere 和 OpenRouter。