omarViga commited on
Commit
c4a2f74
·
verified ·
1 Parent(s): cefaede

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -54
app.py CHANGED
@@ -1,54 +1,46 @@
1
- import gradio as gr
2
- from smolagents import (CodeAgent, InferenceClientModel)
3
- from langfuse import get_client
4
-
5
- langfuse = get_client()
6
-
7
- model = InferenceClientModel()
8
- agent = CodeAgent(tools=[], model=model, add_base_tools=True)
9
-
10
- trace_id = None
11
-
12
- def respond(prompt, history):
13
- with langfuse.start_as_current_span(
14
- name="Smolagent-Trace"):
15
-
16
- # Run your application here
17
- output = agent.run(prompt)
18
-
19
- global trace_id
20
- trace_id = langfuse.get_current_trace_id()
21
-
22
- history.append({"role": "assistant", "content": str(output)})
23
- return history
24
-
25
- def handle_like(data: gr.LikeData):
26
- # For demonstration, we map user feedback to a 1 (like) or 0 (dislike)
27
- if data.liked:
28
- langfuse.create_score(
29
- value=1,
30
- name="user-feedback",
31
- trace_id=trace_id
32
- )
33
- else:
34
- langfuse.create_score(
35
- value=0,
36
- name="user-feedback",
37
- trace_id=trace_id
38
- )
39
-
40
- with gr.Blocks() as demo:
41
- chatbot = gr.Chatbot(label="Chat", type="messages")
42
- prompt_box = gr.Textbox(placeholder="Type your message...", label="Your message")
43
-
44
- # When the user presses 'Enter' on the prompt, we run 'respond'
45
- prompt_box.submit(
46
- fn=respond,
47
- inputs=[prompt_box, chatbot],
48
- outputs=chatbot
49
- )
50
-
51
- # When the user clicks a 'like' button on a message, we run 'handle_like'
52
- chatbot.like(handle_like, None, None)
53
-
54
- demo.launch()
 
1
+ import yaml
2
+ import os
3
+ from smolagents import GradioUI, CodeAgent, HfApiModel
4
+
5
+ # Get current directory path
6
+ CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
7
+
8
+ from tools.web_search import DuckDuckGoSearchTool as WebSearch
9
+ from tools.visit_webpage import VisitWebpageTool as VisitWebpage
10
+ from tools.suggest_menu import SimpleTool as SuggestMenu
11
+ from tools.catering_service_tool import SimpleTool as CateringServiceTool
12
+ from tools.superhero_party_theme_generator import SuperheroPartyThemeTool as SuperheroPartyThemeGenerator
13
+ from tools.final_answer import FinalAnswerTool as FinalAnswer
14
+
15
+
16
+
17
+ model = HfApiModel(
18
+ model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
19
+ provider=None,
20
+ )
21
+
22
+ web_search = WebSearch()
23
+ visit_webpage = VisitWebpage()
24
+ suggest_menu = SuggestMenu()
25
+ catering_service_tool = CateringServiceTool()
26
+ superhero_party_theme_generator = SuperheroPartyThemeGenerator()
27
+ final_answer = FinalAnswer()
28
+
29
+
30
+ with open(os.path.join(CURRENT_DIR, "prompts.yaml"), 'r') as stream:
31
+ prompt_templates = yaml.safe_load(stream)
32
+
33
+ agent = CodeAgent(
34
+ model=model,
35
+ tools=[web_search, visit_webpage, suggest_menu, catering_service_tool, superhero_party_theme_generator],
36
+ managed_agents=[],
37
+ max_steps=10,
38
+ verbosity_level=2,
39
+ grammar=None,
40
+ planning_interval=None,
41
+ name=None,
42
+ description=None,
43
+ prompt_templates=prompt_templates
44
+ )
45
+ if __name__ == "__main__":
46
+ GradioUI(agent).launch()