From ef042e160523f551f67bae489efa3219a7a9d1e0 Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Sun, 22 Sep 2024 16:56:30 -0700 Subject: [PATCH] Add more sample content --- llama_stack/cli/stack/list_providers.py | 2 ++ .../providers/adapters/agents/sample/__init__.py | 10 ++++++++++ .../providers/adapters/agents/sample/config.py | 7 +++++++ .../providers/adapters/agents/sample/sample.py | 13 +++++++++++++ .../providers/adapters/inference/sample/__init__.py | 10 ++++++++++ .../providers/adapters/inference/sample/config.py | 7 +++++++ .../providers/adapters/inference/sample/sample.py | 13 +++++++++++++ .../providers/adapters/memory/sample/__init__.py | 10 ++++++++++ .../providers/adapters/memory/sample/config.py | 7 +++++++ .../providers/adapters/memory/sample/sample.py | 13 +++++++++++++ .../providers/adapters/safety/sample/__init__.py | 10 ++++++++++ .../providers/adapters/safety/sample/config.py | 7 +++++++ .../providers/adapters/safety/sample/sample.py | 13 +++++++++++++ .../providers/adapters/telemetry/sample/__init__.py | 10 ++++++++++ .../providers/adapters/telemetry/sample/config.py | 7 +++++++ .../providers/adapters/telemetry/sample/sample.py | 13 +++++++++++++ llama_stack/providers/registry/agents.py | 11 ++++++++++- llama_stack/providers/registry/inference.py | 9 +++++++++ llama_stack/providers/registry/memory.py | 9 +++++++++ llama_stack/providers/registry/safety.py | 9 +++++++++ llama_stack/providers/registry/telemetry.py | 9 +++++++++ 21 files changed, 198 insertions(+), 1 deletion(-) diff --git a/llama_stack/cli/stack/list_providers.py b/llama_stack/cli/stack/list_providers.py index 33cfe6939..93cfe0346 100644 --- a/llama_stack/cli/stack/list_providers.py +++ b/llama_stack/cli/stack/list_providers.py @@ -47,6 +47,8 @@ class StackListProviders(Subcommand): rows = [] for spec in providers_for_api.values(): + if spec.provider_id == "sample": + continue rows.append( [ spec.provider_id, diff --git a/llama_stack/providers/adapters/agents/sample/__init__.py b/llama_stack/providers/adapters/agents/sample/__init__.py index 756f351d8..38e0dc2d5 100644 --- a/llama_stack/providers/adapters/agents/sample/__init__.py +++ b/llama_stack/providers/adapters/agents/sample/__init__.py @@ -3,3 +3,13 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +async def get_adapter_impl(config: SampleConfig, _deps) -> Any: + from .sample import SampleAgentsImpl + + impl = SampleAgentsImpl(config) + await impl.initialize() + return impl diff --git a/llama_stack/providers/adapters/agents/sample/config.py b/llama_stack/providers/adapters/agents/sample/config.py index 756f351d8..4b7404a26 100644 --- a/llama_stack/providers/adapters/agents/sample/config.py +++ b/llama_stack/providers/adapters/agents/sample/config.py @@ -3,3 +3,10 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from pydantic import BaseModel + + +class SampleConfig(BaseModel): + host: str = "localhost" + port: int = 9999 diff --git a/llama_stack/providers/adapters/agents/sample/sample.py b/llama_stack/providers/adapters/agents/sample/sample.py index 756f351d8..e9a3a6ee5 100644 --- a/llama_stack/providers/adapters/agents/sample/sample.py +++ b/llama_stack/providers/adapters/agents/sample/sample.py @@ -3,3 +3,16 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +from llama_stack.apis.agents import * # noqa: F403 + + +class SampleAgentsImpl(Agents): + def __init__(self, config: SampleConfig): + self.config = config + + async def initialize(self): + pass diff --git a/llama_stack/providers/adapters/inference/sample/__init__.py b/llama_stack/providers/adapters/inference/sample/__init__.py index 756f351d8..d40858e8d 100644 --- a/llama_stack/providers/adapters/inference/sample/__init__.py +++ b/llama_stack/providers/adapters/inference/sample/__init__.py @@ -3,3 +3,13 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +async def get_adapter_impl(config: SampleConfig, _deps) -> Any: + from .sample import SampleInferenceImpl + + impl = SampleInferenceImpl(config) + await impl.initialize() + return impl diff --git a/llama_stack/providers/adapters/inference/sample/config.py b/llama_stack/providers/adapters/inference/sample/config.py index 756f351d8..4b7404a26 100644 --- a/llama_stack/providers/adapters/inference/sample/config.py +++ b/llama_stack/providers/adapters/inference/sample/config.py @@ -3,3 +3,10 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from pydantic import BaseModel + + +class SampleConfig(BaseModel): + host: str = "localhost" + port: int = 9999 diff --git a/llama_stack/providers/adapters/inference/sample/sample.py b/llama_stack/providers/adapters/inference/sample/sample.py index 756f351d8..cfe773036 100644 --- a/llama_stack/providers/adapters/inference/sample/sample.py +++ b/llama_stack/providers/adapters/inference/sample/sample.py @@ -3,3 +3,16 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +from llama_stack.apis.inference import * # noqa: F403 + + +class SampleInferenceImpl(Inference): + def __init__(self, config: SampleConfig): + self.config = config + + async def initialize(self): + pass diff --git a/llama_stack/providers/adapters/memory/sample/__init__.py b/llama_stack/providers/adapters/memory/sample/__init__.py index 756f351d8..f139863d7 100644 --- a/llama_stack/providers/adapters/memory/sample/__init__.py +++ b/llama_stack/providers/adapters/memory/sample/__init__.py @@ -3,3 +3,13 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +async def get_adapter_impl(config: SampleConfig, _deps) -> Any: + from .sample import SampleMemoryImpl + + impl = SampleMemoryImpl(config) + await impl.initialize() + return impl diff --git a/llama_stack/providers/adapters/memory/sample/config.py b/llama_stack/providers/adapters/memory/sample/config.py index 756f351d8..4b7404a26 100644 --- a/llama_stack/providers/adapters/memory/sample/config.py +++ b/llama_stack/providers/adapters/memory/sample/config.py @@ -3,3 +3,10 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from pydantic import BaseModel + + +class SampleConfig(BaseModel): + host: str = "localhost" + port: int = 9999 diff --git a/llama_stack/providers/adapters/memory/sample/sample.py b/llama_stack/providers/adapters/memory/sample/sample.py index 756f351d8..d083bc28e 100644 --- a/llama_stack/providers/adapters/memory/sample/sample.py +++ b/llama_stack/providers/adapters/memory/sample/sample.py @@ -3,3 +3,16 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +from llama_stack.apis.memory import * # noqa: F403 + + +class SampleMemoryImpl(Memory): + def __init__(self, config: SampleConfig): + self.config = config + + async def initialize(self): + pass diff --git a/llama_stack/providers/adapters/safety/sample/__init__.py b/llama_stack/providers/adapters/safety/sample/__init__.py index 756f351d8..5a701133b 100644 --- a/llama_stack/providers/adapters/safety/sample/__init__.py +++ b/llama_stack/providers/adapters/safety/sample/__init__.py @@ -3,3 +3,13 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +async def get_adapter_impl(config: SampleConfig, _deps) -> Any: + from .sample import SampleSafetyImpl + + impl = SampleSafetyImpl(config) + await impl.initialize() + return impl diff --git a/llama_stack/providers/adapters/safety/sample/config.py b/llama_stack/providers/adapters/safety/sample/config.py index 756f351d8..4b7404a26 100644 --- a/llama_stack/providers/adapters/safety/sample/config.py +++ b/llama_stack/providers/adapters/safety/sample/config.py @@ -3,3 +3,10 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from pydantic import BaseModel + + +class SampleConfig(BaseModel): + host: str = "localhost" + port: int = 9999 diff --git a/llama_stack/providers/adapters/safety/sample/sample.py b/llama_stack/providers/adapters/safety/sample/sample.py index 756f351d8..4631bde26 100644 --- a/llama_stack/providers/adapters/safety/sample/sample.py +++ b/llama_stack/providers/adapters/safety/sample/sample.py @@ -3,3 +3,16 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +from llama_stack.apis.safety import * # noqa: F403 + + +class SampleSafetyImpl(Safety): + def __init__(self, config: SampleConfig): + self.config = config + + async def initialize(self): + pass diff --git a/llama_stack/providers/adapters/telemetry/sample/__init__.py b/llama_stack/providers/adapters/telemetry/sample/__init__.py index 756f351d8..d5d0b9cf8 100644 --- a/llama_stack/providers/adapters/telemetry/sample/__init__.py +++ b/llama_stack/providers/adapters/telemetry/sample/__init__.py @@ -3,3 +3,13 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +async def get_adapter_impl(config: SampleConfig, _deps) -> Any: + from .sample import SampleTelemetryImpl + + impl = SampleTelemetryImpl(config) + await impl.initialize() + return impl diff --git a/llama_stack/providers/adapters/telemetry/sample/config.py b/llama_stack/providers/adapters/telemetry/sample/config.py index 756f351d8..4b7404a26 100644 --- a/llama_stack/providers/adapters/telemetry/sample/config.py +++ b/llama_stack/providers/adapters/telemetry/sample/config.py @@ -3,3 +3,10 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from pydantic import BaseModel + + +class SampleConfig(BaseModel): + host: str = "localhost" + port: int = 9999 diff --git a/llama_stack/providers/adapters/telemetry/sample/sample.py b/llama_stack/providers/adapters/telemetry/sample/sample.py index 756f351d8..eaa6d834a 100644 --- a/llama_stack/providers/adapters/telemetry/sample/sample.py +++ b/llama_stack/providers/adapters/telemetry/sample/sample.py @@ -3,3 +3,16 @@ # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. + +from .config import SampleConfig + + +from llama_stack.apis.telemetry import * # noqa: F403 + + +class SampleTelemetryImpl(Telemetry): + def __init__(self, config: SampleConfig): + self.config = config + + async def initialize(self): + pass diff --git a/llama_stack/providers/registry/agents.py b/llama_stack/providers/registry/agents.py index 5d4684d82..16a872572 100644 --- a/llama_stack/providers/registry/agents.py +++ b/llama_stack/providers/registry/agents.py @@ -6,7 +6,7 @@ from typing import List -from llama_stack.distribution.datatypes import Api, InlineProviderSpec, ProviderSpec +from llama_stack.distribution.datatypes import * # noqa: F403 from llama_stack.providers.utils.kvstore import kvstore_dependencies @@ -30,4 +30,13 @@ def available_providers() -> List[ProviderSpec]: Api.memory, ], ), + remote_provider_spec( + api=Api.agents, + adapter=AdapterSpec( + adapter_id="sample", + pip_packages=[], + module="llama_stack.providers.adapters.agents.sample", + config_class="llama_stack.providers.adapters.agents.sample.SampleConfig", + ), + ), ] diff --git a/llama_stack/providers/registry/inference.py b/llama_stack/providers/registry/inference.py index 10b3d6ccc..e862c559f 100644 --- a/llama_stack/providers/registry/inference.py +++ b/llama_stack/providers/registry/inference.py @@ -26,6 +26,15 @@ def available_providers() -> List[ProviderSpec]: module="llama_stack.providers.impls.meta_reference.inference", config_class="llama_stack.providers.impls.meta_reference.inference.MetaReferenceImplConfig", ), + remote_provider_spec( + api=Api.inference, + adapter=AdapterSpec( + adapter_id="sample", + pip_packages=[], + module="llama_stack.providers.adapters.inference.sample", + config_class="llama_stack.providers.adapters.inference.sample.SampleConfig", + ), + ), remote_provider_spec( api=Api.inference, adapter=AdapterSpec( diff --git a/llama_stack/providers/registry/memory.py b/llama_stack/providers/registry/memory.py index 12487567a..33ab33c16 100644 --- a/llama_stack/providers/registry/memory.py +++ b/llama_stack/providers/registry/memory.py @@ -42,4 +42,13 @@ def available_providers() -> List[ProviderSpec]: config_class="llama_stack.providers.adapters.memory.pgvector.PGVectorConfig", ), ), + remote_provider_spec( + api=Api.memory, + adapter=AdapterSpec( + adapter_id="sample", + pip_packages=[], + module="llama_stack.providers.adapters.memory.sample", + config_class="llama_stack.providers.adapters.memory.sample.SampleConfig", + ), + ), ] diff --git a/llama_stack/providers/registry/safety.py b/llama_stack/providers/registry/safety.py index ba1b82277..cb538bea5 100644 --- a/llama_stack/providers/registry/safety.py +++ b/llama_stack/providers/registry/safety.py @@ -23,4 +23,13 @@ def available_providers() -> List[ProviderSpec]: module="llama_stack.providers.impls.meta_reference.safety", config_class="llama_stack.providers.impls.meta_reference.safety.SafetyConfig", ), + remote_provider_spec( + api=Api.safety, + adapter=AdapterSpec( + adapter_id="sample", + pip_packages=[], + module="llama_stack.providers.adapters.safety.sample", + config_class="llama_stack.providers.adapters.safety.sample.SampleConfig", + ), + ), ] diff --git a/llama_stack/providers/registry/telemetry.py b/llama_stack/providers/registry/telemetry.py index 29c57fd86..363578749 100644 --- a/llama_stack/providers/registry/telemetry.py +++ b/llama_stack/providers/registry/telemetry.py @@ -18,4 +18,13 @@ def available_providers() -> List[ProviderSpec]: module="llama_stack.providers.impls.meta_reference.telemetry", config_class="llama_stack.providers.impls.meta_reference.telemetry.ConsoleConfig", ), + remote_provider_spec( + api=Api.telemetry, + adapter=AdapterSpec( + adapter_id="sample", + pip_packages=[], + module="llama_stack.providers.adapters.telemetry.sample", + config_class="llama_stack.providers.adapters.telemetry.sample.SampleConfig", + ), + ), ]