File size: 2,254 Bytes
e353211
c92c3bf
e353211
 
4bfe53e
e353211
4c2a00d
d4578f1
4db54a2
e63689d
e353211
e63689d
624116f
67f06b2
1dc4338
e63689d
299f3b6
5d06296
 
95c49b7
4368d69
 
f39fb76
5d06296
0e921e3
5d06296
624116f
4999ab5
 
5d06296
a22a330
 
37465d6
 
4999ab5
f01a417
4999ab5
 
351e87d
5d06296
18f16f5
4999ab5
5d06296
46e7a7a
 
37465d6
 
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
75
76
77
78
79
# 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, InferenceClientModel  
from status_check import resolve_endpoint, is_endpoint_healthy 

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

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

    """Initialize and configure the CodeAgent"""
    model = InferenceClientModel  (
        max_tokens=2096,
        temperature=0.5,
        model_id=endpoint_uri,
        custom_role_conversions=None,
    )

    agent = 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=custom_prompts,   # override  prompts
        additional_authorized_imports=["pytz"]
    ) 

   
    return agent 
    
    
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()