File size: 1,857 Bytes
1f05644
 
 
c97a50e
8a495ab
 
c97a50e
a95c4ad
08096d0
 
 
 
 
a95c4ad
08096d0
1f05644
 
c97a50e
1f05644
 
 
a95c4ad
 
 
 
 
 
 
c97a50e
a95c4ad
c97a50e
1f05644
4c02ba8
 
be240c1
08096d0
be240c1
08096d0
 
 
be240c1
08096d0
c97a50e
 
 
08096d0
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
from src.services.utils import *
from src.services.processor import *

dataset = load_data()


def process_input(data, dataset, data_type):
    print(data)
    if data_type == "problem":
        prompt = set_prompt(data.problem)
        constraints = retrieve_constraints(prompt)
    
    elif data_type == "constraints":
        constraints = data.constraints
        
    constraints_stemmed = stem(constraints, "constraints")
    
    result_similarities, matrix = get_contrastive_similarities(constraints_stemmed, dataset)
    
    save_to_pickle(result_similarities)
    
    if data.forced_technologies:
        forced_technologies = search_technology_by_name(data.forced_technologies, dataset)
        res,forced_matrix = get_contrastive_similarities(constraints_stemmed, dataset)
        forced_combination = find_best_list_combinations(constraints_stemmed, forced_technologies, forced_matrix)
    else:
        forced_combination = []

    best_combinations = find_best_list_combinations(constraints_stemmed, dataset, matrix)
    best_technologies_id = select_technologies(best_combinations, forced_combination)
    best_technologies = get_technologies_by_id(best_technologies_id, dataset)
    
    return best_technologies

def process_prior_art(technologies, data, data_type, techno_type):
    try:
        prior_art_reponse = search_prior_art(technologies, data, data_type, techno_type)
        prior_art_search = add_citations_and_collect_uris(prior_art_reponse)
    except Exception as e:
        print(f"An error occured during the process, trying again : {e}")
        prior_art_reponse = search_prior_art(technologies, data, data_type, techno_type)
        prior_art_search = add_citations_and_collect_uris(prior_art_reponse)
    print("PRIOR ART SEARCH")
    print(prior_art_reponse)
    print(prior_art_search)
    return prior_art_search