Spaces:
Configuration error

File size: 2,301 Bytes
10d6a91
 
 
53f8a7d
 
83be3e4
53f8a7d
 
 
 
01ee75c
83be3e4
53f8a7d
 
 
 
 
 
83be3e4
53f8a7d
 
83be3e4
53f8a7d
 
 
 
 
 
 
 
 
83be3e4
 
53f8a7d
 
 
 
 
 
 
 
 
 
83be3e4
 
10d6a91
d81e2df
53f8a7d
10d6a91
 
 
 
 
 
 
 
53f8a7d
d81e2df
 
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#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()"""