update
Browse files
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(
|
116 |
-
#
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
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 |
-
|
|
|
|
|
|
|
132 |
|
133 |
-
|
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":
|
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,
|