Spaces:
Configuration error
Configuration error
#endpointe ait model | |
import requests | |
from config import HUGGINGFACE_API_URL, HUGGINGFACE_API_KEY | |
from sentence_transformers import SentenceTransformer, util | |
from app.database import get_reference_data,connect_to_mongodb,insert_data_into_input_db | |
#input mongodb üzerindne çekilen veriler(kullanıcıdan alınan bilgilerin lamba üzerinden alınması gerekiyor, lamba fonksiyonu için dockerfile in gelişitirilmnesi atılması gerekiyor ) | |
#sentenceTransformer modeli | |
#endpointin de eklenmesi gerekir. | |
model = SentenceTransformer('paraphrase-MiniLM-L6-v2') | |
#reference mongodb den çekilen veriler | |
def process_user_input(user_input): | |
""" | |
Kullanıcıdan gelen input verileriyle referans verilerini karşılaştırır ve en benzer metinleri döndürür. | |
""" | |
# MongoDB'den referans verileri çek | |
reference_data = get_reference_data() | |
# Kullanıcıdan gelen veriler için dynamo | |
insert_data_into_input_db(user_input) | |
# Model ile benzerlik hesaplama işlemi yap | |
similarity_scores = [] | |
for reference_item in reference_data: | |
score = calculate_similarity(user_input["text"], reference_item["text"]) | |
if score > 0.5: # Benzerlik eşiği | |
similarity_scores.append({ | |
"reference_text": reference_item["text"], | |
"score": score | |
}) | |
#alınan verilerin karşılaştırılmasının yapılması (title,keywords,text) | |
"""burada öncelikle refenence database ile input database in çekilmesi gerekiyor """ | |
def calculate_similarity(text1, text2): | |
""" | |
İki metin arasındaki benzerlik oranını hesaplar. | |
""" | |
embedding1 = model.encode(text1, convert_to_tensor=True) | |
embedding2 = model.encode(text2, convert_to_tensor=True) | |
similarity_score = util.pytorch_cos_sim(embedding1, embedding2) | |
return similarity_score.item() | |
#benzerlik oranı belirlee (örneğin 0.5 in üzerinde yakaldığı benzerlikteki textler ve keywordler için yakalama) | |
"""def get_huggingface_prediction(input_data): #input_data'yı main.py ile entegre etmeliyim | |
headers = { | |
"Authorization": f"Bearer {HUGGINGFACE_API_KEY}" | |
} | |
payload = { | |
"inputs": input_data | |
} | |
response = requests.post(HUGGINGFACE_API_URL, headers=headers, json=payload) | |
return response.json()""" | |