Gouzi Mohaled commited on
Commit
99b43a7
·
1 Parent(s): 2fdbd5c

Ajout du dossier config

Browse files
config/config.yaml ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ log_level: INFO
2
+
3
+ # Logging configuration
4
+ # Qdrant logs to stdout. You may configure to also write logs to a file on disk.
5
+ # Be aware that this file may grow indefinitely.
6
+ # logger:
7
+ # on_disk:
8
+ # enabled: true
9
+ # log_file: path/to/log/file.log
10
+ # log_level: INFO
11
+
12
+ storage:
13
+ # Where to store all the data
14
+ storage_path: ./storage
15
+
16
+ # Where to store snapshots
17
+ snapshots_path: ./snapshots
18
+
19
+ snapshots_config:
20
+ # "local" or "s3" - where to store snapshots
21
+ snapshots_storage: local
22
+ # s3_config:
23
+ # bucket: ""
24
+ # region: ""
25
+ # access_key: ""
26
+ # secret_key: ""
27
+
28
+ # Where to store temporary files
29
+ # If null, temporary snapshot are stored in: storage/snapshots_temp/
30
+ temp_path: null
31
+
32
+ # If true - point's payload will not be stored in memory.
33
+ # It will be read from the disk every time it is requested.
34
+ # This setting saves RAM by (slightly) increasing the response time.
35
+ # Note: those payload values that are involved in filtering and are indexed - remain in RAM.
36
+ #
37
+ # Default: true
38
+ on_disk_payload: true
39
+
40
+ # Maximum number of concurrent updates to shard replicas
41
+ # If `null` - maximum concurrency is used.
42
+ update_concurrency: null
43
+
44
+ # Write-ahead-log related configuration
45
+ wal:
46
+ # Size of a single WAL segment
47
+ wal_capacity_mb: 32
48
+
49
+ # Number of WAL segments to create ahead of actual data requirement
50
+ wal_segments_ahead: 0
51
+
52
+ # Normal node - receives all updates and answers all queries
53
+ node_type: "Normal"
54
+
55
+ # Listener node - receives all updates, but does not answer search/read queries
56
+ # Useful for setting up a dedicated backup node
57
+ # node_type: "Listener"
58
+
59
+ performance:
60
+ # Number of parallel threads used for search operations. If 0 - auto selection.
61
+ max_search_threads: 0
62
+
63
+ # Max number of threads (jobs) for running optimizations across all collections, each thread runs one job.
64
+ # If 0 - have no limit and choose dynamically to saturate CPU.
65
+ # Note: each optimization job will also use `max_indexing_threads` threads by itself for index building.
66
+ max_optimization_threads: 0
67
+
68
+ # CPU budget, how many CPUs (threads) to allocate for an optimization job.
69
+ # If 0 - auto selection, keep 1 or more CPUs unallocated depending on CPU size
70
+ # If negative - subtract this number of CPUs from the available CPUs.
71
+ # If positive - use this exact number of CPUs.
72
+ optimizer_cpu_budget: 0
73
+
74
+ # Prevent DDoS of too many concurrent updates in distributed mode.
75
+ # One external update usually triggers multiple internal updates, which breaks internal
76
+ # timings. For example, the health check timing and consensus timing.
77
+ # If null - auto selection.
78
+ update_rate_limit: null
79
+
80
+ # Limit for number of incoming automatic shard transfers per collection on this node, does not affect user-requested transfers.
81
+ # The same value should be used on all nodes in a cluster.
82
+ # Default is to allow 1 transfer.
83
+ # If null - allow unlimited transfers.
84
+ #incoming_shard_transfers_limit: 1
85
+
86
+ # Limit for number of outgoing automatic shard transfers per collection on this node, does not affect user-requested transfers.
87
+ # The same value should be used on all nodes in a cluster.
88
+ # Default is to allow 1 transfer.
89
+ # If null - allow unlimited transfers.
90
+ #outgoing_shard_transfers_limit: 1
91
+
92
+ # Enable async scorer which uses io_uring when rescoring.
93
+ # Only supported on Linux, must be enabled in your kernel.
94
+ # See: <https://qdrant.tech/articles/io_uring/#and-what-about-qdrant>
95
+ #async_scorer: false
96
+
97
+ optimizers:
98
+ # The minimal fraction of deleted vectors in a segment, required to perform segment optimization
99
+ deleted_threshold: 0.2
100
+
101
+ # The minimal number of vectors in a segment, required to perform segment optimization
102
+ vacuum_min_vector_number: 1000
103
+
104
+ # Target amount of segments optimizer will try to keep.
105
+ # Real amount of segments may vary depending on multiple parameters:
106
+ # - Amount of stored points
107
+ # - Current write RPS
108
+ #
109
+ # It is recommended to select default number of segments as a factor of the number of search threads,
110
+ # so that each segment would be handled evenly by one of the threads.
111
+ # If `default_segment_number = 0`, will be automatically selected by the number of available CPUs
112
+ default_segment_number: 0
113
+
114
+ # Do not create segments larger this size (in KiloBytes).
115
+ # Large segments might require disproportionately long indexation times,
116
+ # therefore it makes sense to limit the size of segments.
117
+ #
118
+ # If indexation speed have more priority for your - make this parameter lower.
119
+ # If search speed is more important - make this parameter higher.
120
+ # Note: 1Kb = 1 vector of size 256
121
+ # If not set, will be automatically selected considering the number of available CPUs.
122
+ max_segment_size_kb: null
123
+
124
+ # Maximum size (in KiloBytes) of vectors to store in-memory per segment.
125
+ # Segments larger than this threshold will be stored as read-only memmaped file.
126
+ # To enable memmap storage, lower the threshold
127
+ # Note: 1Kb = 1 vector of size 256
128
+ # To explicitly disable mmap optimization, set to `0`.
129
+ # If not set, will be disabled by default.
130
+ memmap_threshold_kb: null
131
+
132
+ # Maximum size (in KiloBytes) of vectors allowed for plain index.
133
+ # Default value based on https://github.com/google-research/google-research/blob/master/scann/docs/algorithms.md
134
+ # Note: 1Kb = 1 vector of size 256
135
+ # To explicitly disable vector indexing, set to `0`.
136
+ # If not set, the default value will be used.
137
+ indexing_threshold_kb: 20000
138
+
139
+ # Interval between forced flushes.
140
+ flush_interval_sec: 5
141
+
142
+ # Max number of threads (jobs) for running optimizations per shard.
143
+ # Note: each optimization job will also use `max_indexing_threads` threads by itself for index building.
144
+ # If null - have no limit and choose dynamically to saturate CPU.
145
+ # If 0 - no optimization threads, optimizations will be disabled.
146
+ max_optimization_threads: null
147
+
148
+ # This section has the same options as 'optimizers' above. All values specified here will overwrite the collections
149
+ # optimizers configs regardless of the config above and the options specified at collection creation.
150
+ #optimizers_overwrite:
151
+ # deleted_threshold: 0.2
152
+ # vacuum_min_vector_number: 1000
153
+ # default_segment_number: 0
154
+ # max_segment_size_kb: null
155
+ # memmap_threshold_kb: null
156
+ # indexing_threshold_kb: 20000
157
+ # flush_interval_sec: 5
158
+ # max_optimization_threads: null
159
+
160
+ # Default parameters of HNSW Index. Could be overridden for each collection or named vector individually
161
+ hnsw_index:
162
+ # Number of edges per node in the index graph. Larger the value - more accurate the search, more space required.
163
+ m: 16
164
+
165
+ # Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build index.
166
+ ef_construct: 100
167
+
168
+ # Minimal size (in KiloBytes) of vectors for additional payload-based indexing.
169
+ # If payload chunk is smaller than `full_scan_threshold_kb` additional indexing won't be used -
170
+ # in this case full-scan search should be preferred by query planner and additional indexing is not required.
171
+ # Note: 1Kb = 1 vector of size 256
172
+ full_scan_threshold_kb: 10000
173
+
174
+ # Number of parallel threads used for background index building.
175
+ # If 0 - automatically select.
176
+ # Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW graphs.
177
+ # On small CPUs, less threads are used.
178
+ max_indexing_threads: 0
179
+
180
+ # Store HNSW index on disk. If set to false, index will be stored in RAM. Default: false
181
+ on_disk: false
182
+
183
+ # Custom M param for hnsw graph built for payload index. If not set, default M will be used.
184
+ payload_m: null
185
+
186
+ # Default shard transfer method to use if none is defined.
187
+ # If null - don't have a shard transfer preference, choose automatically.
188
+ # If stream_records, snapshot or wal_delta - prefer this specific method.
189
+ # More info: https://qdrant.tech/documentation/guides/distributed_deployment/#shard-transfer-method
190
+ shard_transfer_method: null
191
+
192
+ # Default parameters for collections
193
+ collection:
194
+ # Number of replicas of each shard that network tries to maintain
195
+ replication_factor: 1
196
+
197
+ # How many replicas should apply the operation for us to consider it successful
198
+ write_consistency_factor: 1
199
+
200
+ # Default parameters for vectors.
201
+ vectors:
202
+ # Whether vectors should be stored in memory or on disk.
203
+ on_disk: null
204
+
205
+ # shard_number_per_node: 1
206
+
207
+ # Default quantization configuration.
208
+ # More info: https://qdrant.tech/documentation/guides/quantization
209
+ quantization: null
210
+
211
+ # Default strict mode parameters for newly created collections.
212
+ strict_mode:
213
+ # Whether strict mode is enabled for a collection or not.
214
+ enabled: false
215
+
216
+ # Max allowed `limit` parameter for all APIs that don't have their own max limit.
217
+ max_query_limit: null
218
+
219
+ # Max allowed `timeout` parameter.
220
+ max_timeout: null
221
+
222
+ # Allow usage of unindexed fields in retrieval based (eg. search) filters.
223
+ unindexed_filtering_retrieve: null
224
+
225
+ # Allow usage of unindexed fields in filtered updates (eg. delete by payload).
226
+ unindexed_filtering_update: null
227
+
228
+ # Max HNSW value allowed in search parameters.
229
+ search_max_hnsw_ef: null
230
+
231
+ # Whether exact search is allowed or not.
232
+ search_allow_exact: null
233
+
234
+ # Max oversampling value allowed in search.
235
+ search_max_oversampling: null
236
+
237
+ service:
238
+ # Maximum size of POST data in a single request in megabytes
239
+ max_request_size_mb: 32
240
+
241
+ # Number of parallel workers used for serving the api. If 0 - equal to the number of available cores.
242
+ # If missing - Same as storage.max_search_threads
243
+ max_workers: 0
244
+
245
+ # Host to bind the service on
246
+ host: 0.0.0.0
247
+
248
+ # HTTP(S) port to bind the service on
249
+ http_port: 6333
250
+
251
+ # gRPC port to bind the service on.
252
+ # If `null` - gRPC is disabled. Default: null
253
+ # Comment to disable gRPC:
254
+ grpc_port: 6334
255
+
256
+ # Enable CORS headers in REST API.
257
+ # If enabled, browsers would be allowed to query REST endpoints regardless of query origin.
258
+ # More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
259
+ # Default: true
260
+ enable_cors: true
261
+
262
+ # Enable HTTPS for the REST and gRPC API
263
+ enable_tls: false
264
+
265
+ # Check user HTTPS client certificate against CA file specified in tls config
266
+ verify_https_client_certificate: false
267
+
268
+ # Set an api-key.
269
+ # If set, all requests must include a header with the api-key.
270
+ # example header: `api-key: <API-KEY>`
271
+ #
272
+ # If you enable this you should also enable TLS.
273
+ # (Either above or via an external service like nginx.)
274
+ # Sending an api-key over an unencrypted channel is insecure.
275
+ #
276
+ # Uncomment to enable.
277
+ # api_key: your_secret_api_key_here
278
+
279
+ # Set an api-key for read-only operations.
280
+ # If set, all requests must include a header with the api-key.
281
+ # example header: `api-key: <API-KEY>`
282
+ #
283
+ # If you enable this you should also enable TLS.
284
+ # (Either above or via an external service like nginx.)
285
+ # Sending an api-key over an unencrypted channel is insecure.
286
+ #
287
+ # Uncomment to enable.
288
+ # read_only_api_key: your_secret_read_only_api_key_here
289
+
290
+ # Uncomment to enable JWT Role Based Access Control (RBAC).
291
+ # If enabled, you can generate JWT tokens with fine-grained rules for access control.
292
+ # Use generated token instead of API key.
293
+ #
294
+ # jwt_rbac: true
295
+
296
+ # Hardware reporting adds information to the API responses with a
297
+ # hint on how many resources were used to execute the request.
298
+ #
299
+ # Uncomment to enable.
300
+ # hardware_reporting: true
301
+
302
+ cluster:
303
+ # Use `enabled: true` to run Qdrant in distributed deployment mode
304
+ enabled: false
305
+
306
+ # Configuration of the inter-cluster communication
307
+ p2p:
308
+ # Port for internal communication between peers
309
+ port: 6335
310
+
311
+ # Use TLS for communication between peers
312
+ enable_tls: false
313
+
314
+ # Configuration related to distributed consensus algorithm
315
+ consensus:
316
+ # How frequently peers should ping each other.
317
+ # Setting this parameter to lower value will allow consensus
318
+ # to detect disconnected nodes earlier, but too frequent
319
+ # tick period may create significant network and CPU overhead.
320
+ # We encourage you NOT to change this parameter unless you know what you are doing.
321
+ tick_period_ms: 100
322
+
323
+ # Set to true to prevent service from sending usage statistics to the developers.
324
+ # Read more: https://qdrant.tech/documentation/guides/telemetry
325
+ telemetry_disabled: false
326
+
327
+ # TLS configuration.
328
+ # Required if either service.enable_tls or cluster.p2p.enable_tls is true.
329
+ tls:
330
+ # Server certificate chain file
331
+ cert: ./tls/cert.pem
332
+
333
+ # Server private key file
334
+ key: ./tls/key.pem
335
+
336
+ # Certificate authority certificate file.
337
+ # This certificate will be used to validate the certificates
338
+ # presented by other nodes during inter-cluster communication.
339
+ #
340
+ # If verify_https_client_certificate is true, it will verify
341
+ # HTTPS client certificate
342
+ #
343
+ # Required if cluster.p2p.enable_tls is true.
344
+ ca_cert: ./tls/cacert.pem
345
+
346
+ # TTL in seconds to reload certificate from disk, useful for certificate rotations.
347
+ # Only works for HTTPS endpoints. Does not support gRPC (and intra-cluster communication).
348
+ # If `null` - TTL is disabled.
349
+ cert_ttl: 3600
config/development.yaml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ log_level: DEBUG
2
+
3
+ inference:
4
+ address: "http://localhost:2114/api/v1/infer"
5
+ timeout: 10
6
+ token: "98eb568c-dea5-4347-a3a5-583478983bb9"
7
+
8
+ service:
9
+ host: 127.0.0.1
10
+ http_port: 6333
11
+ # Uncomment to enable gRPC:
12
+ #grpc_port: 6334
13
+ #api_key: your_secret_api_key_here
14
+
15
+
16
+ storage:
17
+ performance:
18
+ # Number of parallel threads used for search operations. If 0 - auto selection.
19
+ max_search_threads: 4
20
+
21
+ optimizers:
22
+ # Minimum interval between forced flushes.
23
+ flush_interval_sec: 5
24
+
25
+ # Do not create too much segments in dev
26
+ default_segment_number: 2
27
+
28
+ handle_collection_load_errors: true
29
+
config/production.yaml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ log_level: INFO
2
+
3
+ service:
4
+ host: 0.0.0.0
5
+ http_port: 6333
6
+ # Uncomment to enable gRPC:
7
+ #grpc_port: 6334