Revert "feat(knowledgebase): replace litellm-pgvector connector with memory-retrieval"
This reverts commitabeadc49c8. Restores vendor/litellm-pgvector/ and the vector_store_registry wiring (in-band file_search tool-call support) at the user's request, after re-confirming against docs.litellm.ai/docs/completion/knowledgebase and litellm-pgvector's own README that pg_vector is still not an in-process vector_store_registry backend -- it requires this same standalone connector service either way, so there is no simpler 'native' path that was missed. Trading back in: 793 lines of vendored code, the untested Prisma migration, and the git-context build risk noted in VENDORED.md (all flagged as unverified against real hardware in issue #24), in exchange for the file_search in-band tool call memory-retrieval did not support. Conflicts resolved on top of later commits (Redis, update.sh key-minting fold-in): - .env.example / docs/memory-knowledgebase.md: kept the auto-mint-via- update.sh language, renamed MEMORY_RETRIEVAL_* back to LITELLM_PGVECTOR_*. - scripts/generate-secrets.sh: left deleted -- its job was folded into update.sh in24d749b, unrelated to this revert. - scripts/update.sh: renamed the MEMORY_RETRIEVAL_* secret/mint calls to LITELLM_PGVECTOR_* to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018WHfjWrSEcGhCoeu6dQfDa
This commit is contained in:
Vendored
+60
@@ -0,0 +1,60 @@
|
||||
from typing import Dict, Optional
|
||||
from pydantic import BaseModel
|
||||
from pydantic_settings import BaseSettings
|
||||
|
||||
|
||||
class DatabaseFieldConfig(BaseModel):
|
||||
"""Configuration for database field mappings"""
|
||||
id_field: str = "id"
|
||||
content_field: str = "content"
|
||||
metadata_field: str = "metadata"
|
||||
embedding_field: str = "embedding"
|
||||
vector_store_id_field: str = "vector_store_id"
|
||||
created_at_field: str = "created_at"
|
||||
|
||||
|
||||
class EmbeddingConfig(BaseModel):
|
||||
"""Configuration for embedding generation via LiteLLM proxy"""
|
||||
model: str = "text-embedding-ada-002"
|
||||
base_url: str = "http://localhost:4000" # LiteLLM proxy URL
|
||||
api_key: str = "sk-1234" # LiteLLM proxy API key
|
||||
dimensions: int = 1536
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""Application settings"""
|
||||
# Database configuration
|
||||
database_url: str = "postgresql://username:password@localhost:5432/vectordb?schema=public"
|
||||
|
||||
# API configuration
|
||||
server_api_key: str = "your-api-key-here"
|
||||
port: int = 8000
|
||||
host: str = "0.0.0.0"
|
||||
|
||||
# Database field mappings
|
||||
db_fields: DatabaseFieldConfig = DatabaseFieldConfig()
|
||||
|
||||
# Embedding configuration
|
||||
embedding: EmbeddingConfig = EmbeddingConfig()
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
env_nested_delimiter = "__"
|
||||
case_sensitive = False
|
||||
|
||||
# Allow environment variables like:
|
||||
# DB_FIELDS__ID_FIELD=custom_id
|
||||
# EMBEDDING__MODEL=text-embedding-3-small
|
||||
# EMBEDDING__API_BASE=https://api.openai.com/v1
|
||||
|
||||
@property
|
||||
def table_names(self) -> Dict[str, str]:
|
||||
"""Get table names"""
|
||||
return {
|
||||
"vector_stores": "vector_stores",
|
||||
"embeddings": "embeddings"
|
||||
}
|
||||
|
||||
|
||||
# Global settings instance
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user