txtai 全功能AI框架
一体化的AI框架,用于语义搜索、LLM编排和语言模型工作流。
- 源仓库
- neuml/txtai
- Star 数
- ★ 13k
- 最近更新
- 2 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 58/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 数据科学家需要构建针对大量文本语料库的语义搜索引擎。
- 不适合
- 需要开箱即用图形界面、不想写代码的用户
- 不愿引入 Hugging Face 模型与外部 LLM 服务的团队
这个 Agent 能做什么,适合哪些场景?
txtai是一个综合性的AI框架,将向量数据库(稀疏和密集)、图网络和关系数据库统一到一个嵌入数据库中。该框架支持语义搜索、检索增强生成(RAG)、自主代理、多模型工作流等功能。其核心组件包括用于索引和搜索的嵌入数据库,以及用于各种任务的管道,如LLM提示、问答、摘要、翻译和转录。开发人员可以通过Python API、REST API或YAML配置文件使用它。txtai使用Hugging Face Transformers、Sentence Transformers和FastAPI构建,可本地运行或通过容器编排扩展。该框架采用Apache 2.0许可,支持Python 3.10及更高版本。
txtai提供嵌入数据库,用于索引和搜索文本、文档、音频、图像和视频。它运行各种管道:LLM提示、问答、标签、转录、翻译、摘要等。工作流将多个管道连接在一起以实现复杂流程,而代理智能地连接嵌入、管道、工作流和其他代理以自主解决问题。它提供REST API和Model Context Protocol(MCP)API,以及JavaScript、Java、Rust和Go的绑定。用户可以在本地运行或使用容器编排进行缩放。安装后,可以使用txtai.Embeddings在Python中编入索引和搜索。可通过配置YAML文件并启动Uvicorn服务器来启动API。
- 数据科学家需要构建针对大量文本语料库的语义搜索引擎。
- 开发人员希望创建RAG系统,以尽量减少LLM的幻觉。
- 研究人员需要通过问答和总结来分析科学论文。
- 组织希望构建用于自动化客户支持的自主代理。
- 开发人员需要多模型工作流,例如语音到语音RAG。
- 希望部署本地搜索解决方案以避免将数据发送到外部服务的团队。
如何安装或部署这个 Agent?
通过pip安装txtai:pip install txtai。需要Python 3.10或更高版本。也可以选择使用Docker。
如何使用这个 Agent?
Python中使用:
import txtai
embeddings = txtai.Embeddings()
embeddings.index(["Correct", "Not what we hoped"])
embeddings.search("positive", 1)通过配置文件启动API:
# app.yml
embeddings:
path: sentence-transformers/all-MiniLM-L6-v2CONFIG=app.yml uvicorn "txtai.api:app"
curl -X GET "http://localhost:8000/search?query=positive"更多示例和笔记本可在文档中找到。
这个 Agent 有哪些优点和局限?
- 一体化框架,涵盖搜索、RAG、代理和工作流,功能全面。
- 支持多种模态索引(文本、图像、音频、视频)。
- 本地运行能力,避免数据外传。
- 多种API绑定(Python、JavaScript、Java、Rust、Go)。
- 与Hugging Face模型集成良好。
- 需要学习其YAML配置和框架结构,初始学习成本高。
- 大型模型运行时可能消耗大量内存和计算资源。
- 某些组件(如代理)依赖外部框架(如smolagents),增加了集成复杂性。
- 文档和示例繁多,新用户可能感到不知所措。
这个 Agent 与同类方案有什么区别?
该仓库提到,txtai可以作为其他向量数据库和LLM框架(如llama.cpp、LiteLLM等)的替代品,但未明确提及具体竞争对手。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| txtai 全功能AI框架 当前 | 58 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 13k | 2 天前 | Python | OpenAI API · Claude API |
| Chroma - 面向AI的开源数据基础设施 | 45 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 30k | 1 天前 | Rust | — |
| SimpleMem:LLM 智能体的高效终身记忆系统 | 43 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.8k | 2 个月前 | Python | ChatGPT · Claude Code |
| DDC CWICR 建筑工程量造价库 | 41 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 252 | 1 个月前 | HTML | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库提供Apache-2.0许可证,明确归属NeuML LLC;README说明可本地运行,减少数据外传;测试中显示工具如bash、write等默认可用,但未提供权限最小化或用户确认机制。扣分:未发现权限最小化设计、用户确认流程、数据流透明说明、敏感数据处理策略、依赖安全审计、外部影响控制或回滚机制。
证据显示:README和测试文件描述一致,测试覆盖多种后端和功能;依赖如Hugging Face Transformers等常见且可用;但失败消息未在文档中明确说明。扣分:失败消息文档不足。
证据显示:README明确面向开发者,提供多种使用场景(语义搜索、RAG、Agent等)和示例;能力边界通过文档和示例说明;触发精度通过配置和API参数控制;环境适配支持Python 3.10+、Docker等。扣分:能力边界和触发精度在文档中部分说明,但未详尽。
证据显示:README结构清晰,提供安装说明、示例、FAQ链接;许可证明确;版本历史通过GitHub releases和changelog;维护责任由NeuML承担。扣分:已知限制未在README中明确列出。
证据显示:输出为搜索结果或Agent响应,格式明确;提供超过70个示例,边际价值高;成本效益因本地运行和可选依赖而良好。扣分:输出可用性未详细说明错误处理。
证据显示:README中的功能描述与测试文件一致;多个来源(README、测试、文档)相互印证;但事实与推断未明确区分。扣分:事实与推断分离不足。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 未发现权限最小化或用户确认机制,Agent可能执行任意工具(如bash、write),需谨慎配置。
- 依赖安全未审计,建议检查依赖漏洞。
- 数据流透明性不足,敏感数据处理策略未说明。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
This release adds new ANN backends for RaBitQ and Zvec Sparse, native support for ONNX vectors along with a bonanza of improvements and bug fixes See below for full details on the new features, improvements and bug fixes. New Features -------------------------- - Add ONNX vectors backend (#1211, #1212) @joseph-bergin - Add RaBitQ as an ANN backend (#1244, #1251) @pma1999 - Add Zvec Sparse ANN (#1280, #1307) @Ni0ri - Require Python 3.11 (#1273) Improvements -------------------------- - Update vectors package to standardize fallback logic (#1221) …在 GitHub 查看 ↗ -
发布说明摘录
This release adds LEMUR learned multi-vector retrieval, expands late-interaction retrieval capabilities, and includes improvements to MUVERA and pooling along with a number of bug fixes. See below for full details on the new features, improvements and bug fixes. New Features -------------------------- - Add LEMUR: Learned Multi-Vector Retrieval (#1024, #1164, #1169, #1170, #1171, #1172, #1190, #1194, #1196) @morgan-coded - Add configurable mean centering to late pooling (#1168) @morgan-coded - Add max pooling (#1185, #1186) @Aryan-Pardeshi Improvements -------------------------- …在 GitHub 查看 ↗ -
发布说明摘录
This release adds support for new ANN backends along with a bonanza of bug fixes from 7 new contributors! See below for full details on the new features, improvements and bug fixes. New Features -------------------------- - Feature request: Support zvec as vector backend (#1040, #1130) @morgan-coded - Add milvus-lite embedded dense ANN backend (#1149) @morgan-coded - Allow disabling API routes (#1165) Improvements -------------------------- - Add tokenbatch size to HFTrainer pipeline (#1133) - Only resolve transform functions when env variable set (#1155) …在 GitHub 查看 ↗