| # Vector database configuration | # Vector database configuration | ||||
| # Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`. | # Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`. | ||||
| VECTOR_STORE=weaviate | VECTOR_STORE=weaviate | ||||
| # Prefix used to create collection name in vector database | |||||
| VECTOR_INDEX_NAME_PREFIX=Vector_index | |||||
| # Weaviate configuration | # Weaviate configuration | ||||
| WEAVIATE_ENDPOINT=http://localhost:8080 | WEAVIATE_ENDPOINT=http://localhost:8080 | 
| default=False, | default=False, | ||||
| ) | ) | ||||
| VECTOR_INDEX_NAME_PREFIX: Optional[str] = Field( | |||||
| description="Prefix used to create collection name in vector database", | |||||
| default="Vector_index", | |||||
| ) | |||||
| class KeywordStoreConfig(BaseSettings): | class KeywordStoreConfig(BaseSettings): | ||||
| KEYWORD_STORE: str = Field( | KEYWORD_STORE: str = Field( | 
| @staticmethod | @staticmethod | ||||
| def gen_collection_name_by_id(dataset_id: str) -> str: | def gen_collection_name_by_id(dataset_id: str) -> str: | ||||
| normalized_dataset_id = dataset_id.replace("-", "_") | normalized_dataset_id = dataset_id.replace("-", "_") | ||||
| return f"Vector_index_{normalized_dataset_id}_Node" | |||||
| return f"{dify_config.VECTOR_INDEX_NAME_PREFIX}_{normalized_dataset_id}_Node" | |||||
| class DatasetProcessRule(Base): | class DatasetProcessRule(Base): | 
| # The type of vector store to use. | # The type of vector store to use. | ||||
| # Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`. | # Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`. | ||||
| VECTOR_STORE=weaviate | VECTOR_STORE=weaviate | ||||
| # Prefix used to create collection name in vector database | |||||
| VECTOR_INDEX_NAME_PREFIX=Vector_index | |||||
| # The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`. | # The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`. | ||||
| WEAVIATE_ENDPOINT=http://weaviate:8080 | WEAVIATE_ENDPOINT=http://weaviate:8080 | 
| SUPABASE_API_KEY: ${SUPABASE_API_KEY:-your-access-key} | SUPABASE_API_KEY: ${SUPABASE_API_KEY:-your-access-key} | ||||
| SUPABASE_URL: ${SUPABASE_URL:-your-server-url} | SUPABASE_URL: ${SUPABASE_URL:-your-server-url} | ||||
| VECTOR_STORE: ${VECTOR_STORE:-weaviate} | VECTOR_STORE: ${VECTOR_STORE:-weaviate} | ||||
| VECTOR_INDEX_NAME_PREFIX: ${VECTOR_INDEX_NAME_PREFIX:-Vector_index} | |||||
| WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080} | WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080} | ||||
| WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih} | WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih} | ||||
| QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333} | QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333} |