Spaces:
Sleeping
Sleeping
Ilyas KHIAT
commited on
Commit
·
9c41670
1
Parent(s):
310802d
delete docs
Browse files- main.py +5 -3
- prompts.py +1 -1
- rag.py +16 -9
main.py
CHANGED
@@ -163,15 +163,17 @@ def generate_answer(user_input: UserInput):
|
|
163 |
#final_prompt_simplified = prompt_formatting(prompt,template,context)
|
164 |
|
165 |
if not context:
|
166 |
-
context = "
|
167 |
|
168 |
if user_input.style_tonality is None:
|
169 |
-
|
|
|
170 |
else:
|
|
|
171 |
answer = generate_response_via_langchain(prompt, model="gpt-4o",stream=user_input.stream,context = context , messages=user_input.messages,style=user_input.style_tonality.style,tonality=user_input.style_tonality.tonality,template=template_prompt)
|
172 |
|
173 |
if user_input.stream:
|
174 |
-
return StreamingResponse(stream_generator(answer,
|
175 |
|
176 |
return {
|
177 |
"prompt": prompt,
|
|
|
163 |
#final_prompt_simplified = prompt_formatting(prompt,template,context)
|
164 |
|
165 |
if not context:
|
166 |
+
context = ""
|
167 |
|
168 |
if user_input.style_tonality is None:
|
169 |
+
prompt_formated = prompt_reformatting(template_prompt,context,prompt)
|
170 |
+
answer = generate_response_via_langchain(prompt, model="gpt-4o",stream=user_input.stream,context = context , messages=user_input.messages,template=template_prompt)
|
171 |
else:
|
172 |
+
prompt_formated = prompt_reformatting(template_prompt,context,prompt,style=user_input.style_tonality.style,tonality=user_input.style_tonality.tonality)
|
173 |
answer = generate_response_via_langchain(prompt, model="gpt-4o",stream=user_input.stream,context = context , messages=user_input.messages,style=user_input.style_tonality.style,tonality=user_input.style_tonality.tonality,template=template_prompt)
|
174 |
|
175 |
if user_input.stream:
|
176 |
+
return StreamingResponse(stream_generator(answer,prompt_formated), media_type="application/json")
|
177 |
|
178 |
return {
|
179 |
"prompt": prompt,
|
prompts.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
base_template = "Vous êtes un spécialiste de la communication marketing responsable avec une expertise en stratégie de communication numérique, en gestion des médias sociaux, en création de contenu, en notoriété de la marque et en engagement communautaire, réponds avec un style {style} et une tonalité {tonality} dans ta communcation pour l'entreprise
|
2 |
|
|
|
1 |
+
base_template = "Vous êtes un spécialiste de la communication marketing responsable avec une expertise en stratégie de communication numérique, en gestion des médias sociaux, en création de contenu, en notoriété de la marque et en engagement communautaire, réponds avec un style {style} et une tonalité {tonality} dans ta communcation pour l'entreprise , sachant le context des documents suivants {context}, et l'historique de la conversation {messages}, {query}"
|
2 |
|
rag.py
CHANGED
@@ -97,16 +97,8 @@ def get_retreive_answer(enterprise_id,prompt,index,common_id):
|
|
97 |
print(e)
|
98 |
return False
|
99 |
|
100 |
-
def reformat_prompt(prompt,enterprise_name,context,messages,query):
|
101 |
-
docs_names = []
|
102 |
-
for chunk in context:
|
103 |
-
chunk_name = chunk["metadata"]["filename"]
|
104 |
-
if chunk_name not in docs_names:
|
105 |
-
docs_names.append(chunk_name)
|
106 |
-
context = ", ".join(docs_names)
|
107 |
-
return prompt.format(entreprise=enterprise_name,context=context,messages=messages,query=query)
|
108 |
|
109 |
-
def generate_response_via_langchain(query: str, stream: bool = False, model: str = "gpt-4o-mini",context:str="",messages = [],style:str="
|
110 |
# Define the prompt template
|
111 |
if template == "":
|
112 |
template = "En tant qu'IA experte en marketing, réponds avec un style {style} et une tonalité {tonality} dans ta communcation, sachant le context suivant: {context}, et l'historique de la conversation, {messages}, {query}"
|
@@ -143,3 +135,18 @@ def setup_rag(file_type,content):
|
|
143 |
return vectorstore
|
144 |
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
print(e)
|
98 |
return False
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
+
def generate_response_via_langchain(query: str, stream: bool = False, model: str = "gpt-4o-mini",context:str="",messages = [],style:str="formel",tonality:str="neutre",template:str = ""):
|
102 |
# Define the prompt template
|
103 |
if template == "":
|
104 |
template = "En tant qu'IA experte en marketing, réponds avec un style {style} et une tonalité {tonality} dans ta communcation, sachant le context suivant: {context}, et l'historique de la conversation, {messages}, {query}"
|
|
|
135 |
return vectorstore
|
136 |
|
137 |
|
138 |
+
def prompt_reformatting(prompt:str,context,query:str,style="formel",tonality="neutre"):
|
139 |
+
if context == "":
|
140 |
+
return prompt.format(context="Pas de contexte pertinent",messages="",query=query,style=style,tonality=tonality)
|
141 |
+
|
142 |
+
docs_names = []
|
143 |
+
for chunk in context:
|
144 |
+
chunk_name = chunk.metadata["filename"]
|
145 |
+
if chunk_name not in docs_names:
|
146 |
+
docs_names.append(chunk_name)
|
147 |
+
context = ", ".join(docs_names)
|
148 |
+
|
149 |
+
prompt = prompt.format(context=context,messages="",query=query,style=style,tonality=tonality)
|
150 |
+
return prompt
|
151 |
+
|
152 |
+
|