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())
|