mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-03 18:00:36 +00:00
Updated Elasticsearch configurations
This commit is contained in:
parent
3e26136879
commit
149aaa5b22
8 changed files with 45 additions and 6 deletions
|
|
@ -28,6 +28,7 @@ distribution_spec:
|
||||||
- provider_type: remote::pgvector
|
- provider_type: remote::pgvector
|
||||||
- provider_type: remote::qdrant
|
- provider_type: remote::qdrant
|
||||||
- provider_type: remote::weaviate
|
- provider_type: remote::weaviate
|
||||||
|
- provider_type: remote::elasticsearch
|
||||||
files:
|
files:
|
||||||
- provider_type: inline::localfs
|
- provider_type: inline::localfs
|
||||||
safety:
|
safety:
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,14 @@ providers:
|
||||||
persistence:
|
persistence:
|
||||||
namespace: vector_io::weaviate
|
namespace: vector_io::weaviate
|
||||||
backend: kv_default
|
backend: kv_default
|
||||||
|
- provider_id: ${env.ELASTICSEARCH_URL:+elasticsearch}
|
||||||
|
provider_type: remote::elasticsearch
|
||||||
|
config:
|
||||||
|
elasticsearch_url: ${env.ELASTICSEARCH_URL:=localhost:9200}
|
||||||
|
elasticsearch_api_key: ${env.ELASTICSEARCH_API_KEY:=}
|
||||||
|
persistence:
|
||||||
|
namespace: vector_io::elasticsearch
|
||||||
|
backend: kv_default
|
||||||
files:
|
files:
|
||||||
- provider_id: meta-reference-files
|
- provider_id: meta-reference-files
|
||||||
provider_type: inline::localfs
|
provider_type: inline::localfs
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,14 @@ providers:
|
||||||
persistence:
|
persistence:
|
||||||
namespace: vector_io::weaviate
|
namespace: vector_io::weaviate
|
||||||
backend: kv_default
|
backend: kv_default
|
||||||
|
- provider_id: ${env.ELASTICSEARCH_URL:+elasticsearch}
|
||||||
|
provider_type: remote::elasticsearch
|
||||||
|
config:
|
||||||
|
elasticsearch_url: ${env.ELASTICSEARCH_URL:=localhost:9200}
|
||||||
|
elasticsearch_api_key: ${env.ELASTICSEARCH_API_KEY:=}
|
||||||
|
persistence:
|
||||||
|
namespace: vector_io::elasticsearch
|
||||||
|
backend: kv_default
|
||||||
files:
|
files:
|
||||||
- provider_id: meta-reference-files
|
- provider_id: meta-reference-files
|
||||||
provider_type: inline::localfs
|
provider_type: inline::localfs
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ distribution_spec:
|
||||||
- provider_type: remote::pgvector
|
- provider_type: remote::pgvector
|
||||||
- provider_type: remote::qdrant
|
- provider_type: remote::qdrant
|
||||||
- provider_type: remote::weaviate
|
- provider_type: remote::weaviate
|
||||||
|
- provider_type: remote::elasticsearch
|
||||||
files:
|
files:
|
||||||
- provider_type: inline::localfs
|
- provider_type: inline::localfs
|
||||||
safety:
|
safety:
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,14 @@ providers:
|
||||||
persistence:
|
persistence:
|
||||||
namespace: vector_io::weaviate
|
namespace: vector_io::weaviate
|
||||||
backend: kv_default
|
backend: kv_default
|
||||||
|
- provider_id: ${env.ELASTICSEARCH_URL:+elasticsearch}
|
||||||
|
provider_type: remote::elasticsearch
|
||||||
|
config:
|
||||||
|
elasticsearch_api_key: ${env.ELASTICSEARCH_API_KEY:=}
|
||||||
|
elasticsearch_url: ${env.ELASTICSEARCH_URL:=localhost:9200}
|
||||||
|
persistence:
|
||||||
|
namespace: vector_io::elasticsearch
|
||||||
|
backend: kv_default
|
||||||
files:
|
files:
|
||||||
- provider_id: meta-reference-files
|
- provider_id: meta-reference-files
|
||||||
provider_type: inline::localfs
|
provider_type: inline::localfs
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ from llama_stack.providers.remote.vector_io.pgvector.config import (
|
||||||
)
|
)
|
||||||
from llama_stack.providers.remote.vector_io.qdrant.config import QdrantVectorIOConfig
|
from llama_stack.providers.remote.vector_io.qdrant.config import QdrantVectorIOConfig
|
||||||
from llama_stack.providers.remote.vector_io.weaviate.config import WeaviateVectorIOConfig
|
from llama_stack.providers.remote.vector_io.weaviate.config import WeaviateVectorIOConfig
|
||||||
|
from llama_stack.providers.remote.vector_io.elasticsearch.config import ElasticsearchVectorIOConfig
|
||||||
from llama_stack.providers.utils.kvstore.config import PostgresKVStoreConfig
|
from llama_stack.providers.utils.kvstore.config import PostgresKVStoreConfig
|
||||||
from llama_stack.providers.utils.sqlstore.sqlstore import PostgresSqlStoreConfig
|
from llama_stack.providers.utils.sqlstore.sqlstore import PostgresSqlStoreConfig
|
||||||
|
|
||||||
|
|
@ -126,6 +127,7 @@ def get_distribution_template(name: str = "starter") -> DistributionTemplate:
|
||||||
BuildProvider(provider_type="remote::pgvector"),
|
BuildProvider(provider_type="remote::pgvector"),
|
||||||
BuildProvider(provider_type="remote::qdrant"),
|
BuildProvider(provider_type="remote::qdrant"),
|
||||||
BuildProvider(provider_type="remote::weaviate"),
|
BuildProvider(provider_type="remote::weaviate"),
|
||||||
|
BuildProvider(provider_type="remote::elasticsearch"),
|
||||||
],
|
],
|
||||||
"files": [BuildProvider(provider_type="inline::localfs")],
|
"files": [BuildProvider(provider_type="inline::localfs")],
|
||||||
"safety": [
|
"safety": [
|
||||||
|
|
@ -240,6 +242,15 @@ def get_distribution_template(name: str = "starter") -> DistributionTemplate:
|
||||||
cluster_url="${env.WEAVIATE_CLUSTER_URL:=}",
|
cluster_url="${env.WEAVIATE_CLUSTER_URL:=}",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Provider(
|
||||||
|
provider_id="${env.ELASTICSEARCH_URL:+elasticsearch}",
|
||||||
|
provider_type="remote::elasticsearch",
|
||||||
|
config=ElasticsearchVectorIOConfig.sample_run_config(
|
||||||
|
f"~/.llama/distributions/{name}",
|
||||||
|
elasticsearch_url="${env.ELASTICSEARCH_URL:=localhost:9200}",
|
||||||
|
elasticsearch_api_key="${env.ELASTICSEARCH_API_KEY:=}",
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
"files": [files_provider],
|
"files": [files_provider],
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ from llama_stack.schema_utils import json_schema_type
|
||||||
|
|
||||||
@json_schema_type
|
@json_schema_type
|
||||||
class ElasticsearchVectorIOConfig(BaseModel):
|
class ElasticsearchVectorIOConfig(BaseModel):
|
||||||
api_key: str | None = Field(description="The API key for the Elasticsearch instance", default=None)
|
elasticsearch_api_key: str | None = Field(description="The API key for the Elasticsearch instance", default=None)
|
||||||
hosts: str | None = Field(description="The URL of the Elasticsearch instance", default="localhost:9200")
|
elasticsearch_hosts: str | None = Field(description="The URL of the Elasticsearch instance", default="localhost:9200")
|
||||||
persistence: KVStoreReference | None = Field(
|
persistence: KVStoreReference | None = Field(
|
||||||
description="Config for KV store backend (SQLite only for now)", default=None
|
description="Config for KV store backend (SQLite only for now)", default=None
|
||||||
)
|
)
|
||||||
|
|
@ -23,8 +23,8 @@ class ElasticsearchVectorIOConfig(BaseModel):
|
||||||
@classmethod
|
@classmethod
|
||||||
def sample_run_config(cls, __distro_dir__: str, **kwargs: Any) -> dict[str, Any]:
|
def sample_run_config(cls, __distro_dir__: str, **kwargs: Any) -> dict[str, Any]:
|
||||||
return {
|
return {
|
||||||
"hosts": "${env.ELASTICSEARCH_API_KEY:=None}",
|
"elasticsearch_url": "${env.ELASTICSEARCH_URL:=localhost:9200}",
|
||||||
"api_key": "${env.ELASTICSEARCH_URL:=localhost:9200}",
|
"elasticsearch_api_key": "${env.ELASTICSEARCH_API_KEY:=}",
|
||||||
"persistence": KVStoreReference(
|
"persistence": KVStoreReference(
|
||||||
backend="kv_default",
|
backend="kv_default",
|
||||||
namespace="vector_io::elasticsearch",
|
namespace="vector_io::elasticsearch",
|
||||||
|
|
|
||||||
|
|
@ -244,8 +244,10 @@ class ElasticsearchVectorIOAdapter(OpenAIVectorStoreMixin, VectorIO, VectorStore
|
||||||
self.vector_store_table = None
|
self.vector_store_table = None
|
||||||
|
|
||||||
async def initialize(self) -> None:
|
async def initialize(self) -> None:
|
||||||
client_config = self.config.model_dump(exclude_none=True)
|
self.client = AsyncElasticsearch(
|
||||||
self.client = AsyncElasticsearch(**client_config)
|
hosts=self.config.elasticsearch_url,
|
||||||
|
api_key=self.config.elasticsearch_api_key
|
||||||
|
)
|
||||||
self.kvstore = await kvstore_impl(self.config.persistence)
|
self.kvstore = await kvstore_impl(self.config.persistence)
|
||||||
|
|
||||||
start_key = VECTOR_DBS_PREFIX
|
start_key = VECTOR_DBS_PREFIX
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue