Update app.py
Browse files
app.py
CHANGED
@@ -220,15 +220,13 @@ async def call_hf_model(prompt: str, temperature: float = 0.5, max_tokens: int =
|
|
220 |
|
221 |
try:
|
222 |
# Costruisci i messaggi per il modello
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
messages=messages,
|
231 |
-
max_tokens=max_tokens,
|
232 |
temperature=temperature,
|
233 |
top_p=0.7,
|
234 |
stream=stream
|
@@ -240,25 +238,20 @@ async def call_hf_model(prompt: str, temperature: float = 0.5, max_tokens: int =
|
|
240 |
# Gestisci lo stream
|
241 |
generated_text = ""
|
242 |
async for token in response:
|
243 |
-
if
|
244 |
-
generated_text += token
|
245 |
-
print(token
|
246 |
return generated_text.strip()
|
247 |
else:
|
248 |
# Risposta non in streaming
|
249 |
-
#
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
generated_text = response['choices'][0].get('message', {}).get('content', '')
|
256 |
-
else:
|
257 |
-
raise ValueError("Risposta non contiene 'choices' o 'message'.")
|
258 |
-
elif isinstance(response, list) and len(response) > 0:
|
259 |
-
generated_text = response[0].get('message', {}).get('content', '')
|
260 |
else:
|
261 |
-
raise ValueError("
|
262 |
|
263 |
# Forza la risposta su una singola linea se multilinea
|
264 |
single_line = " ".join(generated_text.splitlines())
|
|
|
220 |
|
221 |
try:
|
222 |
# Costruisci i messaggi per il modello
|
223 |
+
# Poiché stiamo usando text_generation, il prompt deve essere una stringa continua
|
224 |
+
full_prompt = prompt
|
225 |
+
|
226 |
+
# Esegui la text_generation
|
227 |
+
response = client.text_generation(
|
228 |
+
full_prompt,
|
229 |
+
max_new_tokens=max_tokens,
|
|
|
|
|
230 |
temperature=temperature,
|
231 |
top_p=0.7,
|
232 |
stream=stream
|
|
|
238 |
# Gestisci lo stream
|
239 |
generated_text = ""
|
240 |
async for token in response:
|
241 |
+
if 'generated_text' in token:
|
242 |
+
generated_text += token['generated_text']
|
243 |
+
print(token['generated_text'], end="")
|
244 |
return generated_text.strip()
|
245 |
else:
|
246 |
# Risposta non in streaming
|
247 |
+
# Verifica la struttura della risposta
|
248 |
+
# La risposta dovrebbe contenere 'generated_text'
|
249 |
+
if isinstance(response, list) and len(response) > 0 and "generated_text" in response[0]:
|
250 |
+
generated_text = response[0]["generated_text"]
|
251 |
+
elif isinstance(response, dict) and "generated_text" in response:
|
252 |
+
generated_text = response["generated_text"]
|
|
|
|
|
|
|
|
|
|
|
253 |
else:
|
254 |
+
raise ValueError("Nessun campo 'generated_text' nella risposta.")
|
255 |
|
256 |
# Forza la risposta su una singola linea se multilinea
|
257 |
single_line = " ".join(generated_text.splitlines())
|