File size: 2,169 Bytes
e353211
c92c3bf
e353211
 
4bfe53e
e353211
4c2a00d
d4578f1
4db54a2
e63689d
e353211
e63689d
 
67f06b2
1dc4338
e63689d
 
5d06296
 
95c49b7
5d06296
 
 
0e921e3
5d06296
4999ab5
 
 
5d06296
a22a330
 
5d06296
 
4999ab5
f01a417
4999ab5
 
351e87d
5d06296
68fd0f7
4999ab5
5d06296
df15652
5d06296
037e937
e353211
e50c01e
e353211
037e937
 
3395806
e353211
 
 
 
7951e3f
 
 
 
 
 
 
 
 
e353211
 
 
 
 
1c61c68
e353211
5d06296
037e937
 
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
65
66
67
68
69
70
71
72
73
74
# from smolagents import DuckDuckGoSearchTool, load_tool,tool

import sys   
# import datetime
import time
#import requests
import os
import pytz # Had to give it permission in Code agent  

from ui.contentagentui import ContentAgentUI
# from ui.gradioui import GradioUI

from smolagents import CodeAgent, HfApiModel
from status_check import resolve_endpoint, is_endpoint_healthy 

from tools.tools import load_tools
from agents.prompts import load_prompts
   
def initialize_agent(endpoint_uri: str):

     # Load prompts
    combined_prompts = load_prompts()
    combined_tools = load_tools() ## from the tools folder (don't remove final answer)

    """Initialize and configure the CodeAgent"""
    model = HfApiModel(
        max_tokens=2096,
        temperature=0.5,
        model_id=endpoint_uri,
        custom_role_conversions=None,
    )
    
    return CodeAgent(
        model=model,
        tools=combined_tools,
        max_steps=6,
        verbosity_level=3,
        name="content_agent",
        description="Evaluates whether text is polite or impolite.",
        prompt_templates=combined_prompts,
        additional_authorized_imports=["pytz"]
    ) 
    
def main():
    uri = resolve_endpoint()
    if not uri:
        print("❌ Endpoint not ready: no URI configured. Ensure that the HF_ENDPOINT_URI secret has been defined in the current Space.")
        sys.exit(1)   # exit with non-zero status for clarity
    ok, msg = is_endpoint_healthy(uri)
    if not ok:
        print(f"Endpoint not ready: {msg}")
        
    #  We want to create a basic GUI calling the ContentAgentUI.. 
    #  The default flow should be to show the "Wake Endpoint" button
    #  If the end point is ready, don't show it.
    ui = ContentAgentUI(
        endpoint_uri=uri,
        is_healthy=ok,
        health_message=msg,
        agent_initializer=initialize_agent,
    )
    ui.launch() 
    
    
    # Initialize and run the agent
    #agent = initialize_agent(endpoint_uri)
    # Create an instance of the ContentAgentUI class
    #ui = ContentAgentUI()
    #ui.pass_through_agent(agent)  # Pass through the agent

    
if __name__ == "__main__":
    main()