dragon-yi-6b-v0 / generation_test_llmware_script.py
doberst's picture
Upload generation_test_llmware_script.py
613e604
from llmware.prompts import Prompt
def load_rag_benchmark_tester_ds():
# pull 200 question rag benchmark test dataset from LLMWare HuggingFace repo
from datasets import load_dataset
ds_name = "llmware/rag_instruct_benchmark_tester"
dataset = load_dataset(ds_name)
print("update: loading RAG Benchmark test dataset - ", dataset)
test_set = []
for i, samples in enumerate(dataset["train"]):
test_set.append(samples)
# to view test set samples
# print("rag benchmark dataset test samples: ", i, samples)
return test_set
def run_test(model_name, prompt_list):
print("\nupdate: Starting RAG Benchmark Inference Test - ", model_name)
# pull DRAGON / BLING model directly from catalog, e.g., no from_hf=True
prompter = Prompt().load_model(model_name)
for i, entries in enumerate(prompt_list):
prompt = entries["query"]
context = entries["context"]
response = prompter.prompt_main(prompt,context=context,prompt_name="default_with_context", temperature=0.3)
print("\nupdate: model inference output - ", i, response["llm_response"])
print("update: gold_answer - ", i, entries["answer"])
fc = prompter.evidence_check_numbers(response)
sc = prompter.evidence_comparison_stats(response)
sr = prompter.evidence_check_sources(response)
print("\nFact-Checking Tools")
for entries in fc:
for f, facts in enumerate(entries["fact_check"]):
print("update: fact check - ", f, facts)
for entries in sc:
print("update: comparison stats - ", entries["comparison_stats"])
for entries in sr:
for s, sources in enumerate(entries["source_review"]):
print("update: sources - ", s, sources)
return 0
if __name__ == "__main__":
core_test_set = load_rag_benchmark_tester_ds()
# one of the 7 gpu dragon models
gpu_model_name = "llmware/dragon-yi-6b-v0"
output = run_test(gpu_model_name, core_test_set)