Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/SAIC-MONTREAL/SAGE
/ types & classes
Types & classes
88 in github.com/SAIC-MONTREAL/SAGE
⨍
Functions
344
◇
Types & classes
88
↓ 8 callers
Class
FakeResponse
Mimics the requests.Response object.
sage/testing/fake_requests.py:112
↓ 5 callers
Class
TGIConfig
Configuration of open source llms hosted using text generation inferance API
sage/utils/llm_utils.py:58
↓ 4 callers
Class
GPTConfig
Configuration of Open AI llms
sage/utils/llm_utils.py:30
↓ 4 callers
Class
GlobalConfig
Config that is not really specific to any tool, but might be used by multiple tools. This should pretty much be meta-information about the te
sage/base.py:28
↓ 3 callers
Class
DeviceCapabilityDb
Store device capabilities. Useful for automating interaction with the API. In the current implementation, these details are fused with o
sage/smartthings/db.py:102
↓ 3 callers
Class
MemoryBank
This class handles the memory bank
sage/retrieval/memory_bank.py:18
↓ 2 callers
Class
AllServerRunner
Starts a new process and runs the trigger server.
sage/utils/trigger_server.py:257
↓ 2 callers
Class
ApiDocRetrievalToolConfig
sage/smartthings/smartthings_tool.py:213
↓ 2 callers
Class
DeviceDisambiguationToolConfig
sage/smartthings/device_disambiguation.py:193
↓ 2 callers
Class
DocManager
Class to manage all the different sources of device / capability documentation, with a focus on enabling agents. Capability docs can com
sage/smartthings/docmanager.py:55
↓ 2 callers
Class
GoogleCalendarListEventsTool
Tool that lists Google Calendar events.
sage/misc_tools/google_suite.py:97
↓ 2 callers
Class
HumanInteractionToolConfig
sage/human_interaction/tools.py:9
↓ 2 callers
Class
SmartThingsPlannerToolConfig
sage/smartthings/smartthings_tool.py:344
↓ 2 callers
Class
VlmDeviceDetector
Use a VLM to find the closest match between a user query (text) and available devices (images).
sage/smartthings/device_disambiguation.py:94
↓ 1 callers
Class
AgentConfig
SAGE Agent configuration
sage/coordinators/base.py:25
↓ 1 callers
Class
BaseConfig
Config class for instantiating the class specified in the _target attribute.
sage/base.py:52
↓ 1 callers
Class
ConditionCheckerToolConfig
sage/smartthings/persistent_command_tools.py:84
↓ 1 callers
Class
ConditionTriggerServer
Trigger server where python code can be registered and run until a condition is met.
sage/utils/trigger_server.py:190
↓ 1 callers
Class
DatasetWriter
Handle outputting dataset items.
sage/retrieval/data_generator/outputs.py:12
↓ 1 callers
Class
DemoConfig
Config for demo setup.
bin/demo.py:33
↓ 1 callers
Class
ExecuteCommandToolConfig
sage/smartthings/smartthings_tool.py:136
↓ 1 callers
Class
GetAttributeToolConfig
sage/smartthings/smartthings_tool.py:49
↓ 1 callers
Class
GmailGetContactsToolConfig
sage/misc_tools/google_suite.py:27
↓ 1 callers
Class
GoogleCalendarCreateEventTool
Tool that creates a Google Calendar event.
sage/misc_tools/google_suite.py:58
↓ 1 callers
Class
GoogleToolConfig
sage/misc_tools/google_suite.py:170
↓ 1 callers
Class
LLMConfig
Base LLM configuration
sage/utils/llm_utils.py:17
↓ 1 callers
Class
LogStatesActionCallbackHandler
Custom Callback Handler that writes to a file.
sage/utils/logging_utils.py:85
↓ 1 callers
Class
NotifyOnConditionToolConfig
sage/smartthings/persistent_command_tools.py:192
↓ 1 callers
Class
NullCoordinatorConfig
Config to run a demo with OnePrompt baseline.
bin/dump_results_to_latex_table.py:36
↓ 1 callers
Class
PythonInterpreterToolConfig
sage/smartthings/persistent_command_tools.py:33
↓ 1 callers
Class
QueryTvScheduleToolConfig
Config for QueryTvScheduleTool The source argument is included to allow the tool to search over multiple TV sources (e.g. cable TV and f
sage/smartthings/tv_schedules.py:54
↓ 1 callers
Class
SmartThingsToolConfig
sage/smartthings/smartthings_tool.py:416
↓ 1 callers
Class
TestDemoConfig
bin/dump_results_to_latex_table.py:44
↓ 1 callers
Class
TestLogsDb
Store test logs. Useful to use a DB here instead of a file because we have multiple processes simultaneously dumping stuff. We also
sage/testing/fake_requests.py:41
↓ 1 callers
Class
Timeliner
Nifty little utility to time how long stuff takes. Usage: from wat.utils import tl tl.timeline() do_stuff(args) tl.timeline()
sage/utils/common.py:113
↓ 1 callers
Class
TvScheduleDb
DB to store TV programming information. Programming can be added using the update_schedule function, and retrieved using whats_on. The n
sage/smartthings/db.py:22
↓ 1 callers
Class
UserProfileToolConfig
sage/retrieval/tools.py:18
↓ 1 callers
Class
UserProfiler
This class handles the dynamic preference understanding. It creates daily user preference insights based on daily interactions. It furthe
sage/retrieval/profiler.py:12
↓ 1 callers
Class
WeatherToolConfig
sage/misc_tools/weather_tool.py:11
Class
AgentVisualizer
Build and render decision tree from log experiment file
sage/utils/viz_utils.py:89
Class
ApiDocRetrievalTool
sage/smartthings/smartthings_tool.py:226
Class
BaseCoordinator
Base class for coordinators. Coordinators are agents that use tools or other agents as tools to address user commands.
sage/coordinators/base.py:74
Class
BaseToolConfig
Config class for instantiating tools
sage/base.py:81
Class
BaseTriggerServer
Basic trigger server
sage/utils/trigger_server.py:20
Class
ChatLlmAsyncVisualizer
Overrides the async _agenerate function for chat LLMs.
externals/langchain_visualizer/llms/base.py:106
Class
ChatLlmSyncVisualizer
Overrides the sync _generate function for chat LLMs.
externals/langchain_visualizer/llms/base.py:85
Class
ClarificationResponse
baselines/templates/multistage_sasha_templates.py:12
Class
ClaudeConfig
Configuration of Anthropic llms
sage/utils/llm_utils.py:45
Class
ConditionCheckerTool
sage/smartthings/persistent_command_tools.py:174
Class
CoordinatorConfig
Coordinator config
sage/coordinators/base.py:36
Class
CoordinatorType
Coordinator type for config
sage/testing/test_runner.py:76
Class
DeviceDisambiguationTool
Wraps the VLM-based device disambiguation pipeline as a Tool
sage/smartthings/device_disambiguation.py:207
Class
EvaluationResponse
sage/testing/testing_utils.py:98
Class
ExecuteCommandTool
Tool for executing a smartthings command.
sage/smartthings/smartthings_tool.py:150
Class
FilteringResponse
baselines/templates/multistage_sasha_templates.py:21
Class
GenerationConfig
bin/generate_multiuser_memory.py:23
Class
GetAttributeTool
Tool for getting a smartthings attribute.
sage/smartthings/smartthings_tool.py:62
Class
GmailGetContactsTool
sage/misc_tools/google_suite.py:45
Class
GoogleTool
Defines a tool to perform actions with user's Google Calendar and Gmail.
sage/misc_tools/google_suite.py:182
Class
HumanInteractionTool
This tool is provided to the Coordinator to help it communicate with the user. This can be in numerous usecases like getting feedback, asking
sage/human_interaction/tools.py:19
Class
InferenceLogger
The path of the output directory
sage/utils/loggers.py:11
Class
LlmAsyncVisualizer
Overrides the async generate function for regular LLMs.
externals/langchain_visualizer/llms/base.py:60
Class
LlmSyncVisualizer
Overrides the sync generate function for regular LLMs.
externals/langchain_visualizer/llms/base.py:39
Class
LlmType
LLM type for config
sage/testing/test_runner.py:84
Class
LlmVisualizer
externals/langchain_visualizer/llms/base.py:27
Class
NotifyOnConditionTool
sage/smartthings/persistent_command_tools.py:205
Class
NullCoordinator
bin/dump_results_to_latex_table.py:27
Class
OnePromptCoordinator
Simple baseline that only uses a single prompt to execute the user command. This coordinator only works with testcase evaluations, not real d
baselines/coordinators/oneprompt_coordinator.py:32
Class
OnePromptCoordinatorConfig
Config to run a demo with OnePrompt baseline.
baselines/coordinators/oneprompt_coordinator.py:25
Class
OnePromptResponse
baselines/templates/oneprompt_templates.py:7
Class
PersistentResponse
baselines/templates/multistage_sasha_templates.py:27
Class
PlanningResponse
baselines/templates/multistage_sasha_templates.py:48
Class
PrePlanningResponse
baselines/templates/multistage_sasha_templates.py:42
Class
PythonInterpreterTool
sage/smartthings/persistent_command_tools.py:43
Class
QueryTvScheduleTool
sage/smartthings/tv_schedules.py:80
Class
ReadingResponse
baselines/templates/multistage_sasha_templates.py:54
Class
SAGEBaseTool
sage/base.py:16
Class
SAGECoordinator
SAGE coordinator instantiates agents, llms and tools
sage/coordinators/sage_coordinator.py:90
Class
SAGECoordinatorConfig
SAGE coordinator config
sage/coordinators/sage_coordinator.py:30
Class
SashaCoordinator
A baseline implementation of the Sasha paper [1]. This coordinator only works with testcase evaluations, not real device demos. [1] Sash
baselines/coordinators/sasha_coordinator.py:69
Class
SashaCoordinatorConfig
Config for the Sasha baseline.
baselines/coordinators/sasha_coordinator.py:62
Class
SmartThingsPlannerTool
sage/smartthings/smartthings_tool.py:351
Class
SmartThingsTool
sage/smartthings/smartthings_tool.py:432
Class
TestDemoConfig
sage/testing/test_runner.py:93
Class
UserProfileTool
Defines a user profile tool to check user preferences.
sage/retrieval/tools.py:43
Class
VisualizationWrapper
externals/langchain_visualizer/hijacking.py:12
Class
VisualizerConfig
Base Visualizer configuration
sage/utils/viz_utils.py:68
Class
WeatherTool
sage/misc_tools/weather_tool.py:17