File size: 1,915 Bytes
ff23105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c2ae850
ff23105
 
 
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
from agno.agent import Agent
from agno.models.openai.chat import OpenAIChat
from agno.db.sqlite.sqlite import SqliteDb
import os
from dotenv import load_dotenv
from tools import fetch_page_text, fetch_page_scripts, run_python_code, transcribe_audio, understand_image, call_api, execute_python, read_pdf, read_zip, search_history
import logging

logger = logging.getLogger(__name__)

load_dotenv()

def get_agent():
    api_key = os.getenv("AI_TOKEN")
    if not api_key:
        logger.error("AI_TOKEN is missing from environment variables!")
        raise ValueError("AI_TOKEN not found in environment variables")
    
    logger.info(f"AI_TOKEN loaded. Length: {len(api_key)}")
    logger.info(f"AI_TOKEN prefix: {api_key[:10]}...")
    
    # Set env var just in case
    os.environ["OPENROUTER_API_KEY"] = api_key
    
    # Initialize the agent with OpenRouter model via custom endpoint
    agent = Agent(
        model=OpenAIChat(
            base_url="https://aipipe.org/openrouter/v1",
            api_key=api_key,
            id="google/gemini-2.0-flash-lite-001"
        ),
        description="You are a helpful assistant that solves data-related quiz tasks.",
        instructions=[
            "You will be given a task description, often involving data analysis or web scraping.",
            "You need to solve the task and provide the answer.",
            "The answer should be in the format requested by the task.",
            "If you need to download a file, write Python code to do it.",
            "Be concise and accurate."
        ],
        tools=[fetch_page_text, fetch_page_scripts, run_python_code, transcribe_audio, understand_image, call_api, execute_python, read_pdf, read_zip, search_history],
        markdown=True,
        debug_mode=True,
        db=SqliteDb(db_file=os.getenv("AGENT_DB_FILE", "/tmp/agent_memory.db")),
        add_history_to_context=True
    )
    return agent