OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Quivr — 基于生成式 AI 的个人知识库解决方案

Quivr — 基于生成式 AI 的个人知识库解决方案

 
  jade ·  2026-01-26 02:15:18 · 11 次点击  · 0 条评论  

Quivr - 你的第二大脑,由生成式 AI 驱动

Quivr-logo

Discord Follow
GitHub Repo stars
Twitter Follow

Quivr 帮助你构建你的第二大脑,利用生成式 AI 的力量成为你的个人助理!

核心特性 🎯

  • 开箱即用的 RAG:我们创建了一个高效、快速且开箱即用的 RAG(检索增强生成)系统,让你可以专注于产品开发。
  • 支持多种 LLM:Quivr 可与任何 LLM 配合使用,包括 OpenAI、Anthropic、Mistral、Gemma 等。
  • 支持任意文件:Quivr 支持任何文件格式,如 PDF、TXT、Markdown 等,你甚至可以添加自己的解析器。
  • 自定义你的 RAG:Quivr 允许你自定义 RAG,例如添加网络搜索、工具等。
  • 与 Megaparse 集成:Quivr 可与 Megaparse 协同工作,你可以使用 Megaparse 摄取文件,并使用 Quivr 的 RAG 功能。

我们负责处理复杂的 RAG,让你可以专注于产品。只需安装 quivr-core 并将其添加到你的项目中。现在你就可以摄取文件并提问了。*

我们将持续改进 RAG 并添加更多功能,敬请期待!

这是 Quivr 的核心,是 Quivr.com 的大脑。

快速开始 🚀

你可以在文档中找到所有信息。

先决条件 📋

确保已安装以下软件:

  • Python 3.10 或更高版本

30 秒安装 💽

  • 步骤 1:安装包

bash pip install quivr-core # 检查安装是否成功

  • 步骤 2:用 5 行代码创建一个 RAG

```python
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)

```

配置

工作流

基础 RAG

创建如上图所示的基础 RAG 工作流非常简单,步骤如下:

  1. 将你的 API 密钥添加到环境变量中
    python import os os.environ["OPENAI_API_KEY"] = "myopenai_apikey"
    Quivr 支持 Anthropic、OpenAI 和 Mistral 的 API。也支持通过 Ollama 使用本地模型。

  2. 创建 YAML 文件 basic_rag_workflow.yaml 并将以下内容复制进去
    ```yaml
    workflow_config:
    name: "standard RAG"
    nodes:
    - name: "START"
    edges: ["filter_history"]

    - name: "filter_history"
      edges: ["rewrite"]
    
    - name: "rewrite"
      edges: ["retrieve"]
    
    - name: "retrieve"
      edges: ["generate_rag"]
    
    - name: "generate_rag" # 最后一个节点的名称,我们将从此节点向用户流式传输答案
      edges: ["END"]
    

    包含在答案上下文中的最大历史对话轮次数

    max_history: 10

    重排序器配置

    reranker_config:
    # 要使用的重排序器供应商
    supplier: "cohere"

    # 给定供应商要使用的重排序器模型
    model: "rerank-multilingual-v3.0"

    # 重排序器返回的块数量
    top_n: 5

    LLM 配置

    llm_config:

    # 传递给 LLM 用于生成答案的最大令牌数
    max_input_tokens: 4000

    # LLM 的温度参数
    temperature: 0.7
    ```

  3. 使用默认配置创建一个 Brain
    ```python
    from quivr_core import Brain

    brain = Brain.from_files(name = "my smart brain",
    file_paths = ["./my_first_doc.pdf", "./my_second_doc.txt"],
    )
    ```

  4. 启动一个聊天会话
    ```python
    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:
    # 获取用户输入
    question = Prompt.ask("[bold cyan]Question[/bold cyan]")

    # 检查用户是否想退出
    if question.lower() == "exit":
        console.print(Panel("Goodbye!", style="bold yellow"))
        break
    
    answer = brain.ask(question, retrieval_config=retrieval_config)
    # 打印答案,带有打字效果
    console.print(f"[bold green]Quivr Assistant[/bold green]: {answer.answer}")
    
    console.print("-" * console.width)
    

    brain.print_info()
    ```

  5. 现在你已经全部设置完毕,可以与你的大脑对话了!只需更改配置文件即可测试不同的检索策略。

深入探索

你可以通过添加网络搜索、工具等功能进一步探索 Quivr。查看文档获取更多信息。

贡献者 ✨

感谢这些优秀的人们:


贡献 🤝

你有一个拉取请求吗?尽管提交,我们会尽快审核。查看我们的项目看板这里,了解我们当前的重点工作,并随时欢迎你带来新鲜的想法!

合作伙伴 ❤️

没有合作伙伴的支持,这个项目不可能实现。感谢你们的支持!


YCombinator


Theodo

许可证 📄

本项目采用 Apache 2.0 许可证 - 详情请参阅 LICENSE 文件。

11 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 19 ms
Developed with Cursor