@@ -132,7 +132,10 @@ public List<Embedding> generate(List<String> inputs, EmbedOption option) {
132132 notBlank (option .model (), "The embed model name cannot be null." );
133133 HttpClassicClientRequest request = this .httpClient .get ()
134134 .createRequest (HttpRequestMethod .POST , UrlUtils .combine (this .baseUrl , OpenAiApi .EMBEDDING_ENDPOINT ));
135- HttpUtils .setBearerAuth (request , StringUtils .blankIf (option .apiKey (), this .defaultApiKey ));
135+ String actualApiKey = StringUtils .blankIf (option .apiKey (), this .defaultApiKey );
136+ if (StringUtils .isNotBlank (actualApiKey )) {
137+ HttpUtils .setBearerAuth (request , actualApiKey );
138+ }
136139 request .jsonEntity (new OpenAiEmbeddingRequest (inputs , option .model ()));
137140 Class <OpenAiEmbeddingResponse > clazz = OpenAiEmbeddingResponse .class ;
138141 try (HttpClassicClientResponse <OpenAiEmbeddingResponse > response = request .exchange (clazz )) {
@@ -151,7 +154,10 @@ public Choir<ChatMessage> generate(Prompt prompt, ChatOption chatOption) {
151154 String modelSource = StringUtils .blankIf (chatOption .baseUrl (), this .baseUrl );
152155 HttpClassicClientRequest request = this .getHttpClient (chatOption .secureConfig ())
153156 .createRequest (HttpRequestMethod .POST , UrlUtils .combine (modelSource , OpenAiApi .CHAT_ENDPOINT ));
154- HttpUtils .setBearerAuth (request , StringUtils .blankIf (chatOption .apiKey (), this .defaultApiKey ));
157+ String actualApiKey = StringUtils .blankIf (chatOption .apiKey (), this .defaultApiKey );
158+ if (StringUtils .isNotBlank (actualApiKey )) {
159+ HttpUtils .setBearerAuth (request , actualApiKey );
160+ }
155161 request .jsonEntity (new OpenAiChatCompletionRequest (prompt , chatOption ));
156162 return chatOption .stream () ? this .createChatStream (request ) : this .createChatCompletion (request );
157163 }
@@ -163,7 +169,10 @@ public List<Media> generate(String prompt, ImageOption option) {
163169 String modelSource = StringUtils .blankIf (option .baseUrl (), this .baseUrl );
164170 HttpClassicClientRequest request = this .httpClient .get ()
165171 .createRequest (HttpRequestMethod .POST , UrlUtils .combine (modelSource , OpenAiApi .IMAGE_ENDPOINT ));
166- HttpUtils .setBearerAuth (request , StringUtils .blankIf (option .apiKey (), this .defaultApiKey ));
172+ String actualApiKey = StringUtils .blankIf (option .apiKey (), this .defaultApiKey );
173+ if (StringUtils .isNotBlank (actualApiKey )) {
174+ HttpUtils .setBearerAuth (request , actualApiKey );
175+ }
167176 request .jsonEntity (new OpenAiImageRequest (option .model (), option .size (), prompt ));
168177 Class <OpenAiImageResponse > clazz = OpenAiImageResponse .class ;
169178 try (HttpClassicClientResponse <OpenAiImageResponse > response = request .exchange (clazz )) {
@@ -182,7 +191,10 @@ public List<MeasurableDocument> generate(List<MeasurableDocument> documents, Rer
182191 String modelSource = StringUtils .blankIf (rerankOption .baseUri (), this .baseUrl );
183192 HttpClassicClientRequest request = this .getHttpClient (rerankOption .secureConfig ())
184193 .createRequest (HttpRequestMethod .POST , UrlUtils .combine (modelSource , OpenAiApi .RERANK_ENDPOINT ));
185- HttpUtils .setBearerAuth (request , StringUtils .blankIf (rerankOption .apiKey (), this .defaultApiKey ));
194+ String actualApiKey = StringUtils .blankIf (rerankOption .apiKey (), this .defaultApiKey );
195+ if (StringUtils .isNotBlank (actualApiKey )) {
196+ HttpUtils .setBearerAuth (request , actualApiKey );
197+ }
186198 List <String > docs = documents .stream ().map (MeasurableDocument ::text ).collect (Collectors .toList ());
187199 OpenAiRerankRequest fields = new OpenAiRerankRequest (rerankOption , docs );
188200 request .entity (Entity .createObject (request , fields ));
0 commit comments