LlamaIndex - Artículo 2 (QA y evaluación)
Un ejemplo de nivel de producción
Qa
Caso del usuario:
¿Qué?
- consulta semántica (búsqueda semántica/top K)
- Resumen
Donde
- Over documents
- Building a multi-document agent over the LlamaIndex docs
- sobre datos estructurados (por ejemplo, JSON)
- Buscando mesas de Pandas
- Texto a SQL
¿Cómo?
Todos los enlaces arriba apuntan a: Patrones de Qantia abajo
Uno de los más simples 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)
Seleccione una fuente de datos diferente (Route Datasource)
Comparar/contrastar consultas
No entiendo esto.
Además de los flujos explícitos de síntesis/enrutamiento descritos anteriormente, LlamaIndex también puede soportar consultas multi-documentos más generales. Puede hacerlo a través de nuestra clase "SubQuestionQueryEngine". Dada una consulta, este motor de consulta generará un "plan de consulta" que contiene sub - consultas contra sub - documentos antes de sintetizar la respuesta final.
Este motor de consulta puede ejecutar cualquier número de sub - consultas contra cualquier subconjunto de herramientas de motor de consulta antes de sintetizar la respuesta final. Esto lo hace especialmente bien - adecuado para comparar/contrastar consultas entre documentos, así como consultas relativas a un documento específico.
LlamaIndex también puede soportar consultas multi-step iterativas. Dada una pregunta compleja, dividirla en una subpregunta inicial, y generar sub-preguntas secuencialmente sobre la base de respuestas devueltas hasta que la respuesta final sea devuelta.
Por ejemplo, dada una pregunta "quién estaba en el primer lote del programa acelerador iniciado por el autor", el módulo primero descomponerá la consulta en una pregunta inicial más simple "¿Cuál fue el programa acelerador que el autor inició?", consultará el índice, y luego hará preguntas de seguimiento.
Eval.
- Evaluar la respuesta
- Búsqueda de evaluación
- Evaluar la respuesta
- Usar GPT - 4 para evaluar
- Dimensiones de la evaluación
- Respuestas generadas y respuestas de referencia: corrección y similitud semántica
- La respuesta generada es idéntica a los contextos recuperados:** Fidelidad**
- La respuesta generada es la misma que la pregunta: Relevancia de la respuesta
- Contextos recuperados y consulta:Relevancia contextual
- Generar respuestas de referencia
- Búsqueda de evaluación (recuperación)
- Cómo evaluar: Clasificación de las métricas como media - rango recíproco (MRR), HIT - tasa, precisión, y mucho más.
Usar ejemplo
Integrar en otras herramientas
- UpTrain: 1.9K:可试用,但是需要book demo,目测不便宜
- Tonic Validate(Includes Web UI for visualizing results):有商业版本,可试用,之后200美元/月
- DeepEval: 1.6K
- Ragas: 4.4K
- Se siente bien.
- Llamaindex - Ragas - LangSmith y otras herramientas
- Sin embargo, si el inicio rápido falla en ejecutarse, indica "ModuleNotFoundError: ningún módulo llamado 'ragas.metrics'; 'ragas' no es un paquete".