File size: 1,349 Bytes
95cd9a0
c5ef8e2
12e335a
 
c5ef8e2
95cd9a0
c5ef8e2
8aec252
 
95cd9a0
c6cc905
 
12e335a
4c9390c
 
 
 
 
c5ef8e2
476c399
95cd9a0
c5ef8e2
 
95cd9a0
c5ef8e2
 
95cd9a0
c5ef8e2
 
95cd9a0
c5ef8e2
 
95cd9a0
8aec252
 
c5ef8e2
 
8aec252
c5ef8e2
 
 
95cd9a0
 
 
c5ef8e2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import gradio as gr
import random
import os
import getpass
from smolagents import GradioUI, CodeAgent, HfApiModel

# Import our custom tools from their modules
from tools import DuckDuckGoSearchTool, WeatherInfoTool, HubStatsTool, CrashInfoRetrieverTool
from retriever import load_guest_dataset, load_crash_data

#Set up in HuggingFace Space Secrets
#os.environ["HF_TOKEN"] = getpass.getpass("Enter HF token:")

# Ensure the HF_TOKEN environment variable is set
hf_token = os.getenv("HF_TOKEN")
if not hf_token:
    raise ValueError("HF_TOKEN environment variable is not set.")

# Initialize the Hugging Face model
model = HfApiModel() #assume HF will look for it

# Initialize the web search tool
search_tool = DuckDuckGoSearchTool()

# Initialize the weather tool
weather_info_tool = WeatherInfoTool()

# Initialize the Hub stats tool
hub_stats_tool = HubStatsTool()

# Load the guest dataset and initialize the guest info tool
guest_info_tool = load_guest_dataset()

crash_info_tool = load_crash_data()

# Create Alfred with all the tools
alfred = CodeAgent(
    tools=[guest_info_tool, weather_info_tool, hub_stats_tool, search_tool, crash_info_tool], 
    model=model,
    add_base_tools=True,  # Add any additional base tools
    planning_interval=3   # Enable planning every 3 steps
)

if __name__ == "__main__":
    GradioUI(alfred).launch()