cleaned control file
Browse files- src/control.py +0 -49
src/control.py
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
import chromadb
|
2 |
-
|
3 |
-
import src.tools.retriever as rtrvr
|
4 |
-
import src.tools.llm as llm
|
5 |
-
from src.domain.doc import Doc
|
6 |
-
|
7 |
-
chroma_client = chromadb.Client()
|
8 |
-
|
9 |
-
plan_language = 'en'
|
10 |
-
content_language = 'en'
|
11 |
-
path_plan = '../data/business_trips_plan_until_9_en.docx'
|
12 |
-
path_content = '../data/business_trips_content_until_9_en.docx'
|
13 |
-
collection_name = "until_9"
|
14 |
-
|
15 |
-
doc_plan = Doc(path_plan)
|
16 |
-
doc_content = Doc(path_content)
|
17 |
-
collection_ = rtrvr.init_collections(chroma_client, doc_plan, doc_content, collection_name)
|
18 |
-
|
19 |
-
|
20 |
-
def get_response(query):
|
21 |
-
if plan_language == 'en':
|
22 |
-
query = llm.translate(query)
|
23 |
-
sources = rtrvr.similarity_search(collection=collection_, query=query)
|
24 |
-
sources = select_best_sources(sources)
|
25 |
-
sources_contents = [s['content'] for s in sources]
|
26 |
-
context = '\n'.join(sources_contents)
|
27 |
-
answer = llm.generate_paragraph(query=query, context=context, language=content_language)
|
28 |
-
if content_language == 'en':
|
29 |
-
answer = llm.translate(text=answer, language='fr')
|
30 |
-
return answer.lstrip(), sources
|
31 |
-
|
32 |
-
|
33 |
-
def select_best_sources(sources: [], delta_1_2=0.1, delta_1_n=0.25, absolute=1.1) -> []:
|
34 |
-
best_sources = []
|
35 |
-
for idx, s in enumerate(sources):
|
36 |
-
if idx == 0 \
|
37 |
-
or (s['distance_f'] - sources[idx - 1]['distance_f'] < delta_1_2
|
38 |
-
and s['distance_f'] - sources[0]['distance_f'] < delta_1_n) \
|
39 |
-
or s['distance_f'] < absolute:
|
40 |
-
best_sources.append(s)
|
41 |
-
return best_sources
|
42 |
-
|
43 |
-
|
44 |
-
q1 = "Comment sont remboursés mes frais kilométriques sur mes déplacements avec mon véhicule personnel?"
|
45 |
-
q2 = "Quels sont les moyens de transport recommandés par la société?"
|
46 |
-
q3 = "est-ce que mes billets de cinéma peuvent être remboursés?"
|
47 |
-
|
48 |
-
a2 = get_response(q3)
|
49 |
-
print(a2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|