LlamaIndex- article 2 (assurance qualité et évaluation)
Un exemple de niveau de production
QA
Cas d'utilisation & # 160;:
-
- quoi *
-Query sémantique (* * Semantic Search * * / Top K) -Récapitulatif
-
- où * *
- Over documents
- Building a multi-document agent over the LlamaIndex docs -Over données structurées (par exemple JSON) -fouiller des tables de pandas -Text vers SQL
-
- comment? *
tous les liens ci-dessus pointent vers: modèles Qantia ci-dessous
L'un des QroomA les plus simples
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)
Sélectionnez une autre source de données (route Datasource)
Comparer / contraster les requêtes
Je ne comprends pas.
Outre les flux explicites de synthèse / routage décrits ci-dessus, LlamaIndex peut également prendre en charge des requêtes multi-documents plus générales. Il peut le faire via notre classe `SubQuestionQueryEngine'. étant donné une requête, ce moteur de requête va générer un "plan de requête" contenant des sous-requêtes contre des sous-documents avant de synthétiser la réponse finale.
Ce moteur de requête peut exécuter n'importe quel nombre de sous-requêtes contre n'importe quel sous-ensemble d'outils de moteur de requête avant de synthétiser la réponse finale. Cela le rend particulièrement bien adapté pour les requêtes de comparaison / contraste entre les documents ainsi que les requêtes relatives à un document spécifique.
LlamaIndex peut également prendre en charge les requêtes itératives en plusieurs étapes. Compte tenu d'une requête complexe, la décomposer en sous-questions initiales, et générer séquentiellement des sous-questions basées sur les réponses retournées jusqu'à ce que la réponse finale soit retournée.
Par exemple, compte tenu d'une question « qui était dans le premier lot du programme d'accélérateur que l'auteur a commencé », le module va d'abord décomposer la requête en une question initiale plus simple « quel était le programme d'accélérateur que l'auteur a commencé? », interroger l'index, puis poser des questions de suivi.
Eval
-Evaluer la réponse -recherche d'évaluation
-Evaluer la réponse Utiliser GPT-4 pour évaluer -dimensions de l'évaluation Réponses générées et réponses de référence: exactitude et similarité sémantique La réponse générée est identique aux contextes récupérés: * * fidélité * * -la réponse générée est la même que query: answer pertinence -Contexts récupérés et requête: * * pertinence du contexte * * -générer des réponses de référence -recherche d'évaluation (extraction) Comment évaluer: les métriques de classement comme le rang moyen réciproque (MRR), le taux de hit-rate, la précision et plus encore.
Exemple d'utilisation
Intégrer dans d'autres outils
- UpTrain: 1.9K:可试用,但是需要book demo,目测不便宜
- Tonic Validate(Includes Web UI for visualizing results):有商业版本,可试用,之后200美元/月
- DeepEval: 1.6K
- Ragas: 4.4K -ça fait du bien. Llamaindex-- > Ragas-- > LangSmith et autres outils -Toutefois, si le démarrage rapide ne s'exécute pas, il invite `ModuleNotFoundError: aucun module nommé 'ragas.metrics'; 'ragas' n'est pas un paquet '.