AshenClock commited on
Commit
3b0ec68
·
verified ·
1 Parent(s): 59a476c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -8
app.py CHANGED
@@ -55,18 +55,29 @@ Regole:
55
  """
56
 
57
  # Funzione per inviare la richiesta al modello Hugging Face
58
- def generate_response(message, max_tokens, temperature):
59
  system_message = create_system_message(rdf_context)
60
- full_prompt = f"{system_message}\nUtente: {message}\nAssistente:"
 
 
 
61
 
62
  try:
63
- # Usa il metodo text_generation per invocare il modello Hugging Face
64
- response = client.text_generation(
65
  model="Qwen/Qwen2.5-72B-Instruct",
66
- inputs=full_prompt,
67
- max_new_tokens=max_tokens,
68
- temperature=temperature
 
 
69
  )
 
 
 
 
 
 
70
  return response.strip()
71
  except Exception as e:
72
  raise HTTPException(status_code=500, detail=f"Errore nell'elaborazione: {str(e)}")
@@ -75,7 +86,7 @@ def generate_response(message, max_tokens, temperature):
75
  @app.post("/generate-query/")
76
  async def generate_query(request: QueryRequest):
77
  # Genera risposta
78
- response = generate_response(request.message, request.max_tokens, request.temperature)
79
 
80
  # Valida la query se possibile
81
  if response.startswith("SELECT") or response.startswith("ASK"):
 
55
  """
56
 
57
  # Funzione per inviare la richiesta al modello Hugging Face
58
+ async def generate_response(message, max_tokens, temperature):
59
  system_message = create_system_message(rdf_context)
60
+ messages = [
61
+ {"role": "system", "content": system_message},
62
+ {"role": "user", "content": message}
63
+ ]
64
 
65
  try:
66
+ # Usa il metodo chat.completions.create per lo streaming dei risultati
67
+ stream = client.chat.completions.create(
68
  model="Qwen/Qwen2.5-72B-Instruct",
69
+ messages=messages,
70
+ temperature=temperature,
71
+ max_tokens=max_tokens,
72
+ top_p=0.7,
73
+ stream=True
74
  )
75
+
76
+ response = ""
77
+ for chunk in stream:
78
+ if "choices" in chunk and len(chunk["choices"]) > 0:
79
+ response += chunk["choices"][0]["delta"]["content"]
80
+
81
  return response.strip()
82
  except Exception as e:
83
  raise HTTPException(status_code=500, detail=f"Errore nell'elaborazione: {str(e)}")
 
86
  @app.post("/generate-query/")
87
  async def generate_query(request: QueryRequest):
88
  # Genera risposta
89
+ response = await generate_response(request.message, request.max_tokens, request.temperature)
90
 
91
  # Valida la query se possibile
92
  if response.startswith("SELECT") or response.startswith("ASK"):