@re-ai/rag
TypeScript icon, indicating that this package has built-in type declarations

0.1.6 • Public • Published

@re-ai/rag

@re-ai/tag 是一个强大的rag服务,提供高效的文档管理、向量数据库操作和集合处理功能。 此包是专为需要在本地环境中处理大量数据的应用程序设计,支持多种数据操作。

更新

  • 23.05.20: 添加xinference模型部署支持,用来支持 EMBEDDING 和 RERANK
  • 23.05.08:添加文件的处理,分割文件,支持ollama二次处理,目前支持文档格式 markdown,pdf,doc,ppt, excel, txt

功能

  • 向量数据库操作:支持文档的插入、查询、搜索、删除和更新。
  • Rerank 操作:支持向量数据库中搜索的文档进行重排序。
  • 集合操作:提供集合的创建、描述、删除、列出和清空功能。
  • 文件操作:支持文件分割,再经过大语言模型处理。

安装

使用 npm 安装:

npm install @re-ai/rag

使用方法

向量服务

import { ReAIVector } from '@re-ai/rag';
const service = ReAIVector.getService(ServiceTypes.CHROMA_VECTOR, {
    dbHost: "",
    embedderType: "xinference"
})

文档操作

// 示例:插入文档
service.documentUpsert({ /* 数据 */ });

// 示例:查询文档
service.documentQuery({ /* 查询条件 */ });

数据库操作

// 示例:创建数据库
service.databaseCreate({ /* 数据库配置 */ });

// 示例:列出所有数据库
service.databaseList();

集合操作

// 示例:创建集合
service.collectionCreate({ /* 集合配置 */ });

// 示例:获取集合描述
service.collectionDescribe({ /* 指定集合 */ });

重排

现在rerank模型只使用了xinference部署的模型

import { ReAIRerank } from '@re-ai/rag';
const service = new ReAIRerank({
    host: "https://llm.ai.cloudos.com",
    model: "bge-reranker-large"
});

文件操作

process.env.OLLAMA_HOST = "http://127.0.0.1:11434" // ollama 服务地址
process.env.OLLAMA_LLM_MODEL = "phi3:mini" // llm 模型

import { FileParserTypes, ReAIFileParser } from "@re-ai/vector.local";
import { join } from 'path';

const parser = new ReAIFileParser()

parser.parse(join(__dirname, "../test.md"), FileParserTypes.MD, {
    minSize: 800,
    maxSize: 1000,
    onProcess: (data) => {
        console.log(data)
    }
}).then(ret => {
    console.log(ret)
})

贡献

欢迎通过 GitHub 提交问题或请求,以帮助我们改进 @re-ai/rag

许可证

此项目遵循 MIT 许可证。有关更多详细信息,请查看 LICENSE 文件。

Package Sidebar

Install

npm i @re-ai/rag

Weekly Downloads

37

Version

0.1.6

License

ISC

Unpacked Size

209 kB

Total Files

129

Last publish

Collaborators

  • niklauslu