mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
feat: add min-connection and max-connection for pgvector (#8841)
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
This commit is contained in:
parent
c828a5dfdf
commit
55e6123db9
|
@ -162,6 +162,8 @@ PGVECTOR_PORT=5433
|
||||||
PGVECTOR_USER=postgres
|
PGVECTOR_USER=postgres
|
||||||
PGVECTOR_PASSWORD=postgres
|
PGVECTOR_PASSWORD=postgres
|
||||||
PGVECTOR_DATABASE=postgres
|
PGVECTOR_DATABASE=postgres
|
||||||
|
PGVECTOR_MIN_CONNECTION=1
|
||||||
|
PGVECTOR_MAX_CONNECTION=5
|
||||||
|
|
||||||
# Tidb Vector configuration
|
# Tidb Vector configuration
|
||||||
TIDB_VECTOR_HOST=xxx.eu-central-1.xxx.aws.tidbcloud.com
|
TIDB_VECTOR_HOST=xxx.eu-central-1.xxx.aws.tidbcloud.com
|
||||||
|
|
|
@ -33,3 +33,13 @@ class PGVectorConfig(BaseSettings):
|
||||||
description="Name of the PostgreSQL database to connect to",
|
description="Name of the PostgreSQL database to connect to",
|
||||||
default=None,
|
default=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
PGVECTOR_MIN_CONNECTION: PositiveInt = Field(
|
||||||
|
description="Min connection of the PostgreSQL database",
|
||||||
|
default=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
PGVECTOR_MAX_CONNECTION: PositiveInt = Field(
|
||||||
|
description="Max connection of the PostgreSQL database",
|
||||||
|
default=5,
|
||||||
|
)
|
||||||
|
|
|
@ -23,6 +23,8 @@ class PGVectorConfig(BaseModel):
|
||||||
user: str
|
user: str
|
||||||
password: str
|
password: str
|
||||||
database: str
|
database: str
|
||||||
|
min_connection: int
|
||||||
|
max_connection: int
|
||||||
|
|
||||||
@model_validator(mode="before")
|
@model_validator(mode="before")
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -37,6 +39,12 @@ class PGVectorConfig(BaseModel):
|
||||||
raise ValueError("config PGVECTOR_PASSWORD is required")
|
raise ValueError("config PGVECTOR_PASSWORD is required")
|
||||||
if not values["database"]:
|
if not values["database"]:
|
||||||
raise ValueError("config PGVECTOR_DATABASE is required")
|
raise ValueError("config PGVECTOR_DATABASE is required")
|
||||||
|
if not values["min_connection"]:
|
||||||
|
raise ValueError("config PGVECTOR_MIN_CONNECTION is required")
|
||||||
|
if not values["max_connection"]:
|
||||||
|
raise ValueError("config PGVECTOR_MAX_CONNECTION is required")
|
||||||
|
if values["min_connection"] > values["max_connection"]:
|
||||||
|
raise ValueError("config PGVECTOR_MIN_CONNECTION should less than PGVECTOR_MAX_CONNECTION")
|
||||||
return values
|
return values
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,8 +69,8 @@ class PGVector(BaseVector):
|
||||||
|
|
||||||
def _create_connection_pool(self, config: PGVectorConfig):
|
def _create_connection_pool(self, config: PGVectorConfig):
|
||||||
return psycopg2.pool.SimpleConnectionPool(
|
return psycopg2.pool.SimpleConnectionPool(
|
||||||
1,
|
config.min_connection,
|
||||||
5,
|
config.max_connection,
|
||||||
host=config.host,
|
host=config.host,
|
||||||
port=config.port,
|
port=config.port,
|
||||||
user=config.user,
|
user=config.user,
|
||||||
|
@ -213,5 +221,7 @@ class PGVectorFactory(AbstractVectorFactory):
|
||||||
user=dify_config.PGVECTOR_USER,
|
user=dify_config.PGVECTOR_USER,
|
||||||
password=dify_config.PGVECTOR_PASSWORD,
|
password=dify_config.PGVECTOR_PASSWORD,
|
||||||
database=dify_config.PGVECTOR_DATABASE,
|
database=dify_config.PGVECTOR_DATABASE,
|
||||||
|
min_connection=dify_config.PGVECTOR_MIN_CONNECTION,
|
||||||
|
max_connection=dify_config.PGVECTOR_MAX_CONNECTION,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -18,6 +18,8 @@ class PGVectorTest(AbstractVectorTest):
|
||||||
user="postgres",
|
user="postgres",
|
||||||
password="difyai123456",
|
password="difyai123456",
|
||||||
database="dify",
|
database="dify",
|
||||||
|
min_connection=1,
|
||||||
|
max_connection=5,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -391,6 +391,8 @@ PGVECTOR_PORT=5432
|
||||||
PGVECTOR_USER=postgres
|
PGVECTOR_USER=postgres
|
||||||
PGVECTOR_PASSWORD=difyai123456
|
PGVECTOR_PASSWORD=difyai123456
|
||||||
PGVECTOR_DATABASE=dify
|
PGVECTOR_DATABASE=dify
|
||||||
|
PGVECTOR_MIN_CONNECTION=1
|
||||||
|
PGVECTOR_MAX_CONNECTION=5
|
||||||
|
|
||||||
# pgvecto-rs configurations, only available when VECTOR_STORE is `pgvecto-rs`
|
# pgvecto-rs configurations, only available when VECTOR_STORE is `pgvecto-rs`
|
||||||
PGVECTO_RS_HOST=pgvecto-rs
|
PGVECTO_RS_HOST=pgvecto-rs
|
||||||
|
|
Loading…
Reference in New Issue
Block a user