Spaces:
Build error
Build error
Gouzi Mohaled
commited on
Commit
·
99b43a7
1
Parent(s):
2fdbd5c
Ajout du dossier config
Browse files- config/config.yaml +349 -0
- config/development.yaml +29 -0
- config/production.yaml +7 -0
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
|