txtai 是一个一体化 AI 框架,用于语义搜索、LLM 编排和语言模型工作流。其核心组件是嵌入数据库,它是向量索引(稀疏和稠密)、图网络和关系数据库的联合体。这一基础支持向量搜索,并可作为大型语言模型(LLM)应用的强大知识源。基于此,可以构建自主智能体、检索增强生成(RAG)流程、多模型工作流等。
主要能力包括:
- 向量搜索:支持 SQL、对象存储、主题建模、图分析和多模态索引。
- 嵌入创建:可为文本、文档、音频、图像和视频创建嵌入。
- 管道:由语言模型驱动,可运行 LLM 提示、问答、标注、转录、翻译、摘要等。
- 工作流:将管道连接在一起并聚合业务逻辑,可作为简单微服务或多模型工作流。
- 智能体:智能连接嵌入、管道、工作流和其他智能体,自主解决复杂问题。
- API:提供 Web 和模型上下文协议(MCP)API,并有 JavaScript、Java、Rust 和 Go 的绑定。
- 开箱即用:默认配置可快速启动。
- 部署:可在本地运行,或通过容器编排扩展。
txtai 基于 Python 3.11+、Hugging Face Transformers、Sentence Transformers 和 FastAPI 构建,采用 Apache 2.0 开源许可。NeuML 是 txtai 背后的公司,围绕其技术栈提供 AI 咨询服务,并正在构建 txtai.cloud 以提供托管 txtai 应用的安全运行方式。
使用方式: 最简单的安装方式是通过 pip 和 PyPI。支持 Python 3.11+,建议使用 Python 虚拟环境。详细安装说明涵盖可选依赖、环境特定先决条件、从源码安装、conda 支持、轻量级最小安装以及如何使用容器运行。
模型可以来自 Hugging Face Hub 的路径或本地目录。模型路径是可选的,未指定时会加载默认模型。对于没有推荐模型的任务,txtai 使用 Hugging Face 任务指南中显示的默认模型。
适用场景:
- 语义搜索:构建语义/相似性/向量/神经搜索应用。传统搜索使用关键词,语义搜索理解自然语言,识别含义相同的结果,而不一定是相同的关键词。
- LLM 编排:自主智能体、检索增强生成(RAG)、与数据聊天、与 LLM 交互的管道和工作流。智能体基于 smolagents 框架构建,支持 txtai 支持的所有 LLM(Hugging Face、llama.cpp、通过 LiteLLM 的 OpenAI / Claude / AWS Bedrock),也支持 agents.md 和 skill.md 的智能体提示。RAG 通过将输出约束在知识库上下文中,降低 LLM 幻觉风险,常用于“与数据聊天”。
- 语言模型工作流:也称为语义工作流,将语言模型连接在一起构建智能应用。虽然 LLM 强大,但许多更小、更专业的模型在特定任务上表现更好更快,包括提取式问答、自动摘要、文本转语音、转录和翻译。
限制: 资料中未明确列出具体限制。已知需要 Python 3.11+ 环境,部分功能可能需要额外依赖。