Skip to content

一个开源的RAG框架,旨在为用户提供了一个强大、灵活且简单的开发环境。

Notifications You must be signed in to change notification settings

justinzm/RAGLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAGLink

RAGLink是一个开源的Retrieval-Augmented Generation框架,旨在通过结合检索和大模型生成技术,提升自然语言处理任务的性能和效率。为用户提供了一个强大、灵活且易于扩展的开发环境。

🔑核心特性

  • 检索增强:通过检索技术,框架能够快速从大量数据中检索相关信息,为生成任务提供上下文支持。
  • 生成能力:集成了多种生成大模型,能够根据检索到的信息生成流畅、准确的文本。
  • 模块化设计:采用模块化设计,便于开发者根据需求定制和扩展功能。

🗺️集成

向量数据库

  • Milvus
  • Qdrant

Embeddings模型

  • OpenAIEmbeddings
  • MiniMaxEmbeddings
  • HuggingFaceEmbedding

Reranker模型

  • bce-embedding-base_v1

📚使用文档

安装说明

可以直接从终端中的pip命令安装RAGLink:

pip install raglink

基本用法

配置 RAGLink

from raglink import RAGLink

# 配置RAGLink
config = {
    ……
}

rag = RAGLink.from_config(config)

config 配置

# 文档切分配置
# character:固定大小分块; separator:分隔符分块;recursive_character:递归字符分割
config = {
    ……
    "test_splitter": {
        "provider": "character",
        "config": {
            "chunk_size": 300,
            "chunk_overlap": 20
        }
    }    
    ……
}

# 向量模型配置
# openai:OpenAI的Embeddings模型;minimax:MiniMax的Embeddings模型;huggingface:HuggingFace的Embeddings模型
config = {
    ……
    "embedder": {
        "provider": "minimax",
        "config": {
            "api_key": ……,
            "group_id": ……
        }
    }   
    ……
}

# 向量数据库配置
# qdrant:Qdrant向量数据库;milvus:Milvus向量数据库
config = {
    ……
    "vector_store": {
        "provider": "qdrant",
        "config": {
            "collection_name": "……",
            "vector_size": 1536,
            "host": "localhost",
            "port": 6333
        }
    }   
    ……
}

文档向量化

# 输入文档地址进行向量化
rag.execute_store(file_path=file_path)

检索获取上下文

# 输入查询语句进行检索获取上下文
result = rag.get_context(question=question, limit=limit)

版本更新

v0.0.6
新增Milvus向量数据库,数据修改、删除等功能

v0.0.3
新增HuggingFaceEmbedding


About

一个开源的RAG框架,旨在为用户提供了一个强大、灵活且简单的开发环境。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages