raffaeleterribile commited on
Commit
2a29f0a
·
verified ·
1 Parent(s): 4ff22be

Definisci i prompt dell'agente

Browse files
Files changed (1) hide show
  1. app.py +16 -1
app.py CHANGED
@@ -6,6 +6,7 @@ import inspect
6
  import pandas as pd
7
 
8
  from smolagents import CodeAgent, TransformersModel, VisitWebpageTool, PythonInterpreterTool, WebSearchTool, WikipediaSearchTool, FinalAnswerTool, Tool, tool # InferenceClientModel, GoogleSearchTool (usa SERPAPI_API_KEY), DuckDuckGoSearchTool
 
9
 
10
  # (Keep Constants as is)
11
  # --- Constants ---
@@ -27,12 +28,25 @@ def invert_sentence(sentence: str) -> str:
27
  class FirstAgent:
28
  ### First Agent is the first attempt to develop an agent for the course. ###
29
  def __init__(self):
 
30
  model_id = "HuggingFaceTB/SmolLM2-1.7B-Instruct"
31
  model = TransformersModel(model_id=model_id)
32
 
33
  # Inizializza l'agente
 
 
 
 
 
 
 
 
 
 
 
34
  self.agent = CodeAgent(
35
  model=model,
 
36
  tools=[
37
  WebSearchTool(),
38
  PythonInterpreterTool(),
@@ -43,11 +57,12 @@ class FirstAgent:
43
  print("FirstAgent inizializzato.")
44
 
45
  def __call__(self, question: str) -> str:
 
46
  print(f"Agent ricevuto domanda (primi 50 char): {question[:50]}...")
47
  try:
48
  answer = self.agent.run(question)
49
  print(f"Agent restituisce risposta: {str(answer)[:100]}...")
50
- return str(answer)
51
  except Exception as e:
52
  print(f"Errore nell'agente: {e}")
53
  return f"Errore nell'agente: {str(e)}"
 
6
  import pandas as pd
7
 
8
  from smolagents import CodeAgent, TransformersModel, VisitWebpageTool, PythonInterpreterTool, WebSearchTool, WikipediaSearchTool, FinalAnswerTool, Tool, tool # InferenceClientModel, GoogleSearchTool (usa SERPAPI_API_KEY), DuckDuckGoSearchTool
9
+ from smolagents.agents import PromptTemplates, EMPTY_PROMPT_TEMPLATES
10
 
11
  # (Keep Constants as is)
12
  # --- Constants ---
 
28
  class FirstAgent:
29
  ### First Agent is the first attempt to develop an agent for the course. ###
30
  def __init__(self):
31
+ """ Initializes the FirstAgent with a TransformersModel and a CodeAgent. """
32
  model_id = "HuggingFaceTB/SmolLM2-1.7B-Instruct"
33
  model = TransformersModel(model_id=model_id)
34
 
35
  # Inizializza l'agente
36
+ prompt_templates = EMPTY_PROMPT_TEMPLATES
37
+ prompt_templates["system_prompt"] = """You are an intelligent agent that answers questions and uses tools to help users.
38
+ Think step by step and use tools when needed.
39
+ If you don't know the answer, say 'I don't know'.
40
+ If you need to search the web, use the WebSearchTool.
41
+ If you need to visit a webpage, use the VisitWebpageTool.
42
+ If you need to run Python code, use the PythonInterpreterTool.
43
+ If you need to generate code to extract information, generate the code and use the PythonInterpreterTool to execute the code and extract the informations.
44
+ If you find information in Wikipedia, use the WikipediaSearchTool.
45
+ Verify your final answer and the format of the final answer before returning it."""
46
+
47
  self.agent = CodeAgent(
48
  model=model,
49
+ prompt_templates=prompt_templates,
50
  tools=[
51
  WebSearchTool(),
52
  PythonInterpreterTool(),
 
57
  print("FirstAgent inizializzato.")
58
 
59
  def __call__(self, question: str) -> str:
60
+ """ Runs the agent with the provided question and returns the answer. """
61
  print(f"Agent ricevuto domanda (primi 50 char): {question[:50]}...")
62
  try:
63
  answer = self.agent.run(question)
64
  print(f"Agent restituisce risposta: {str(answer)[:100]}...")
65
+ return answer
66
  except Exception as e:
67
  print(f"Errore nell'agente: {e}")
68
  return f"Errore nell'agente: {str(e)}"