Quivr은 두 번째 두뇌를 구축하는 데 도움을 주며 GenerativeAI의 기능을 활용하여 개인 비서가 됩니다!
귀하가 제품에 집중할 수 있도록 RAG를 관리해 드립니다. quivr-core를 설치하고 프로젝트에 추가하기만 하면 됩니다. 이제 파일을 수집하고 질문할 수 있습니다.*
우리는 RAG를 개선하고 더 많은 기능을 추가할 예정입니다. 계속 지켜봐 주시기 바랍니다!
이것이 Quivr.com의 두뇌인 Quivr의 핵심입니다.
문서에서 모든 것을 찾을 수 있습니다.
다음이 설치되어 있는지 확인하십시오.
1단계 : 패키지 설치
pip install quivr-core # Check that the installation worked
2단계 : 5줄의 코드로 RAG 만들기
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의 API를 지원합니다. 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 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.