mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-04 12:07:34 +00:00
currently providers have a `pip_package` list. Rather than make our own form of python dependency management, we should use `pyproject.toml` files in each provider declaring the dependencies in a more trackable manner. Each provider can then be installed using the already in place `module` field in the ProviderSpec, pointing to the directory the provider lives in we can then simply `uv pip install` this directory as opposed to installing the dependencies one by one Signed-off-by: Charlie Doern <cdoern@redhat.com>
30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
|
|
from llama_stack.providers.datatypes import Api, InlineProviderSpec, ProviderSpec, RemoteProviderSpec
|
|
from llama_stack.providers.utils.sqlstore.sqlstore import sql_store_pip_packages
|
|
|
|
|
|
def available_providers() -> list[ProviderSpec]:
|
|
return [
|
|
InlineProviderSpec(
|
|
api=Api.files,
|
|
provider_type="inline::localfs",
|
|
# TODO: make this dynamic according to the sql store type
|
|
module="llama_stack.providers.inline.files.localfs",
|
|
config_class="llama_stack.providers.inline.files.localfs.config.LocalfsFilesImplConfig",
|
|
description="Local filesystem-based file storage provider for managing files and documents locally.",
|
|
),
|
|
RemoteProviderSpec(
|
|
api=Api.files,
|
|
provider_type="remote::s3",
|
|
adapter_type="s3",
|
|
pip_packages=["boto3"] + sql_store_pip_packages,
|
|
module="llama_stack.providers.remote.files.s3",
|
|
config_class="llama_stack.providers.remote.files.s3.config.S3FilesImplConfig",
|
|
description="AWS S3-based file storage provider for scalable cloud file management with metadata persistence.",
|
|
),
|
|
]
|