Spaces:
Runtime error
Runtime error
from sentence_transformers import SentenceTransformer | |
from transformers import AutoTokenizer, AutoModelForCausalLM | |
import faiss | |
import numpy as np | |
from typing import List, Dict | |
class ArabicRAGSystem: | |
def __init__(self): | |
"""Initialize with dependency-safe models""" | |
# Verified working embedding model | |
self.embedding_model = SentenceTransformer( | |
"sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2", | |
device="cpu" | |
) | |
# Load Arabic LLM with safe tokenizer settings | |
self.tokenizer = AutoTokenizer.from_pretrained( | |
"aubmindlab/aragpt2-base", | |
use_safetensors=True | |
) | |
self.llm = AutoModelForCausalLM.from_pretrained( | |
"aubmindlab/aragpt2-base", | |
use_safetensors=True, | |
device_map="auto", | |
torch_dtype="auto" | |
) | |
self.index = faiss.IndexFlatL2(384) # Matching embedding dim | |
def generate_answer(self, question: str, documents: List[Dict], | |
top_k: int = 3, temperature: float = 0.7) -> tuple: | |
"""Optimized generation with memory safety""" | |
# Convert documents to embeddings | |
texts = [doc["text"] for doc in documents] | |
embeddings = self.embedding_model.encode(texts, convert_to_numpy=True) | |
self.index.add(embeddings) | |
# Semantic search | |
query_embedding = self.embedding_model |