يساعدك Quivr على بناء دماغك الثاني، ويستخدم قوة GeneativeAI ليكون مساعدك الشخصي!
نحن نعتني بـ RAG حتى تتمكن من التركيز على منتجك. ما عليك سوى تثبيت quivr-core وإضافته إلى مشروعك. يمكنك الآن استيعاب ملفاتك وطرح الأسئلة.*
سنقوم بتحسين RAG وإضافة المزيد من الميزات، ترقبوا ذلك!
هذا هو جوهر Quivr، وهو عقل Quivr.com.
يمكنك أن تجد كل شيء في الوثائق.
تأكد من تثبيت ما يلي:
الخطوة 1 : تثبيت الحزمة
pip install quivr-core # Check that the installation worked
الخطوة 2 : إنشاء RAG مع 5 أسطر من التعليمات البرمجية
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 أساسيًا مثل المذكور أعلاه أمرًا بسيطًا، وإليك الخطوات:
import os
os . environ [ "OPENAI_API_KEY" ] = "myopenai_apikey"
يدعم Quivr واجهات برمجة التطبيقات من Anthropic وOpenAI وMistral. كما أنه يدعم النماذج المحلية باستخدام Ollama.
basic_rag_workflow.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 " # 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 ()
يمكنك المضي قدمًا باستخدام Quivr عن طريق إضافة البحث على الإنترنت وإضافة الأدوات وما إلى ذلك. راجع الوثائق للحصول على مزيد من المعلومات.
الشكر موصول لهؤلاء الأشخاص الرائعين:
هل حصلت على طلب سحب؟ افتحه وسنقوم بمراجعته في أقرب وقت ممكن. قم بالاطلاع على لوحة المشروع الخاصة بنا هنا لمعرفة ما نركز عليه حاليًا، ولا تتردد في طرح أفكارك الجديدة على الطاولة!
هذا المشروع لن يكون ممكنا دون دعم شركائنا. شكرا لدعمكم!
تم ترخيص هذا المشروع بموجب ترخيص Apache 2.0 - راجع ملف الترخيص للحصول على التفاصيل