bambadij commited on
Commit
0c6e16f
·
verified ·
1 Parent(s): a659c17
Files changed (1) hide show
  1. app.py +35 -20
app.py CHANGED
@@ -74,7 +74,28 @@ instructions_par_defaut = (
74
  "4. Toute action supplémentaire ou recommandation nécessaire."
75
  )
76
  DEFAULT_PROMPT1 = "Résumez la plainte suivante en 5 phrases concises, en vous concentrant sur les faits principaux ,Rajoutes les informations relatives au Client pour être précis sur la connaissance de ce dernier,Rajoutes des éléments de dates (remontée, transfert, prise en charge, résolution, clôture, etc…) ainsi que les délais (par exemple de réponse des différents acteurs ou experts de la chaine de traitement) pour mieux apprécier l'efficacité du traitement de la plainte,Rajoutes à la fin une recommandation importante afin d'éviter le mécontentement du Client par exemple pour éviter qu’une Plainte ne soit clôturée sans solution pour le Client notamment et à titre illustratif seulement dans certains cas pour un Client qui a payé pour un service,fais comme si tu parlais à un humain et ne l'a pas obtenu,et en évitant toute introduction générique comme la répétiton du prompt : "
 
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  app.add_middleware(
79
  CORSMiddleware,
80
  allow_origins=origins,
@@ -111,31 +132,25 @@ async def generate_text(request: RequestModel):
111
  generated_text += chunk.choices[0].delta.content
112
 
113
  return {"summary_text_2": generated_text}
 
114
  @app.post("/generate2/")
115
- async def generate_text(request: RequestModel):
116
- # Créer la requête pour l'API NVIDIA
117
- completion = client.chat.completions.create(
118
- model="meta/llama-3.1-8b-instruct",
119
- messages=[{"role": "user", "content": default_prompt + request.text}],
120
- temperature=0.2,
121
- top_p=0.9,
122
- # max_tokens=1024,
123
- stream=True
124
- )
125
-
126
- generated_text = ""
127
- for chunk in completion:
128
- if chunk.choices[0].delta.content is not None:
129
- generated_text += chunk.choices[0].delta.content
130
 
131
- return {"summary_text_2": generated_text}
 
 
 
132
 
133
- @app.post("/generate3/")
134
- async def generate_text(request: RequestModel):
135
- # Créer la requête pour l'API NVIDIA
136
  completion = client.chat.completions.create(
137
  model="meta/llama-3.1-8b-instruct",
138
- messages=[{"role": "user", "content": instructions_par_defaut + request.text}],
139
  temperature=0.2,
140
  top_p=0.9,
141
  # max_tokens=1024,
 
74
  "4. Toute action supplémentaire ou recommandation nécessaire."
75
  )
76
  DEFAULT_PROMPT1 = "Résumez la plainte suivante en 5 phrases concises, en vous concentrant sur les faits principaux ,Rajoutes les informations relatives au Client pour être précis sur la connaissance de ce dernier,Rajoutes des éléments de dates (remontée, transfert, prise en charge, résolution, clôture, etc…) ainsi que les délais (par exemple de réponse des différents acteurs ou experts de la chaine de traitement) pour mieux apprécier l'efficacité du traitement de la plainte,Rajoutes à la fin une recommandation importante afin d'éviter le mécontentement du Client par exemple pour éviter qu’une Plainte ne soit clôturée sans solution pour le Client notamment et à titre illustratif seulement dans certains cas pour un Client qui a payé pour un service,fais comme si tu parlais à un humain et ne l'a pas obtenu,et en évitant toute introduction générique comme la répétiton du prompt : "
77
+ prompt1 = """
78
 
79
+ Analysez qualitative les plaintes par semaine fournies en suivant ces étapes :
80
+
81
+ 2. Statut des plaintes
82
+ - Comptabilisez les plaintes selon leur statut :
83
+ - Traitées
84
+ - En cours
85
+ - Préqualifiées
86
+ - Clôturées
87
+
88
+ 3. Analyse du traitement
89
+ a. Implication de l'équipe
90
+ - Identifiez les membres de l'équipe impliqués
91
+ - Évaluez la fréquence et la qualité de la communication interne
92
+ - Notez les affectations et réaffectations des plaintes
93
+
94
+ b. Temps de traitement
95
+ - Calculez la durée totale de traitement pour chaque plainte
96
+ - Évaluez si le temps de traitement est rapide, moyen ou lent
97
+ - Identifiez les facteurs qui influencent le temps de traitement
98
+ Utilisez ce prompt pour générer une analyse structurée et approfondie des plaintes, fournissant ainsi des insights précieux pour l'amélioration continue du service client en plus soit precis pour cette semaine."""
99
  app.add_middleware(
100
  CORSMiddleware,
101
  allow_origins=origins,
 
132
  generated_text += chunk.choices[0].delta.content
133
 
134
  return {"summary_text_2": generated_text}
135
+
136
  @app.post("/generate2/")
137
+ async def generate_text(file: UploadFile = File(...)):
138
+ # Read the uploaded CSV file
139
+ try:
140
+ contents = await file.read()
141
+ df = pd.read_csv(pd.compat.StringIO(contents.decode('utf-8')))
142
+ except Exception as e:
143
+ return {"error": f"Error reading CSV file: {str(e)}"}
 
 
 
 
 
 
 
 
144
 
145
+ # Assuming you want to generate text based on the CSV data
146
+ # For demonstration, we'll use the first row of the CSV
147
+ # Adjust as needed based on your actual requirements
148
+ text_to_generate = df.iloc[0].to_string()
149
 
150
+ # Create the request for the API
 
 
151
  completion = client.chat.completions.create(
152
  model="meta/llama-3.1-8b-instruct",
153
+ messages=[{"role": "user", "content": prompt1 + text_to_generate}],
154
  temperature=0.2,
155
  top_p=0.9,
156
  # max_tokens=1024,