The app works fine locally, I can input my openai key and the chat works. However, when I run it inside Docker, I get an error when submitting a question:
2024-06-13T16:33:36.996018856Z ┌ Warning: 2024-06-13 16:33:36 CapturedException(ArgumentError("api_key cannot be empty"),
Any[(auth_header(::OpenAI.OpenAIProvider, api_key::String) at OpenAI.jl:40, 1), (_request(api::String, provider::OpenAI.OpenAIProvider, api_key::String; method::String, query::Nothing, http_kwargs::@NamedTuple{retry_non_idempotent::Bool, retries::Int64, readtimeout::Int64}, streamcallback::Nothing, additional_headers::Vector{Pair{String, String}}, kwargs::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, @NamedTuple{model::String, input::SubArray{SubString{String}, 1, Vector{SubString{String}}, Tuple{UnitRange{Int64}}, true}}}) at OpenAI.jl:159, 1), (_request at OpenAI.jl:141 [inlined], 1), (#openai_request#14 at OpenAI.jl:205 [inlined], 1), (openai_request at OpenAI.jl:198 [inlined], 1), (#create_embeddings#22 at OpenAI.jl:442 [inlined], 1), (create_embeddings at OpenAI.jl:437 [inlined], 1), (#create_embeddings#191 at llm_openai.jl:233 [inlined], 1), (create_embeddings at llm_openai.jl:228 [inlined], 1), (macro expansion at timing.jl:395 [inlined], 1), (aiembed(prompt_schema::PromptingTools.OpenAISchema, doc_or_docs::SubArray{SubString{String}, 1, Vector{SubString{String}}, Tuple{UnitRange{Int64}}, true}, postprocess::typeof(PromptingTools.Experimental.RAGTools._normalize); verbose::Bool, api_key::String, model::String, http_kwargs::@NamedTuple{retry_non_idempotent::Bool, retries::Int64, readtimeout::Int64}, api_kwargs::@NamedTuple{}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, @NamedTuple{}}) at llm_openai.jl:616, 1), (aiembed(doc_or_docs::SubArray{SubString{String}, 1, Vector{SubString{String}}, Tuple{UnitRange{Int64}}, true}, args::Function; model::String, kwargs::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, @NamedTuple{verbose::Bool, api_kwargs::@NamedTuple{}}}) at llm_interface.jl:339, 1), (aiembed at llm_interface.jl:336 [inlined], 1), ((::PromptingTools.Experimental.RAGTools.var"#64#65"{String, Base.Threads.Atomic{Float64}, Base.Pairs{Symbol, @NamedTuple{}, Tuple{Symbol}, @NamedTuple{api_kwargs::@NamedTuple{}}}})(docs_chunk::SubArray{SubString{String}, 1, Vector{SubString{String}}, Tuple{UnitRange{Int64}}, true}) at preparation.jl:230, 1), ((::Base.var"#1023#1028"{PromptingTools.Experimental.RAGTools.var"#64#65"{String, Base.Threads.Atomic{Float64}, Base.Pairs{Symbol, @NamedTuple{}, Tuple{Symbol}, @NamedTuple{api_kwargs::@NamedTuple{}}}}})(r::Base.RefValue{Any}, args::Tuple{SubArray{SubString{String}, 1, Vector{SubString{String}}, Tuple{UnitRange{Int64}}, true}}) at asyncmap.jl:94, 1), ((::Base.var"#1039#1040"{Base.var"#1023#1028"{PromptingTools.Experimental.RAGTools.var"#64#65"{String, Base.Threads.Atomic{Float64}, Base.Pairs{Symbol, @NamedTuple{}, Tuple{Symbol}, @NamedTuple{api_kwargs::@NamedTuple{}}}}}, Channel{Any}, Nothing})() at asyncmap.jl:228, 1)])
However, if I input a random string in the key field I'm getting an invalid key error
2024-06-13T16:07:55.990289245Z │ "error": {
2024-06-13T16:07:55.990293377Z │ "message": "Incorrect API key provided: afdsafsdfd. You can find your API key at https://platform.openai.com/account/api-keys.",
2024-06-13T16:07:55.990297865Z │ "type": "invalid_request_error",
2024-06-13T16:07:55.990302020Z │ "param": null,
2024-06-13T16:07:55.990305913Z │ "code": "invalid_api_key"
2024-06-13T16:07:55.990309824Z │ }
which means that the key is actually set, but when it is a real key it thinks it's empty.
The app works fine locally, I can input my openai key and the chat works. However, when I run it inside Docker, I get an error when submitting a question:
However, if I input a random string in the key field I'm getting an invalid key error
which means that the key is actually set, but when it is a real key it thinks it's empty.
This is the line that sets the key: