Quivr, membantu Anda membangun otak kedua Anda, memanfaatkan kekuatan GenerativeAI untuk menjadi asisten pribadi Anda!
Kami mengurus RAG sehingga Anda dapat fokus pada produk Anda. Cukup instal quivr-core dan tambahkan ke proyek Anda. Anda sekarang dapat menyerap file Anda dan mengajukan pertanyaan.*
Kami akan meningkatkan RAG dan menambahkan lebih banyak fitur, pantau terus!
Inilah inti dari Quivr, otak dari Quivr.com.
Anda dapat menemukan semuanya di dokumentasi.
Pastikan Anda telah menginstal yang berikut ini:
Langkah 1 : Instal paketnya
pip install quivr-core # Check that the installation worked
Langkah 2 : Buat RAG dengan 5 baris kode
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 )
Membuat alur kerja RAG dasar seperti di atas sangatlah sederhana, berikut langkah-langkahnya:
import os
os . environ [ "OPENAI_API_KEY" ] = "myopenai_apikey"
Quivr mendukung API dari Anthropic, OpenAI, dan Mistral. Ini juga mendukung model lokal yang menggunakan Ollama.
basic_rag_workflow.yaml
dan salin konten berikut di dalamnya 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 ()
Anda dapat melangkah lebih jauh dengan Quivr dengan menambahkan pencarian internet, menambahkan alat, dll. Periksa dokumentasi untuk informasi lebih lanjut.
Terima kasih kepada orang-orang hebat ini:
Apakah Anda mendapat permintaan tarik? Buka, dan kami akan meninjaunya sesegera mungkin. Lihat papan proyek kami di sini untuk melihat apa yang saat ini kami fokuskan, dan jangan ragu untuk menyampaikan ide-ide segar Anda!
Proyek ini tidak akan terlaksana tanpa dukungan dari mitra kami. Terima kasih atas dukungan Anda!
Proyek ini dilisensikan di bawah Lisensi Apache 2.0 - lihat file LISENSI untuk detailnya