Spaces:
Runtime error
Runtime error
File size: 1,452 Bytes
faa82c9 c90b40e 6a5866e c90b40e faa82c9 6a5866e b82ee60 6a5866e c90b40e 6a5866e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
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 |