555e282cc4
pi-agent-plugin checks / lint (push) Has been cancelled
pi-agent-plugin checks / test (20) (push) Has been cancelled
pi-agent-plugin checks / test (22) (push) Has been cancelled
pi-agent-plugin checks / build (push) Has been cancelled
TypeScript SDK CI / check_changes (push) Has been cancelled
TypeScript SDK CI / changelog_check (push) Has been cancelled
ci / changelog_check (push) Has been cancelled
ci / check_changes (push) Has been cancelled
ci / build_mem0 (3.10) (push) Has been cancelled
ci / build_mem0 (3.11) (push) Has been cancelled
ci / build_mem0 (3.12) (push) Has been cancelled
CLI Node CI / lint (push) Has been cancelled
CLI Node CI / test (20) (push) Has been cancelled
CLI Node CI / test (22) (push) Has been cancelled
CLI Node CI / build (push) Has been cancelled
CLI Python CI / lint (push) Has been cancelled
CLI Python CI / test (3.10) (push) Has been cancelled
CLI Python CI / test (3.11) (push) Has been cancelled
CLI Python CI / test (3.12) (push) Has been cancelled
CLI Python CI / build (push) Has been cancelled
openclaw checks / lint (push) Has been cancelled
openclaw checks / test (20) (push) Has been cancelled
openclaw checks / test (22) (push) Has been cancelled
openclaw checks / build (push) Has been cancelled
opencode-plugin checks / build (push) Has been cancelled
TypeScript SDK CI / build_ts_sdk (20) (push) Has been cancelled
TypeScript SDK CI / build_ts_sdk (22) (push) Has been cancelled
TypeScript SDK CI / integration_ts_sdk (20) (push) Has been cancelled
TypeScript SDK CI / integration_ts_sdk (22) (push) Has been cancelled
32 lines
906 B
Python
32 lines
906 B
Python
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field, field_validator
|
|
|
|
|
|
class EmbedderConfig(BaseModel):
|
|
provider: str = Field(
|
|
description="Provider of the embedding model (e.g., 'ollama', 'openai')",
|
|
default="openai",
|
|
)
|
|
config: Optional[dict] = Field(description="Configuration for the specific embedding model", default={})
|
|
|
|
@field_validator("config")
|
|
def validate_config(cls, v, values):
|
|
provider = values.data.get("provider")
|
|
if provider in [
|
|
"openai",
|
|
"ollama",
|
|
"huggingface",
|
|
"azure_openai",
|
|
"gemini",
|
|
"vertexai",
|
|
"together",
|
|
"lmstudio",
|
|
"langchain",
|
|
"aws_bedrock",
|
|
"fastembed",
|
|
]:
|
|
return v
|
|
else:
|
|
raise ValueError(f"Unsupported embedding provider: {provider}")
|