Ilyas KHIAT commited on
Commit
9c41670
·
1 Parent(s): 310802d

delete docs

Browse files
Files changed (3) hide show
  1. main.py +5 -3
  2. prompts.py +1 -1
  3. 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 = "No context found"
167
 
168
  if user_input.style_tonality is None:
169
- answer = generate_response_via_langchain(prompt, model="gpt-4o",stream=user_input.stream,context = context , messages=user_input.messages)
 
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,prompt), media_type="application/json")
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 {entreprise}, sachant le context des documents suivants, {context}, et l'historique de la conversation, {messages}, {query}"
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="formal",tonality:str="neutral",template: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
+