#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()"""