LlamaIndex.TS 项目介绍
项目背景
LlamaIndex.TS 是一个用于大语言模型(LLM)应用的数据框架。这一项目的目标是通过提供一组轻量且易于使用的库,帮助开发者将大语言模型与他们自己的数据进行集成,从而增强应用的功能性和智能化水平。这些模型包括 OpenAI 的 ChatGPT 等主流的大型语言模型。
支持的功能和语言模型
LlamaIndex.TS 兼容多个 JavaScript 环境,包括 Node.js、Deno、Bun、Nitro,甚至是 Vercel Edge 和 Cloudflare Workers 等边缘环境。由于对类似于 AsyncLocalStorage API 的支持有限,目前的浏览器支持较为受限。
LlamaIndex.TS 支持多种语言模型,包括但不限于:
- OpenAI 语言模型
- Anthropic 语言模型
- Groq 语言模型
- Llama 系列模型(如 Llama2、Llama3 等)
- MistralAI,Fireworks 和 DeepSeek 等模型
- ReplicateAI 和 TogetherAI 语言模型
- HuggingFace 以及 DeepInfra 模型
- Gemini 模型
如何开始使用
要使用 LlamaIndex.TS,只需要简单地运行以下命令安装相应的包:
npm install llamaindex
pnpm install llamaindex
yarn add llamaindex
在 Node.js、Deno 或 Bun 等环境下进行具体设置的详细说明可以参阅 官方文档。
在非 Node.js 环境中使用时,需要注意一些导入限制。例如,某些类只能与 Node.js 运行时兼容,因此如果需使用这些类需要通过包内的具体文件路径进行导入。
项目核心概念
LlamaIndex.TS 的核心功能通过多个概念模块进行支撑:
-
文档(Document):代表一个文本文件、PDF 文件或其他连续的数据片段。
-
节点(Node):数据的基本构建模块,通常为文档的一部分,被分割成适合嵌入模型和 LLM 的小块。
-
嵌入(Embedding):是一组浮点数,用来表示节点中的数据。通过比较嵌入的相似度,可以推断两个数据片段的相似性。
-
索引(Indices):存储节点及其嵌入,并通过嵌入相似性来检索这些节点。
-
查询引擎(QueryEngine):生成查询并返回结果。它通常通过结合预构建的提示和索引中的节点,为 LLM 提供答复所需的上下文。
-
聊天引擎(ChatEngine):帮助构建能够与索引交互的聊天机器人。
-
简单提示(SimplePrompt):是一种标准化的函数调用定义,它接收输入并将其格式化为模板文字,支持特化和组合。
社区与贡献
LlamaIndex.TS 项目鼓励开发者积极参与和贡献,更多信息请参考贡献指南。此外,项目社区欢迎大家加入 Discord 以交流和讨论,链接为:https://discord.com/invite/eN6D2HQ4aX。