sign / app.py
mkfallah's picture
Upload 3 files
5798c9b verified
import gradio as gr
from sentence_transformers import SentenceTransformer, util
import os
# Load data
with open("data/handshape_book.txt", encoding="utf-8") as f:
book_text = f.read()
# Split into chunks
chunks = [chunk.strip() for chunk in book_text.split('\n\n') if len(chunk.strip()) > 100]
# Create embeddings
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
corpus_embeddings = model.encode(chunks, convert_to_tensor=True)
# Search function
def ask_question(question):
question_embedding = model.encode(question, convert_to_tensor=True)
hits = util.semantic_search(question_embedding, corpus_embeddings, top_k=3)[0]
results = "\n\n---\n\n".join([chunks[hit['corpus_id']] for hit in hits])
return results
# Gradio UI
iface = gr.Interface(fn=ask_question,
inputs=gr.Textbox(lines=2, placeholder="Ask about handshapes..."),
outputs="text",
title="ASL Handshape RAG",
description="Semantic search over American Sign Language Handshape Dictionary.")
iface.launch()