dsRAG
dsRAG 是一个用于非结构化数据的检索引擎。它特别擅长处理针对密集文本(如财务报告、法律文件和学术论文)的复杂查询。在复杂的开放式问答任务中,dsRAG 比普通的 RAG 基线实现了更高的准确率。
您可以在 dsRAG 中使用 Qdrant 连接器来添加和语义检索集合中的文档。
使用示例
from dsrag.database.vector import QdrantVectorDB
import numpy as np
from qdrant_clien import models
db = QdrantVectorDB(kb_id=self.kb_id, url="http://localhost:6334", prefer_grpc=True)
vectors = [np.array([1, 0]), np.array([0, 1])]
# You can use any document loaders available with dsRAG
# We'll use literals for demonstration
documents = [
{
"doc_id": "1",
"chunk_index": 0,
"chunk_header": "Header1",
"chunk_text": "Text1",
},
{
"doc_id": "2",
"chunk_index": 1,
"chunk_header": "Header2",
"chunk_text": "Text2",
},
]
db.add_vectors(vectors, documents)
metadata_filter = models.Filter(
must=[models.FieldCondition(key="doc_id", match=models.MatchValue(value="1"))]
)
db.search(query_vector, top_k=4, metadata_filter=metadata_filter)