AshenClock commited on
Commit
c4fa90c
·
verified ·
1 Parent(s): 3d296eb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -24
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
- messages = [
224
- {"role": "system", "content": "You are a helpful assistant."},
225
- {"role": "user", "content": prompt}
226
- ]
227
-
228
- # Esegui la chat_completion
229
- response = client.chat_completion(
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 token.choices and token.choices[0].delta.get("content"):
244
- generated_text += token.choices[0].delta["content"]
245
- print(token.choices[0].delta["content"], end="")
246
  return generated_text.strip()
247
  else:
248
  # Risposta non in streaming
249
- # Logga la risposta completa per capire la struttura
250
- logger.debug(f"Risposta completa: {response}")
251
-
252
- # Adatta la logica di estrazione del testo generato
253
- if isinstance(response, dict):
254
- if 'choices' in response and len(response['choices']) > 0:
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("Struttura della risposta non riconosciuta.")
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())