尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
OpenRAG TypeScript SDK使用指南:前端应用接入RAG知识库完整教程
OpenRAG TypeScript SDK使用指南前端应用接入RAG知识库完整教程【免费下载链接】openragOpenRAG is a comprehensive, single package Retrieval-Augmented Generation platform built on Langflow, Docling, and Opensearch.项目地址: https://gitcode.com/GitHub_Trending/open/openragOpenRAG 是一个基于 Langflow、Docling 和 OpenSearch 构建的完整检索增强生成RAG平台。通过官方 TypeScript SDKopenrag-sdk你可以用几行代码就把前端应用接入 OpenRAG 的 RAG 知识库轻松实现 AI 对话、语义搜索和文档入库三大核心能力。本教程将带你快速完成安装、配置与实战让你的 Web 应用在 10 分钟内拥有知识库问答超能力。 一、认识 OpenRAG TypeScript SDKOpenRAG 为开发者提供了官方 SDKTypeScript 版本包名openrag-sdk覆盖 Node.js 与浏览器两种运行环境并附带完整类型定义。SDK 源码位于 sdks/typescript/ 目录完整说明文档见 sdks/typescript/README.md。它把 OpenRAG 的五组 API 封装成了五个子客户端子客户端能力源码位置client.chatAI 对话普通 / 流式 / 会话管理chat.tsclient.search知识库语义搜索search.tsclient.documents文档入库、删除、文件列表documents.tsclient.knowledgeFilters可复用的知识过滤器knowledge-filters.tsclient.settings读取与更新系统配置client.tsSDK 内部基于标准fetch实现请求见 sdks/typescript/src/client.ts因此对现代 Node.js≥18和浏览器都有良好支持。更多 SDK 与 API 概览可参考 docs/docs/reference/api-sdk-overview.mdx。 二、一键安装与初始化客户端最快安装方法npm install openrag-sdk # 或 yarn add openrag-sdk / pnpm add openrag-sdk包配置详情见 sdks/typescript/package.json。客户端两种配置方式SDK 支持环境变量和构造函数参数两种配置方式环境变量优先级最低构造函数参数会覆盖它们环境变量构造函数选项说明OPENRAG_API_KEYapiKeyAPI 密钥必填OPENRAG_URLbaseUrl服务地址默认http://localhost:3000import { OpenRAGClient } from openrag-sdk; // 方式一自动读取环境变量 const client new OpenRAGClient(); // 方式二显式传参 const client new OpenRAGClient({ apiKey: orag_..., baseUrl: https://your-openrag.example.com, }); 三、AI 对话一次问答与流式输出快速提问const response await client.chat.create({ message: 什么是 RAG }); console.log(response.response); // AI 回答 console.log(response.chatId); // 会话 ID可用于追问携带chatId再次调用即可延续多轮对话。流式响应打字机效果前端展示 AI 回答时流式输出streaming能显著提升体验。SDK 提供stream()方法遍历文本增量即可实现打字机效果const stream await client.chat.stream({ message: 解释 RAG 的原理 }); try { for await (const text of stream.textStream) { process.stdout.write(text); } console.log(\n会话ID: ${stream.chatId}); // 聚合好的完整数据 } finally { stream.close(); }此外还能通过stream.finalText()一次性获取完整文本。会话历史管理client.chat.list()列出全部会话client.chat.get(chatId)获取指定会话及消息client.chat.delete(chatId)删除会话 四、知识库语义搜索与过滤client.search.query()一行完成语义检索支持过滤器与相似度阈值const results await client.search.query(文档处理, { filters: { data_sources: [api-docs.pdf], // 限定来源文档 document_types: [application/pdf], // 限定文件类型 }, limit: 5, scoreThreshold: 0.5, });搜索结果中每条都包含文件名、相关度分数和文本片段可以直接渲染为引用来源卡片。 五、文档入库让知识库不断增长把 PDF、文档等文件送入知识库只需一个ingest调用// Node.js直接传本地路径 const result await client.documents.ingest({ filePath: ./report.pdf }); // 浏览器传 File / Blob 对象 const result await client.documents.ingest({ file, filename: report.pdf }); console.log(状态: ${result.status}成功文件数: ${result.successful_files});常用配套方法client.documents.waitForTask(taskId)不等待入库wait: false时手动轮询任务状态client.documents.listFiles()/getAllFiles()清点知识库文件后者单次最多 500 个client.documents.delete(report.pdf)删除文档 小技巧先用listFiles()拿到文件名清单再创建知识过滤器即可实现按目录/来源问答的精细化检索。️ 六、知识过滤器可复用的检索策略知识过滤器Knowledge Filters是命名的、可复用的过滤配置可挂到对话与搜索上// 创建过滤器 const { id: filterId } await client.knowledgeFilters.create({ name: 技术文档, queryData: { filters: { document_types: [application/pdf] }, limit: 10 }, }); // 在对话与搜索中复用 const response await client.chat.create({ message: 解释 API, filterId }); const results await client.search.query(API 端点, { filterId });完整增删改查流程见 sdks/typescript/README.md。️ 七、优雅的异常处理SDK 将 HTTP 错误映射为清晰的异常类型前端可据此做精准的用户提示异常类型触发场景AuthenticationErrorAPI 密钥无效或缺失NotFoundError资源不存在404ValidationError请求参数错误400RateLimitError触发限流429ServerError服务端错误5xximport { AuthenticationError, ServerError } from openrag-sdk; try { await client.chat.create({ message: 你好 }); } catch (e) { if (e instanceof AuthenticationError) { alert(API 密钥无效请检查配置); } else if (e instanceof ServerError) { alert(服务暂时不可用请稍后重试); } }所有类型定义ChatResponse、StreamEvent、SearchResponse等均从主模块导出TypeScript 项目可获得完整的智能提示入口见 sdks/typescript/src/index.ts。✅ 八、小结5 分钟接入npm install openrag-sdk→ 初始化OpenRAGClient→ 发起第一次问答双端通用Node.js 用filePath入库浏览器用File对象一套代码两端跑功能完整对话、流式、搜索、入库、过滤器、错误处理覆盖 RAG 应用开发全场景现在你的前端应用已经可以站在 OpenRAG 这个 RAG 平台之上把企业文档变成会回答问题的知识库了。【免费下载链接】openragOpenRAG is a comprehensive, single package Retrieval-Augmented Generation platform built on Langflow, Docling, and Opensearch.项目地址: https://gitcode.com/GitHub_Trending/open/openrag创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

CMetrics 指标库开发与维护操作指南:从仓库结构、构建测试到兼容性与性能纪律

CMetrics 指标库开发与维护操作指南:从仓库结构、构建测试到兼容性与性能纪律

CMetrics 指标库开发与维护操作指南:从仓库结构、构建测试到兼容性与性能纪律 【免费下载链接】fluent-bit Fast and Lightweight Logs, Metrics and Traces processor for Linux, BSD, OSX and Windows 项目地址: https://gitcode.com/GitHub_Trending/fl/fluent…

📅 2026/9/16 14:23:26
conda 文档站的 sphinx-autoapi 模块模板剖析:用自定义 module.rst 生成 Python API 参考

conda 文档站的 sphinx-autoapi 模块模板剖析:用自定义 module.rst 生成 Python API 参考

conda 文档站的 sphinx-autoapi 模块模板剖析:用自定义 module.rst 生成 Python API 参考 【免费下载链接】conda A system-level, binary package and environment manager running on all major operating systems and platforms. 项目地址: https://gitcode.co…

📅 2026/9/16 14:23:26
Flowable Event Registry 部署实战:Event/Channel 定义、程序化部署与版本管理全解析

Flowable Event Registry 部署实战:Event/Channel 定义、程序化部署与版本管理全解析

Flowable Event Registry 部署实战:Event/Channel 定义、程序化部署与版本管理全解析 【免费下载链接】flowable-engine A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business use…

📅 2026/9/16 14:18:26
MORE NEWS

更多资讯

📰

Flutter与鸿蒙混合开发:分布式会议组件性能优化实践

1. 项目背景与核心挑战最近在将一个Flutter核心组件meeting_place_core适配到鸿蒙HarmonyOS平台时,遇到了几个关键技术瓶颈。这个组件原本是为分布式会议场景设计的引擎核心,需要处理高并发信令分发、跨端状态同步和实时协作空间管理。在鸿蒙平台上&…

📰

PostGIS in CloudNativePG

PostGIS in CloudNativePG 【免费下载链接】cloudnative-pg The most popular Kubernetes Operator for PostgreSQL. 项目地址: https://gitcode.com/GitHub_Trending/cl/cloudnative-pg 在 Kubernetes 上为 PostgreSQL 部署 PostGIS 的完整指南 CloudNativePG&#xf…

📰

Litestar + SQLAlchemy Repository 实战:用 Controller 组装带分页的完整 CRUD 服务

Litestar SQLAlchemy Repository 实战:用 Controller 组装带分页的完整 CRUD 服务 【免费下载链接】litestar Light, flexible and extensible ASGI framework | Built to scale 项目地址: https://gitcode.com/GitHub_Trending/li/litestar 本教程是 Lites…

📰

Win11Debloat 使用指南:免费三步卸载预装应用、关闭遥测,给 Windows 11 瘦身

Win11Debloat 使用指南:免费三步卸载预装应用、关闭遥测,给 Windows 11 瘦身 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various o…

📰

DenseUnet腹部多脏器分割实战:3D密集连接与解剖先验融合

简介:本资源是一套面向医学图像分割初学者与深度学习实践者的腹部多脏器语义分割完整项目,基于DenseUNet网络实现背景、肝脏、左右肾及脾脏五类结构的精准分割。项目提供可直接运行的训练、验证与推理全流程代码,含详细中文注释,并…

📰

DPO原理与实战:从RLHF到直接偏好优化的完整指南

DPO(Direct Preference Optimization,直接偏好优化)这两年几乎成了LLM对齐领域最出圈的关键词之一。它主打一个“不需要奖励模型、不跑强化学习也能做偏好对齐”,让很多想在业务里把手头模型调得更“听话”的团队,绕开…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬