Upload 5 files
Browse files- .gitattributes +2 -0
- app.py +33 -0
- requirements.txt +5 -0
- thirukkural_data.pkl +3 -0
- thirukkural_english_index.faiss +3 -0
- thirukkural_tamil_index.faiss +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
thirukkural_english_index.faiss filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
thirukkural_tamil_index.faiss filter=lfs diff=lfs merge=lfs -text
|
app.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI, Query
|
| 2 |
+
from pydantic import BaseModel
|
| 3 |
+
import faiss
|
| 4 |
+
import pickle
|
| 5 |
+
import numpy as np
|
| 6 |
+
from sentence_transformers import SentenceTransformer
|
| 7 |
+
|
| 8 |
+
app = FastAPI()
|
| 9 |
+
|
| 10 |
+
# Load Sentence Transformer Model
|
| 11 |
+
model = SentenceTransformer("sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
|
| 12 |
+
|
| 13 |
+
# Load Data
|
| 14 |
+
with open("thirukkural_data.pkl", "rb") as f:
|
| 15 |
+
kural_data = pickle.load(f)
|
| 16 |
+
|
| 17 |
+
# Load FAISS indexes
|
| 18 |
+
english_index = faiss.read_index("thirukkural_english_index.faiss")
|
| 19 |
+
tamil_index = faiss.read_index("thirukkural_tamil_index.faiss")
|
| 20 |
+
|
| 21 |
+
class QueryRequest(BaseModel):
|
| 22 |
+
query: str
|
| 23 |
+
lang: str # "ta" or "en"
|
| 24 |
+
top_k: int = 3
|
| 25 |
+
|
| 26 |
+
@app.post("/search/")
|
| 27 |
+
def search_kural(req: QueryRequest):
|
| 28 |
+
emb = model.encode([req.query])
|
| 29 |
+
index = tamil_index if req.lang == "ta" else english_index
|
| 30 |
+
D, I = index.search(np.array(emb).astype("float32"), req.top_k)
|
| 31 |
+
|
| 32 |
+
results = [kural_data[i] for i in I[0]]
|
| 33 |
+
return {"results": results}
|
requirements.txt
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
fastapi
|
| 2 |
+
uvicorn
|
| 3 |
+
sentence-transformers
|
| 4 |
+
faiss-cpu
|
| 5 |
+
numpy
|
thirukkural_data.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:020c5183553e412dc4fd9d078ab7658845d228757a1cc4aeabbff27f03080e96
|
| 3 |
+
size 6408821
|
thirukkural_english_index.faiss
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fd8553f27be00ba4fd89983f7b3e470299bfe7e314d25ba245a9b7844a60bf23
|
| 3 |
+
size 4085805
|
thirukkural_tamil_index.faiss
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9a4d766ab42db8b788a1c54b661cdab75644e912ad1c63357e200729894ff73c
|
| 3 |
+
size 4085805
|