@agentskit/rag

中文文档
0.7.1发布于 2026/10/24MITTypeScriptESM + CJS构建来源已验证近 30 天下载 5332

为"特工Kit"提供插件和游戏回取功能.

中文使用文档
文档目录16 节
  1. 已核实的证据
  2. 如何适应生态系统
  3. 为什么是布
  4. 安装
  5. 快速实例
  6. 有运行时间( 返回)
  7. 特征
  8. 标记下笔记( M) @agentskit/rag/markdown (中文(简体) )
  9. 博览会和回放本地运行时间中的 S3
  10. 生态系统
  11. 贡献者
  12. 许可证
  13. 文档
  14. 成熟性和相容性
  15. 捐款
  16. 分区绑定检索

@ agentskit/ 擦伤

AgentsKit

插件和游戏取回加载生成:块化文档,嵌入到其中,并在查询时检索到正确的上下文.

npm version npm downloads bundle size license stability GitHub stars

标记 : ai • 妇女 agents • 妇女 llm • 妇女 agentskit • 妇女 rag • 妇女 retrieval • 妇女 vector-search • 妇女 embeddings • 妇女 ai-agents • 妇女 semantic-search • 妇女 knowledge-base

已核实的证据

如何适应生态系统

@ agentskit/ rag 是取回层: 装入文档, 块入文档, 嵌入文档, 重新排序结果, 并将精确的上下文反馈给代理 .

  • 探员Kit:与本回购中的其他包一起作曲,从可互换的小零件来构建代理.
  • 书记官处: 查找已使用此图层的即时代理和模板 登记. agentskit.io。 。 。 .
  • 游戏本: 学习本层背后的生产模式 游戏本. agentskit.io。 。 。 .

文档 : 软件包指南 • 妇女 代理交接

为什么是布

  • 你的数据 你的经纪人 不需要微调;用自然语言吸收纯文本和查询
  • 可编译堆栈 - 使用任意 EmbedFn 和任何 VectorMemory 从 @agentskit/adapters 财务报告和审定财务报表 @agentskit/memory; 在不触碰RAG逻辑的情况下互换任意一层
  • 检索准备 —— 说 createRAG() 返回 a Retriever 交给你 @agentskit/runtime 或者说 useChat 自动注入上下文
  • 没有博士学位的Tune块 —— 说 chunkSize, (中文(简体) ), chunkOverlap,或习惯 split 函数——涵盖95%使用案例的3个键

安装

npm install @agentskit/rag @agentskit/memory @agentskit/adapters

文件支持的示例也需要可选 vectra 鼠标。 添加 vectra 安装命令 fileVectorMemory; 运行时间 融合的例子,特别是需求 @agentskit/runtime。 。 。 .

快速实例

import { createRAG } from '@agentskit/rag'
import { openaiEmbedder } from '@agentskit/adapters'
import { fileVectorMemory } from '@agentskit/memory'

const rag = createRAG({
  embed: openaiEmbedder({ apiKey: process.env.OPENAI_API_KEY! }),
  store: fileVectorMemory({ path: './vectors' }),
})

await rag.ingest([
  { id: 'doc-1', content: 'AgentsKit is a JavaScript agent toolkit...' },
])

const docs = await rag.search('How does AgentsKit work?', { topK: 5 })
console.log(docs)

有运行时间( 返回)

通过RAG实例为 retriever 因此,运行时间将检索到任务中:

import { createRuntime } from '@agentskit/runtime'
import { openai } from '@agentskit/adapters'

const runtime = createRuntime({
  adapter: openai({ apiKey: process.env.OPENAI_API_KEY!, model: 'gpt-4o' }),
  retriever: rag,
})

const result = await runtime.run('Explain the AgentsKit architecture based on ingested docs')
console.log(result.content)

您也可以打电话 rag.retrieve({ query, messages }) 满足核心 Retriever 合同(例如来自自定义控制器).

特征

  • createRAG({ embed, store }) ——摄入+取回的单入口.
  • rag.ingest(docs) 散装、嵌入和储存文件.
  • rag.search(query, { topK }) ——语义相似性搜索.
  • rag.retrieve({ query, messages }) —— 说 Retriever 运行时间/控制器注射合同v1.
  • 可配置块 : chunkSize, (中文(简体) ), chunkOverlap,自定义 split。 。 。 .
  • 与任何 EmbedFn 和任何 VectorMemory。 。 。 .
  • 复数 : createRerankedRetriever (Voyage, Jina,习俗) RerankFn, BM25 默认值), createHybridRetriever 独立 bm25Score。 。 。 . 食谱。 。 。 .
  • 文件加载器 : loadUrl, (中文(简体) ), loadGitHubFile, (中文(简体) ), loadGitHubTree, (中文(简体) ), loadNotionPage, (中文(简体) ), loadConfluencePage, (中文(简体) ), loadGoogleDriveFile, (中文(简体) ), loadPdf, (中文(简体) ), loadS3, (中文(简体) ), loadGcs, (中文(简体) ), loadDropbox,以及 loadOneDrive。 。 。 . 食谱。 。 。 .
  • 装入器韧性 : HTTP/网络和应答机构读取/解析故障表面为 RagError (单位:千美元)AK_RAG_LOAD_FAILED) (中文(简体) ). 每一个远程请求和读取的正文都有默认的有限超时和字节限制;两者都可以通过 timeoutMs 财务报告和审定财务报表 maxResponseBytes。 。 。 . timeoutMs 默认为15秒,接受正安全整数可达2,147,483,647ms. 超时和可选 signal 中止在支持时取消获取和 HTTP 车身流 。 调用者中止不会作为每个对象的跳过被吞噬;在树/列表部分成功语义允许的情况下,可以跳过超时或其他单个非破坏失败. S3 列表/get 调用接收 SDK 中止信号, 并同步可插入对象机构接收 return() ; 忽略其背景的自定义延时器。 如果仅变形的S3体的变形忽视了取消,它们也可能继续. 树/列表加载器在至少一次合格下载成功时可能返回部分成功;如果每次尝试合格下载失败,它们会扔出. 缺少/无效的 S3 对象体计算为失败下载 。 假设报告更多数据时没有新的光标/托起抛出(没有静态切换) . loadNotionPage 随后 has_more 编号 : next_cursor 与 start_cursor 直到完整(保留块顺序;不完全或重复光标抛出). loadUrl 需要 HTTPS 来源于 allowedOrigins;它不遵循方向调整。 非阳性/非无限 maxFiles 产量 []。 。 。 .
  • 记分合同: 无分数搜索/重排结果保持顺序 。 当出现任何分数时,每个结果都必须有一个有限度的分数,并且被排序为下行——混合或非无限分数投出(绝不是编造出) -Infinity) 变形 Voyage/Jina/ Custom reranker 输出抛出 AK_RAG_RERANK_FAILED可选 signal 打开 voyageReranker 编号 : jinaReranker 已转发至 fetch; 请求/机构中止保留 AK_RAG_RERANK_FAILED。 。 。 . bm25Score 消毒无效 k1编号 :b 并总是给出有限的分数。 混合相对权重的常态化为有限度的一对,总和为一(均为0~0.5/0.5).
  • 春克/ 配置安全 : 无效 chunkSize 编号 : chunkOverlap 编号 : topK 值被消毒,所以块化总是终止,搜索永远不会向商店发出非无限的限制.
  • 摄入行为 : rag.ingest 按顺序嵌入并发送一个矢量存储批次。 对于大型的corpora,在呼叫器中批发文档并坚持在呼叫之间取得进展;包中不会默默地添加通量或无约束的背景队列.

标记下笔记( M)@agentskit/rag/markdown(中文(简体) )

纯度,用于知识基样式Markdown(YAML前题, [[wikilinks]]页:1 子路径是分开的,所以根入及其规模预算不包含 yaml par.

import { parseNote, findSection, parseTable } from '@agentskit/rag/markdown'

const note = parseNote('notes/plan.md', raw)
// { path, title, frontmatter, body, links, frontmatterError? }
const rows = parseTable(findSection(note.body, 'backlog')?.content ?? '')

也导出 : splitFrontmatter, (中文(简体) ), extractWikilinks, (中文(简体) ), stripWikilinks, (中文(简体) ), sections, (中文(简体) ), normalize, (中文(简体) ), plain。无效的前题从不丢出;在 frontmatterError。 。 。 .

博览会和回放本地运行时间中的 S3

节点消费者可以安装 @aws-sdk/client-s3 并让 loadS3 解决它懒惰。 浏览器, Expo/ Metro, 和 React Industrial 捆绑, 不让该对等方进入通用条目; 在引用加载器时明确通过命令构建器 :

import { GetObjectCommand, ListObjectsV2Command, S3Client } from '@aws-sdk/client-s3'
import { loadS3 } from '@agentskit/rag'

await loadS3({
  client: new S3Client({}),
  bucket: 'knowledge',
  commands: { GetObjectCommand, ListObjectsV2Command },
})

生态系统

软件包作用
@ agentskit/ 核心Retriever, (中文(简体) ), VectorMemory,类型
@ agentskit/ 记忆向量后端( R)fileVectorMemory页:1
@ agentskit/ 适应器openaiEmbedder 和其他嵌入器
@ agentskit/ 运行时间retriever 代理人的融合
@ agentskit/ 反应useChat + 以相同核心类型聊天 UI

贡献者

AgentsKit contributors

许可证

麻省理工学院——见 自由主义。 。 。 .

文档

完整文档 • 妇女 GitHub 图像

成熟性和相容性

  • 稳定性: β 语录 看到了吗 文件/服务.md
  • 节点.js 20+ 财务报告和审定财务报表 类型脚本 严格模式
  • 发表于 @agentskit/rag

捐款

见 捐款额 单曲 自由主义。 。 。 .

分区绑定检索

createPartitionedRAG 编曲 createRAG 不更改核心检索器 合同或现有合同 createRAG 行为 将每个实例绑入非空格 构造时分区 :

import { createPartitionedRAG } from '@agentskit/rag'

const rag = createPartitionedRAG({
  store,
  embed,
  partition: 'team-a',
  topK: 5,
  overfetchFactor: 4,
  onDiagnostics: diagnostics => console.warn(diagnostics),
})
await rag.ingest([{ id: 'guide', content: 'Team A guide' }])
const hits = await rag.retrieve({ query: 'guide' })

Ingest 覆盖保留的 _akPartition 元数据字段和命名空间块 带有 JSON tuple 的ID, 所以不同分区的相同文档 ID 不 覆盖或删除对方的块 。 文件元数据,包括 documentId,继续提供。 返回的块ID是不透明的命名空间ID. 每一次搜索都有一个核心 VectorFilter 实现平等 本地分区元数据, 拒绝外国或缺失元数据, 即使当一个 存储忽略了过滤器。 包装器进行一个商店搜索,最多请求一次 topK * overfetchFactor 考生,最多考取人数,然后返回 多数 topK 火柴。 比赛。 该因子为从 1 到 16 (默认 4) 的整数; 不安全 候选人限制投出。 待命 search 限制和门槛仍然有效.

所需数额 onDiagnostics 每次成功的商店搜索都要回调, 包括空结果 partition, (中文(简体) ), requestedTopK, (中文(简体) ), candidateLimit, (中文(简体) ), examined, (中文(简体) ), rejected, (中文(简体) ), returned,以及 recall: 'potentially-reduced'这是 保守性: 边框过度可忽略匹配块, 商店可以 内部过滤一个有界限的全球候选人人才库,但不披露排除情况 (截至 fileVectorMemory 页:1 短期结果永远不能证明有理由归还另一个 分区块 。 回拨例外拒绝搜索 .

存储必须忠实保存块元数据和ID. 缺少元数据失败 关闭,但不能编造或错误重新分配分区元数据 检测到 这是检索隔离,不是授权边界 不受信任的作家或商店. 使用物理分离的仓库或后端 需要时信任分区执行或彻底召回. 后端-内部过度牵引在包装者候选人约束之外.

版本与发布记录

@agentskit/rag 共发布 43 个版本,首次发布于 2026/04/06;过去 12 个月发布了 43 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.1latest2026/10/2414 天前
0.7.02026/10/1028 天前
0.6.12026/10/031 个月前
0.6.02026/10/031 个月前
0.5.92026/09/291 个月前
0.5.82026/09/261 个月前

关于 @agentskit/rag 的常见问题

@agentskit/rag 是什么?

为"特工Kit"提供插件和游戏回取功能.

如何安装 @agentskit/rag?

在项目目录运行 npm install @agentskit/rag,或使用 pnpm add / yarn add / bun add。

@agentskit/rag 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@agentskit/rag 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@agentskit/rag 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.19。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@agentskit/rag 可以商用吗?

@agentskit/rag 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@agentskit/rag 的下载量有多少?

根据 npm 官方下载统计,@agentskit/rag 在 2026/10/05 – 2026/11/03 这 30 天内被下载 5,332 次,日均约 178 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@agentskit/rag 还在维护吗?

最新版本 0.7.1 发布于 2026/10/24(14 天前);至今共发布 43 个版本,其中过去 12 个月发布了 43 个;首次发布于 2026/04/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。