File size: 2,029 Bytes
8563f1a 9b5b26a c19d193 6aae614 9b5b26a 8563f1a 9b5b26a 8563f1a 9b5b26a 8563f1a 9b5b26a 8563f1a 9b5b26a 8c01ffb 8563f1a 8c01ffb 8563f1a 6aae614 ae7a494 e121372 8563f1a 13d500a 8c01ffb 8563f1a 861422e 8563f1a 8c01ffb 8fe992b 8563f1a 8c01ffb 8563f1a 861422e 8fe992b 8563f1a |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, tool
import datetime
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
from transformers import pipeline
# === Useful Tools ===
# Tool 1: Web Search Tool
web_search_tool = DuckDuckGoSearchTool()
# Tool 2: Summarization Tool
summarizer = pipeline("summarization")
def summarize_text(text: str) -> str:
"""Summarizes a given text into key points."""
summary = summarizer(text, max_length=100, min_length=30, do_sample=False)
return summary[0]['summary_text']
# Tool 3: Timezone Checker
def get_current_time_in_timezone(timezone: str) -> str:
"""Fetches the current local time in a specified timezone."""
try:
tz = pytz.timezone(timezone)
local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
return f"The current local time in {timezone} is: {local_time}"
except Exception as e:
return f"Error fetching time for timezone '{timezone}': {str(e)}"
# Tool 4: Image Generation Tool
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
# === Defining the AI Model ===
final_answer = FinalAnswerTool()
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Loading Prompt Templates
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
# === Creating the AI Research Assistant Agent ===
agent = CodeAgent(
model=model,
tools=[final_answer, web_search_tool, summarize_text, get_current_time_in_timezone, image_generation_tool],
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name="AI Research Assistant",
description="An intelligent agent that helps with research, summarization, time checking, and image generation.",
prompt_templates=prompt_templates
)
# Launch the Agent UI
GradioUI(agent).launch()
|