quivr

把 RAG 集成交给 quivr,你专注做产品功能

开源 freemium 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 39598
维护状态 活跃
是否开源 是
定价模式 freemium

项目预览

项目数据

分类搜索知识
开发团队The-Vibe-Company
所属国家
定价模式freemium
价格说明提供免费开源版本,云服务有付费计划,具体价格待确认
访问状态
是否开源是
开源协议MIT
主要语言Go
技术栈/模型ai,api,chatbot,chatgpt,database,docker,framework,frontend,groq,html,javascript,llm,openai,postgresql,privacy,rag,react,security,typescript,vector
GitHub 星标★ 39598
30天Star增速
HF 下载量
上线时间2023-05-12 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-02
浏览次数1

项目介绍

quivr 是一个主打“专注产品而非 RAG”的开源框架,用于将生成式 AI 快速集成到现有应用中。它解决了开发者在构建 RAG(检索增强生成)应用时面临的复杂集成问题,提供了一套“有主见”的默认配置,同时保留高度定制能力。核心能力包括:支持多种主流大模型(如 GPT-4、Groq、Llama)和向量数据库(如 PGVector、Faiss),可处理任意类型文件,并提供便捷的 API 和前端组件。通过简单的配置,开发者即可在现有产品中实现智能问答、知识库检索等功能,无需从零搭建 RAG 管道。项目基于 Python 和 React,采用 Docker 部署,强调隐私和灵活性,适合快速原型开发和生产落地。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 3.10 或更高版本
  • 可用的 pip 包管理工具
  • 如需调用云端大模型,需自备对应 LLM 的访问凭据(README 未给出具体配置方式)

安装与启动步骤

  1. 1检查 Python 版本

    README 要求 Python 3.10 或更新。先确认本机版本,低于 3.10 请先升级 Python。

    python --version
  2. 2安装 quivr-core

    用 pip 安装核心包 quivr-core,安装完成后即可在自己的 Python 项目中导入使用。

    pip install quivr-core
  3. 3运行最小示例

    把 README 的 5 行示例保存为 .py 文件并运行:创建一个临时 txt 文档、构建 Brain 并提问英文问题。

    import tempfile
    
    from quivr_core import Brain
    
    if __name__ == "__main__":
        with tempfile.NamedTemporaryFile(mode="w", suffix=".txt") as temp_file:
            temp_file.write("Gold is a liquid of blue-like colour.")
            temp_file.flush()
    
            brain = Brain.from_files(
                name="test_brain",
                file_paths=[temp_file.name],
            )
    
            answer = brain.ask(
                "what is gold? asnwer in french"
            )
            print("answer:", answer)
  4. 4编写 RAG 配置文件

    新建 basic_rag_workflow.yaml,按 README 示例填写 reranker 与 llm 两组配置,之后可只改文件切换检索策略。

    # Reranker configuration
    reranker_config:
      # The reranker supplier to use
      supplier: "cohere"
    
      # The model to use for the reranker for the given supplier
      model: "rerank-multilingual-v3.0"
    
      # Number of chunks returned by the reranker
      top_n: 5
    
    
    
    # Configuration for the LLM
    llm_config:
    
      # maximum number of tokens passed to the LLM to generate the answer
      max_input_tokens: 4000
    
      # temperature for the LLM
      temperature: 0.7
  5. 5加载配置并对话

    用 RetrievalConfig.from_yaml 读取上面的配置文件,构建 Brain 后进入循环问答,输入 exit 退出。

    from quivr_core import Brain
    
    brain = Brain.from_files(name = "my smart brain",
                            file_paths = ["./my_first_doc.pdf", "./my_second_doc.txt"],
                            )
    
    brain.print_info()
    
    from rich.console import Console
    from rich.panel import Panel
    from rich.prompt import Prompt
    from quivr_core.config import RetrievalConfig
    
    config_file_name = "./basic_rag_workflow.yaml"
    
    retrieval_config = RetrievalConfig.from_yaml(config_file_name)
    
    console = Console()
    console.print(Panel.fit("Ask your brain !", style="bold magenta"))
    
    while True:
        # Get user input
        question = Prompt.ask("[bold cyan]Question[/bold cyan]")
    
        # Check if user wants to exit
        if question.lower() == "exit":
            console.print(Panel("Goodbye!", style="bold yellow"))
            break
    
        answer = brain.ask(question, retrieval_config=retrieval_config)
        # Print the answer with typing effect
        console.print(f"[bold green]Quivr Assistant[/bold green]: {answer.answer}")
    
        console.print("-" * console.width)
    
    brain.print_info()

关键配置

配置项必填说明示例
reranker_config.supplier否指定使用的 reranker 供应商cohere
reranker_config.model否指定该供应商下使用的 reranker 模型rerank-multilingual-v3.0
reranker_config.top_n否reranker 返回的文本块数量5
llm_config.max_input_tokens否传给 LLM 生成答案的最大 token 数4000
llm_config.temperature否LLM 采样温度,越高回答越发散0.7

如何确认成功

运行最小示例后终端打印出以 answer: 开头的回答内容;运行对话脚本时会显示 Brain 信息并出现 Question 提示符。

常见问题

Q:需要什么 Python 版本?

A:README 明确要求 Python 3.10 或更新版本,低于该版本请先升级环境再安装。

Q:支持哪些大模型?

A:README 称 Quivr 可与任何 LLM 配合,例如 OpenAI、Anthropic、Mistral、Gemma 等。

Q:能处理哪些文件类型?

A:支持任意文件,如 PDF、TXT、Markdown 等,还可以自行添加解析器;示例中用了 .pdf 和 .txt。

Q:怎么更换检索策略?

A:只需修改 YAML 配置文件(如 reranker_config、llm_config)后重新运行,无需改动代码。

Q:更多文档在哪里?

A:README 指向官方文档 https://core.quivr.com/,安装与配置细节以该文档为准。

注意事项

  • README 未说明 API Key 等模型凭据的配置方式,接入云端 LLM 前请查阅官方文档 core.quivr.com。
  • 安装的包名是 quivr-core,代码中导入的模块名是 quivr_core,注意两者拼写差异。
  • 不传 retrieval_config 时 Brain 会使用默认配置,即 README 所说的“有主见”的默认 RAG。
  • README 中的安装章节有一处内容被截断(pip in ...),本教程只采用了完整的 pip install quivr-core 命令。

核心亮点

  • 支持 GPT-4、Groq、Llama 等多种 LLM,灵活切换
  • 兼容 PGVector、Faiss 等主流向量库,数据存储自由
  • 提供现成 API 和前端组件,集成门槛低

不足之处

  • 配置项较多,初学者需花时间理解
  • 文档/社区待观察

适用场景

  • 企业内部知识库问答系统
  • 电商客服智能助手
  • 文档检索与摘要生成工具

替代项目

LangChain、LlamaIndex、Haystack

上一篇:llm-applications

下一篇:jonex

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

Supercharge your AI agents with data from the web and beyond. Building the library f···

★ 192615 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 128009 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
WeKnora 开源

文档往里一扔,自动变成啥都能答的知识库

Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an auto···

★ 34578 2026-08-09