@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"
process.env.OLLAMA_LLM_MODEL = "phi3:mini"
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 文件。