Spaces:
Runtime error
Runtime error
from ragatouille import RAGPretrainedModel | |
import os | |
import gradio as gr | |
from unicodedata import normalize | |
path_to_index = 'colbert/indexes/ArColbertQuran' | |
message = "waiting to load index ..." | |
if os.path.exists(path_to_index): | |
RAG = RAGPretrainedModel.from_index(path_to_index) | |
message = "index loaded!" | |
print(message) | |
import gradio as gr | |
def process_results(results): | |
answer = "" | |
for r in results: | |
answer += f"Sura: {r['document_id']} ({r['document_metadata']}) \n Text:{r['content']}\n\n" | |
return answer | |
k = 3 # How many documents you want to retrieve | |
def answer_fn(query): | |
results = RAG.search(query= normalize('NFKC', query), k=k) | |
return process_results(results) | |
qapp = gr.Interface(fn=answer_fn, inputs="textbox", outputs="textbox", | |
examples=[ | |
"ما أهمية كتابة المعاملات؟", "أخبرني عن عذاب الله للمنافقين", "حسن معاملة الوالدين", "ما معجزات سيدنا عيسى", "ما هو التطفيف" | |
,"ما قصة المؤمنين الذين قتلوا في الحفرة؟", "ما آداب اﻻستئذان؟", "النبي الذي تربى في بيت حاكم مصر"], | |
title="Qur\'an Retrieval Demo - Semantic Search", | |
description="A basic demo based on Arabic ColBERT (250k queries, normalized) and simple text of the Qur\'an (also normalized). First query may take a minute, then much faster.\ | |
Try to include relevant terms - this is just retrieval, not LLM chat and Qur\'an is an edge case.\ | |
For details, see: https://www.linkedin.com/posts/akhooli_arabic-1-million-curated-triplets-dataset-activity-7222951839774699521-PZcw",) | |
if __name__ == "__main__": | |
qapp.launch() | |