24 lines
683 B
Python
24 lines
683 B
Python
from modules.interfaces.interface_web_model import (
|
|
WebSearchActionResult,
|
|
WebSearchRequest,
|
|
)
|
|
|
|
from dataclasses import dataclass
|
|
from modules.connectors.connector_tavily import ConnectorTavily
|
|
|
|
|
|
@dataclass
|
|
class WebInterface:
|
|
connector_tavily: ConnectorTavily = None
|
|
|
|
@classmethod
|
|
async def create(cls) -> "WebInterface":
|
|
connector_tavily = await ConnectorTavily.create()
|
|
|
|
return WebInterface(connector_tavily=connector_tavily)
|
|
|
|
async def search(
|
|
self, web_search_request: WebSearchRequest
|
|
) -> WebSearchActionResult:
|
|
# NOTE: Add connectors here
|
|
return await self.connector_tavily.search_urls(web_search_request)
|