-
Notifications
You must be signed in to change notification settings - Fork 797
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sequence[string] #1844
Comments
@dosue |
@dosu |
RAGAS version 0.1.7 expects the context input to be in the format of a This is a bit tricky, @jjmachan, could you lend your expertise on whether RAGAS specifically requires a flattened format for the context? To continue talking to Dosu, mention @dosu. Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other |
This issue seems related to #1807. To assist you more effectively, I’ve replicated your described data format in the same development environment (RAGAS version 0.1.7), and everything appears to work fine on my end. However, to expedite troubleshooting and ensure we can address your specific issue accurately, it would be extremely helpful if you could share a portion of your dataset or provide the full code you used. from ragas import evaluate
import datasets
from ragas.metrics import (
answer_relevancy,
faithfulness,
context_recall,
context_precision,
)
sample = {
"contexts": [["context1_chunk1", "context1_chunk2"], ["context2_chunk1"]],
"question": ["question1", "question2"],
"answer": ["answer1", "answer2"]
}
dt = datasets.Dataset.from_dict(a)
result = evaluate(
dt,
metrics=[
faithfulness,
answer_relevancy,
],
)
| | contexts | question | answer | faithfulness | answer_relevancy |
|---|------------------------------------|------------|----------|--------------|------------------|
| 1 | [context1_chunk1, context1_chunk2] | question1 | answer1 | NaN | 0.859496 |
| 2 | [context2_chunk1] | question2 | answer2 | NaN | 0.000000 | |
@hundredeuk2 the full code: import json import numpy as np from langchain_core.outputs import LLMResult, Generation from ragas.llms.prompt import PromptValue current_script_path = Path(file).resolve() Load the ground truth datafile_path= os.path.join('src','assets','GT.json') Load the question and the answer and the chunksfile_path= os.path.join('src','assets','user_llm_interaction_embeddings_c1521dd5_b819_4241_b3a4_3e5c1388037c.json') #creating a dataset of str type Iterate through each dictionary in your data#for item in ground_truth_data: Check the length of context to see if anything was appended#print(f"Number of context entries extracted: {len(context)}") Iterate through each dictionary in your datafor item in llm: Check the length of context to see if anything was appended""" print(f"Number of context entries extracted: {len(context)}") """ Replace the IDs with the corresponding contentchunk_embeddings = [] for sublist in context: Initialize empty lists for datasetnew_ragas_dataset = { Assuming question, context, and answer lists are already availablefor i in range(len(question)):
Print to verify the format#print(f"Dataset length: {len(new_ragas_dataset['question'])}") Initialize an empty list to hold the new datasetdata_set = [] Iterate through the list and combine every two dictionariesfor i in range(0, len(llm), 2): #for j in llm: #def map_chunks(data_set, ground_truth_data):
#data_set = map_chunks(data_set, ground_truth_data) Assuming data_set is a list of dictionariesragas_data = [ Create the required structure that structures the data for the Hugging Face Dataset creation.formatted_data = { Define the column_map to match custom columns to expected onescolumn_map = { Create a Dataset using the Hugging Face
|
@hundredeuk2 |
While reviewing the evaluation process, it appears that the variable This suggests there might be an issue with retrieving or processing the documents during the refinement stage. It would be helpful to double-check if something is being missed or mishandled in that step. Additionally, since the print(new_ragas_dataset)
{'question': ['Quali sono gli errori del macchinario futura, riguardanti la tensione a 3V?',
"La macchina futura prevede qualche specifica per la conduttività dell'acqua?",
'Quali sono gli errori che mi segnalano questi problemi?'],
'contexts': [[], [], []],
'answer': ['Gli errori riguardanti la tensione a 3V per il macchinario Futura sono i seguenti:\n\n1. **E306**: Tensione 3.3V sotto il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda idrico\n\n2. **E307**: Tensione 3.3V interno sopra il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda idrico\n\n3. **E716**: Tensione 3.3V sotto il limite\n - Verificare connessioni in uscita\n - Sostituire scheda base tavoletta\n\n4. **E717**: Tensione 3.3V interno sopra il limite\n - Verificare connessioni in uscita\n - Sostituire scheda base tavoletta\n\n5. **E449**: Tensione 3.3V sotto il limite\n - Verificare i collegamenti in uscita\n - Sostituire la scheda poltrona\n\n6. **E450**: Tensione 3.3V interno sopra il limite\n - Verificare i collegamenti in uscita\n - Sostituire la scheda poltrona\n\n7. **E116**: Tensione 3.3V sotto il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda base tavoletta medico\n\n8. **E117**: Tensione 3.3V interno sopra il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda base tavoletta medico\n\n9. **E224**: Tensione 3.3V sotto il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda idrico\n\n10. **E225**: Tensione 3.3V interno sopra il limite\n - Verificare le connessioni in uscita\n - Sostituire la scheda idrico',
"Sì, la macchina Futura prevede specifiche precise per la conduttività dell'acqua utilizzata.\n\nEcco i punti salienti relativi alla conduttività dell'acqua:\n\n1. **Conduttività Massima:** L'acqua demineralizzata distillata utilizzata per l'alimentazione della sterilizzatrice dovrebbe avere una **conduttività inferiore a 15 μS/cm**.\n2. **Sensore di Conduttività:** La sterilizzatrice è dotata di un sensore di conduttività che verifica automaticamente la qualità dell'acqua trattata dal filtro demineralizzatore integrato.\n3. **Allarme Conduttività:** Se i valori di conduttività superano i 20 μS/cm, un allarme segnalerà la necessità di procedere alla sostituzione della cartuccia di resina a scambio ionico.\n4. **Rapporto Ciclo:** La misura di conducibilità dell’acqua viene effettuata automaticamente ad ogni avvio del ciclo di sterilizzazione o di test e il valore relativo è riportato sul rapporto ciclo.\n\nL'utilizzo di acqua con conduttività superiore ai limiti indicati può causare danni al macchinario e compromettere l'efficacia della sterilizzazione, incrementando anche il rischio di ossidazione e la formazione di residui calcarei.",
"Gli errori che possono segnalare problemi relativi alla conduttività dell'acqua sono generalmente associati a malfunzionamenti del sistema idrico o delle sonde di livello. Tuttavia, in base ai documenti forniti, non sembra esserci un errore specifico che segnali direttamente un problema di conduttività dell'acqua. Gli errori che potrebbero indirettamente indicare problemi legati alla qualità dell'acqua o alla conduttività sono:\n\n1. **W64**: **Manca H₂O, riempire serbatoio 2**\n - Azioni: Riempire il serbatoio H₂O₂, verificare la scheda igiene, verificare la sonda di livello.\n\n2. **W212**: **Serbatoio disinfettante pieno**\n - Possibile implicazione di conduttività alta se il serbatoio pieno impedisce il normale funzionamento.\n\n3. **E55**: **S1 livello sonde incongruente Max = on Min = off**\n - Incongruenza sonde serbatoio 1 W.H.E.: Verificare lo stato della scheda igiene, verificare le sonde, verificare lo stato dei led della scheda igiene.\n\n4. **E57**: **S2 Livello sonde incongruente Max = on Min = off**\n - Incongruenza sonde serbatoio 2 del sistema W.H.E.: Verificare lo stato della scheda igiene, verificare le sonde, verificare lo stato dei led della scheda igiene.\n\n5. **E60**: **Durante il funzionamento normale del riunito, lettura di sonda di FULL coperta**\n - Tentare la procedura di svuotamento del sistema W.H.E.. Verificare la presenza di trafilamenti acqua nel sistema W.H.E..\n\n6. **E67**: **Anomalia della sonda di massimo serbatoio 1**\n - Serbatoio 1 eliminato per sonda STOP attiva: Verificare l'ingresso acqua al sistema W.H.E., verificare le sonde del serbatoio W.H.E.\n\n7. **E68**: **Anomalia della sonda di massimo serbatoio 2**\n - Serbatoio 2 eliminato per sonda STOP attiva: Verificare l'ingresso acqua al sistema W.H.E., verificare le sonde del serbatoio W.H.E.\n\nIn caso emerga uno di questi errori, potrebbe essere utile controllare anche la qualità dell'acqua utilizzata per assicurarsi che rientri nei parametri specificati di conduttività per evitare ulteriori problemi di funzionamento del macchinario Futura."]} |
does RAGAS specifically require a flattened format for the context?
or Do you think this format is ok? Sequence[string]
I am working with version 0.1.7
The text was updated successfully, but these errors were encountered: