Quivr hilft Ihnen beim Aufbau Ihres zweiten Gehirns und nutzt die Kraft von GenerativeAI, um Ihr persönlicher Assistent zu sein!
Wir kümmern uns um die RAG, damit Sie sich auf Ihr Produkt konzentrieren können. Installieren Sie einfach quivr-core und fügen Sie es Ihrem Projekt hinzu. Sie können jetzt Ihre Dateien aufnehmen und Fragen stellen.*
Wir werden das RAG verbessern und weitere Funktionen hinzufügen, bleiben Sie dran!
Dies ist der Kern von Quivr, dem Gehirn von Quivr.com.
Alles finden Sie in der Dokumentation.
Stellen Sie sicher, dass Folgendes installiert ist:
Schritt 1 : Installieren Sie das Paket
pip install quivr-core # Check that the installation worked
Schritt 2 : Erstellen Sie ein RAG mit 5 Codezeilen
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 )
Das Erstellen eines einfachen RAG-Workflows wie oben ist einfach. Hier sind die Schritte:
import os
os . environ [ "OPENAI_API_KEY" ] = "myopenai_apikey"
Quivr unterstützt APIs von Anthropic, OpenAI und Mistral. Es unterstützt auch lokale Modelle, die Ollama verwenden.
basic_rag_workflow.yaml
und kopieren Sie den folgenden Inhalt hinein 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 " # the name of the last node, from which we want to stream the answer to the user
edges : ["END"]
# Maximum number of previous conversation iterations
# to include in the context of the answer
max_history : 10
# 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
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 ()
Sie können mit Quivr noch weiter gehen, indem Sie eine Internetsuche, Tools usw. hinzufügen. Weitere Informationen finden Sie in der Dokumentation.
Der Dank geht an diese wunderbaren Menschen:
Hast du eine Pull-Anfrage erhalten? Öffnen Sie es und wir werden es so schnell wie möglich überprüfen. Schauen Sie sich hier unser Projektboard an, um zu sehen, worauf wir uns derzeit konzentrieren, und bringen Sie gerne Ihre frischen Ideen ein!
Dieses Projekt wäre ohne die Unterstützung unserer Partner nicht möglich. Vielen Dank für Ihre Unterstützung!
Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei