|
27 | 27 |
|
28 | 28 | import veadk.config # noqa E401 |
29 | 29 | from veadk.configs.database_configs import OpensearchConfig |
30 | | -from veadk.configs.model_configs import EmbeddingModelConfig, NormalEmbeddingModelConfig |
| 30 | +from veadk.configs.model_configs import ( |
| 31 | + EmbeddingModelConfig, |
| 32 | + NormalEmbeddingModelConfig, |
| 33 | +) |
31 | 34 | from veadk.knowledgebase.backends.base_backend import BaseKnowledgebaseBackend |
32 | 35 | from veadk.knowledgebase.backends.utils import get_llama_index_splitter |
| 36 | +from veadk.utils.logger import get_logger |
33 | 37 |
|
34 | 38 | try: |
35 | 39 | from llama_index.vector_stores.opensearch import ( |
|
42 | 46 | ) |
43 | 47 |
|
44 | 48 |
|
| 49 | +logger = get_logger(__name__) |
| 50 | + |
| 51 | + |
45 | 52 | class OpensearchKnowledgeBackend(BaseKnowledgebaseBackend): |
46 | 53 | """Opensearch-based backend for knowledgebase. |
47 | 54 |
|
@@ -79,15 +86,22 @@ class OpensearchKnowledgeBackend(BaseKnowledgebaseBackend): |
79 | 86 |
|
80 | 87 | def model_post_init(self, __context: Any) -> None: |
81 | 88 | self.precheck_index_naming() |
| 89 | + |
| 90 | + if not self.opensearch_config.cert_path: |
| 91 | + logger.warning( |
| 92 | + "OpenSearch cert_path is not set, which may lead to security risks" |
| 93 | + ) |
| 94 | + |
82 | 95 | self._opensearch_client = OpensearchVectorClient( |
83 | 96 | endpoint=self.opensearch_config.host, |
84 | 97 | port=self.opensearch_config.port, |
85 | 98 | http_auth=( |
86 | 99 | self.opensearch_config.username, |
87 | 100 | self.opensearch_config.password, |
88 | 101 | ), |
89 | | - use_ssl=True, |
90 | | - verify_certs=False, |
| 102 | + use_ssl=self.opensearch_config.use_ssl, |
| 103 | + verify_certs=False if not self.opensearch_config.cert_path else True, |
| 104 | + ca_certs=self.opensearch_config.cert_path, |
91 | 105 | dim=self.embedding_config.dim, |
92 | 106 | index=self.index, # collection name |
93 | 107 | ) |
|
0 commit comments