mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-03 01:48:05 +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::qdrant
|
||||
- provider_type: remote::weaviate
|
||||
- provider_type: remote::elasticsearch
|
||||
files:
|
||||
- provider_type: inline::localfs
|
||||
safety:
|
||||
|
|
|
|||
|
|
@ -146,6 +146,14 @@ providers:
|
|||
persistence:
|
||||
namespace: vector_io::weaviate
|
||||
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:
|
||||
- provider_id: meta-reference-files
|
||||
provider_type: inline::localfs
|
||||
|
|
|
|||
|
|
@ -146,6 +146,14 @@ providers:
|
|||
persistence:
|
||||
namespace: vector_io::weaviate
|
||||
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:
|
||||
- provider_id: meta-reference-files
|
||||
provider_type: inline::localfs
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ distribution_spec:
|
|||
- provider_type: remote::pgvector
|
||||
- provider_type: remote::qdrant
|
||||
- provider_type: remote::weaviate
|
||||
- provider_type: remote::elasticsearch
|
||||
files:
|
||||
- provider_type: inline::localfs
|
||||
safety:
|
||||
|
|
|
|||
|
|
@ -146,6 +146,14 @@ providers:
|
|||
persistence:
|
||||
namespace: vector_io::weaviate
|
||||
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:
|
||||
- provider_id: meta-reference-files
|
||||
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.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.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::qdrant"),
|
||||
BuildProvider(provider_type="remote::weaviate"),
|
||||
BuildProvider(provider_type="remote::elasticsearch"),
|
||||
],
|
||||
"files": [BuildProvider(provider_type="inline::localfs")],
|
||||
"safety": [
|
||||
|
|
@ -240,6 +242,15 @@ def get_distribution_template(name: str = "starter") -> DistributionTemplate:
|
|||
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],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ from llama_stack.schema_utils import json_schema_type
|
|||
|
||||
@json_schema_type
|
||||
class ElasticsearchVectorIOConfig(BaseModel):
|
||||
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_api_key: str | None = Field(description="The API key for the Elasticsearch instance", default=None)
|
||||
elasticsearch_hosts: str | None = Field(description="The URL of the Elasticsearch instance", default="localhost:9200")
|
||||
persistence: KVStoreReference | None = Field(
|
||||
description="Config for KV store backend (SQLite only for now)", default=None
|
||||
)
|
||||
|
|
@ -23,8 +23,8 @@ class ElasticsearchVectorIOConfig(BaseModel):
|
|||
@classmethod
|
||||
def sample_run_config(cls, __distro_dir__: str, **kwargs: Any) -> dict[str, Any]:
|
||||
return {
|
||||
"hosts": "${env.ELASTICSEARCH_API_KEY:=None}",
|
||||
"api_key": "${env.ELASTICSEARCH_URL:=localhost:9200}",
|
||||
"elasticsearch_url": "${env.ELASTICSEARCH_URL:=localhost:9200}",
|
||||
"elasticsearch_api_key": "${env.ELASTICSEARCH_API_KEY:=}",
|
||||
"persistence": KVStoreReference(
|
||||
backend="kv_default",
|
||||
namespace="vector_io::elasticsearch",
|
||||
|
|
|
|||
|
|
@ -244,8 +244,10 @@ class ElasticsearchVectorIOAdapter(OpenAIVectorStoreMixin, VectorIO, VectorStore
|
|||
self.vector_store_table = None
|
||||
|
||||
async def initialize(self) -> None:
|
||||
client_config = self.config.model_dump(exclude_none=True)
|
||||
self.client = AsyncElasticsearch(**client_config)
|
||||
self.client = AsyncElasticsearch(
|
||||
hosts=self.config.elasticsearch_url,
|
||||
api_key=self.config.elasticsearch_api_key
|
||||
)
|
||||
self.kvstore = await kvstore_impl(self.config.persistence)
|
||||
|
||||
start_key = VECTOR_DBS_PREFIX
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue