Spaces:
Runtime error
Runtime error
import gradio as gr | |
import random | |
from smolagents import GradioUI, CodeAgent, InferenceClientModel | |
from smolagents import LiteLLMModel | |
from smolagents import ToolCallingAgent, PythonInterpreterTool, PromptTemplates | |
import os | |
from PIL import Image | |
#from smolagents.src.smolagents.prompts | |
# Import our custom tools from their modules | |
from tools import evaluate_consumption, evaluate_consumption_example | |
from retriever import FrugalAI_methods | |
#HF_TOKEN = os.environ.get("HF_TOKEN") | |
try: | |
API_KEY = os.environ.get("API_KEY") | |
except: | |
print("Please provide the Anthropic API_KEY in the secret variables") | |
# Initialize the Hugging Face model | |
model = LiteLLMModel( | |
model_id="anthropic/claude-3-5-sonnet-latest", | |
temperature=0.2, | |
api_key=API_KEY | |
) | |
evaluate_consumption = evaluate_consumption() | |
evaluate_consumption_example = evaluate_consumption_example() | |
FrugalAI_methods=FrugalAI_methods() | |
# Create agent with all the tools | |
fruggy = CodeAgent( | |
tools=[evaluate_consumption, evaluate_consumption_example, FrugalAI_methods], | |
model=model, | |
additional_authorized_imports=['os'], | |
add_base_tools=True, # Add any additional base tools | |
planning_interval=10 | |
) | |
with gr.Blocks(theme=gr.themes.Ocean()) as demo: | |
with gr.Row(): | |
with gr.Column(scale=1): | |
image = gr.Image(value=Image.open("frugal.jpg"), label="Frugal Image") | |
hello = gr.Interface( | |
fn=fruggy, | |
inputs="text", | |
outputs="text", | |
title="Frugalize it!", | |
examples = [ | |
"You are an AI agent that receives Python code from a manager. " | |
"Your task is to test its resource consumption using a custom tool. If no code is provided, use evaluate_consumption_example. If a code is provided by the manager, use evaluate_consumption." | |
"Then, propose frugal alternatives, such as pruning, using your dedicated tool β always use it. " | |
"Additionally, feel free to search the internet for frugal methods and present them to the manager. " | |
"Examples include Knowledge Distillation, Transfer Learning, and others. " | |
"Show me what you can do using your custom tool evaluate_consumption_example, and provide examples based on the code in that tool to optimize it for frugality. " | |
"Use both your tools and web searches if needed. If implementation guidance is given by your custom tools, always give it in your final answer to the manager.", | |
"You are an AI agent that receives Python code from a manager. " | |
"Your task is to test its resource consumption using a custom tool. If no code is provided, use evaluate_consumption_example. If a code is provided by the manager, use evaluate_consumption." | |
"Then, propose frugal alternatives, such as pruning, using your dedicated tool β always use it. " | |
"Additionally, feel free to search the internet for frugal methods and present them to the manager. " | |
"Examples include Knowledge Distillation, Transfer Learning, and others. If implementation guidance is given by your custom tools, always give it in your final answer to the manager. " | |
"Here is my code: " | |
"import anthropic " | |
"API_KEY = os.environ.get('API_KEY') " | |
"client = anthropic.Anthropic(api_key=API_KEY) " | |
"message = client.messages.create(model='claude-sonnet-4-20250514',max_tokens=1024,messages=[{'role': 'user', 'content': 'Hello, Claude'}]) " | |
"print(message.content) " | |
"Please give me frugal alternatives." | |
], | |
description="Share your Python code with this AI agent! It will track its CO2 emissions using CodeCarbon and recommend greener, frugal AI alternatives." | |
) | |
if __name__ == "__main__": | |
demo.launch(mcp_server=True, share=True) |