T2V-TransFormers-1 |信息:172.21.0.4:55808-“ post /vectors http /1.1” 200 Weaviate-1 | {“ build_git_commit”:“ 584532a”,...“错误”:
错误表明使用--write-timeout=600s
增加服务器端超时。当我将其添加到编织的Docker配置中时,容器开始反复重新加载有关缺少TLS证书的错误。为了解决TLS问题,我使用OpenSSL生成了证书,将其映射到容器中,并配置了编织以使用它们。 there是我当前的docker构成编织和t2v-transformer的配置:
weaviate: image: cr.weaviate.io/semitechnologies/weaviate:1.26.4 restart: unless-stopped ports: - 8080:8080 - 50051:50051 volumes: - /var/beyond_weaviate_data:/data - ./certs:/certs command: [ "/app/weaviate", "--write-timeout=600s", "--tls-certificate=/certs/cert.pem", "--tls-key=/certs/key.pem" ] environment: QUERY_DEFAULTS_LIMIT: 100 AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: "/data" DEFAULT_VECTORIZER_MODULE: text2vec-transformers ENABLE_MODULES: text2vec-transformers TRANSFORMERS_INFERENCE_API: http://t2v-transformers:8080 CLUSTER_HOSTNAME: 'node1' BATCH_TIMEOUT: 300 t2v-transformers: image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-multi-qa-MiniLM-L6-cos-v1 restart: unless-stopped environment: ENABLE_CUDA: 0 USE_SENTENCE_TRANSFORMERS_MULTI_PROCESS: "true" ENABLE_CACHE: "true"
添加证书参数后,容器停止重新加载,但是现在我的应用程序无法连接。我在.NET客户端中获得连接错误类似:
at System.Net.Http.HttpConnection.<SendAsync>d__57.MoveNext()
...
at NLP_LLMEngine.Services.WeaviateVectorizationService.<CreateCollectionIfNotExistsAsync>d__11.MoveNext() in ...\WeaviateVectorizationService.cs:line 70
t2v-transformers:8080
上拒绝)。这就是我遇到连接性问题和超时错误的方式。 我的问题
如何安全地添加服务器端写入超时(例如,
--write-timeout=600s
)以批量矢量化而不会引起TLS证书问题或重新启动容器?而且,如果在我的情况下需要TLS,是否有一种方法可以配置编织以使用指定的TLS证书和密钥,而不会干扰编织和T2V-Transformers之间的通信? 我是向量数据库的新手,并编织。
hi!来自这里编织的Duda Nogueira。 this Earke像Transformer推理容器的时机有关。 this Timeout默认情况下是50s,可以按照此处的记录进行更改:https://weaviate.io/developers/weaviate/config-refs/env-vars
注:每当您开始在编织中增加超时,可能是您有资源分配问题的标志。 我可以从码头组中看到您不使用gpu(
ENABLE_CUDA: 0
),所以我的赌注是,变压器无法处理矢量化负载。
您可以做些什么来减轻这种情况,这是对批处理的良好控制。尝试每批次发送更少的对象,以便允许变压器在不到50秒内返回。