File size: 1,322 Bytes
9a62fc6
38812af
82566ad
 
38812af
 
 
 
 
 
82566ad
 
 
 
 
 
 
 
 
38812af
 
 
 
 
 
 
 
 
 
 
 
 
82566ad
38812af
 
 
82566ad
 
38812af
9a62fc6
501c4dc
494cab7
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
import gradio as gr
import random
import os
from smolagents import GradioUI, CodeAgent, HfApiModel, LiteLLMModel, ApiModel

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

# Initialize the Hugging Face model
#model = HfApiModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct")
# model = LiteLLMModel(model_id="gpt-4")

# Use Gemini 1.5 Flash - Long context (1M tokens) and cheap
model = LiteLLMModel(
    model_id="gemini/gemini-1.5-flash",
    api_key=os.getenv("GEMINI_API_KEY"),
    max_tokens=2000  # Can be higher due to long context window
)

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

# Create Alfred with full configuration - Gemini can handle more tokens
alfred = CodeAgent(
    tools=[guest_info_tool, weather_info_tool, hub_stats_tool, search_tool], 
    model=model,
    add_base_tools=True,  # Re-enable base tools
    planning_interval=3   # Re-enable planning with shorter interval
)

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