-
Notifications
You must be signed in to change notification settings - Fork 19
/
tool_tot.py
30 lines (22 loc) 路 950 Bytes
/
tool_tot.py
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from swarm.graph import Graph
from swarm.environment.operations import GenerateQuery, FileAnalyse, WebSearch, CombineAnswer
from swarm.environment.agents.agent_registry import AgentRegistry
@AgentRegistry.register('ToolTOT')
class ToolTOT(Graph):
def build_graph(self):
query = GenerateQuery(self.domain, self.model_name)
file_analysis = FileAnalyse(self.domain, self.model_name)
web_search = WebSearch(self.domain, self.model_name)
query.add_successor(file_analysis)
query.add_successor(web_search)
combine = CombineAnswer(self.domain, self.model_name)
file_analysis.add_successor(combine)
web_search.add_successor(combine)
self.input_nodes = [query]
self.output_nodes = [combine]
self.add_node(query)
self.add_node(file_analysis)
self.add_node(web_search)
self.add_node(combine)