--- orphan: true --- # {py:mod}`agents.components.semantic_router` ```{py:module} agents.components.semantic_router ``` ```{autodoc2-docstring} agents.components.semantic_router :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`RouterMode ` - ```{autodoc2-docstring} agents.components.semantic_router.RouterMode :summary: ``` * - {py:obj}`SemanticRouter ` - ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter :summary: ``` ```` ### API `````{py:class} RouterMode(*args, **kwds) :canonical: agents.components.semantic_router.RouterMode Bases: {py:obj}`enum.Enum` ```{autodoc2-docstring} agents.components.semantic_router.RouterMode ``` ````{py:method} name() :canonical: agents.components.semantic_router.RouterMode.name ```{autodoc2-docstring} agents.components.semantic_router.RouterMode.name ``` ```` ````{py:method} value() :canonical: agents.components.semantic_router.RouterMode.value ```{autodoc2-docstring} agents.components.semantic_router.RouterMode.value ``` ```` ````` `````{py:class} SemanticRouter(*, inputs: typing.List[agents.ros.Topic], routes: typing.List[agents.ros.Route], config: typing.Optional[typing.Union[agents.config.SemanticRouterConfig, agents.config.LLMConfig]] = None, db_client: typing.Optional[agents.clients.db_base.DBClient] = None, model_client: typing.Optional[agents.clients.model_base.ModelClient] = None, default_route: typing.Optional[agents.ros.Route] = None, component_name: str, **kwargs) :canonical: agents.components.semantic_router.SemanticRouter Bases: {py:obj}`agents.components.llm.LLM` ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter ``` ````{py:method} custom_on_deactivate() :canonical: agents.components.semantic_router.SemanticRouter.custom_on_deactivate ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter.custom_on_deactivate ``` ```` ````{py:method} set_component_prompt(template: typing.Union[str, pathlib.Path]) -> None :canonical: agents.components.semantic_router.SemanticRouter.set_component_prompt :abstractmethod: ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter.set_component_prompt ``` ```` ````{py:method} set_topic_prompt(input_topic: agents.ros.Topic, template: typing.Union[str, pathlib.Path]) -> None :canonical: agents.components.semantic_router.SemanticRouter.set_topic_prompt :abstractmethod: ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter.set_topic_prompt ``` ```` ````{py:method} register_tool(tool, tool_description, send_tool_response_to_model=False) -> None :canonical: agents.components.semantic_router.SemanticRouter.register_tool :abstractmethod: ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter.register_tool ``` ```` ````{py:method} add_documents(ids, metadatas, documents) -> None :canonical: agents.components.semantic_router.SemanticRouter.add_documents :abstractmethod: ```{autodoc2-docstring} agents.components.semantic_router.SemanticRouter.add_documents ``` ```` `````