LlamaIndex - articolo 2 (QA e valutazione)
Un esempio di livello di produzione
QaQFontDatabase
Caso utente:
Cosa
- query semantica (* * ricerca semantica * * / TOP K)
- Riepilogo
Dove #
- Over documents
- Building a multi-document agent over the LlamaIndex docs
- su dati strutturati (ad esempio JSON)
- Ricerca tavoli Pandas
- Testo a SQL
Come #
Tutti i link di cui sopra punto a: Qantia Patterns qui sotto
Una delle più semplici QroomA
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)
Selezionare una fonte di dati diversa (Route Datasource)
Confrontare / Contrasto query
Questo non lo capisco.
Oltre ai flussi di sintesi / routing espliciti sopra descritti, LlamaIndex può supportare anche domande multi-documenti più generali. Può farlo attraverso la nostra classe SubQuestionQueryEngineŸ. Data una query, questo motore di query genererà un "piano di query" contenente sub - query contro sub - documenti prima di sintetizzare la risposta finale.
Questo motore di query può eseguire qualsiasi numero di sub-quere contro qualsiasi sottoinsieme di strumenti motore di query prima di sintetizzare la risposta finale. Questo lo rende particolarmente bene - adatto per confrontare / contrastare le domande in tutti i documenti, così come le domande relative ad un documento specifico.
LlamaIndex può anche supportare le domande iterative multi-step. Data una query complessa, suddividerla in una sottodomanda iniziale, e generare sequenzialmente sottodomande in base alle risposte restituite fino a quando la risposta finale viene restituita.
Per esempio, data una domanda "Chi era nel primo lotto del programma di acceleratore avviato dall'autore", il modulo decomporrà prima la query in una domanda iniziale più semplice "Qual era il programma di acceleratore avviato dall'autore?", interrogare l'indice, e poi fare domande di followup.
Eval
- Valutare la risposta
- Ricerca di valutazione
- Valutare la risposta
- Utilizzare GPT - 4 per valutare
- Dimensioni di valutazione
- Risposte generate e risposte di riferimento: correttezza e somiglianza semantica
- La risposta generata è identica ai contesti recuperati: * * Fedeltà * *
- La risposta generata è la stessa della query: risposta pertinente
- contesti recuperati e query: * * Rilevanza del contesto * *
- Generare risposte di riferimento
- Ricerca di valutazione (Retrieval)
- Come valutare: classificare metriche come Mean - rango reciproco (MRR), hit - tasso, precisione, e altro ancora.
Utilizzare l'esempio
Integrare in altri strumenti
- UpTrain: 1.9K:可试用,但是需要book demo,目测不便宜
- Tonic Validate(Includes Web UI for visualizing results):有商业版本,可试用,之后200美元/月
- DeepEval: 1.6K
- Ragas: 4.4K
- E 'una bella sensazione.
- Llamaindex - - > Ragas - - > LangSmith e altri strumenti
- Tuttavia, se l'avvio rapido non riesce a funzionare, richiede ModuleNotFoundError: nessun modulo chiamato 'ragas.metrics'; 'ragas' non è un pacchetto.