1212import org .devlive .sdk .openai .interceptor .AzureInterceptor ;
1313import org .devlive .sdk .openai .interceptor .ClaudeInterceptor ;
1414import org .devlive .sdk .openai .interceptor .DefaultInterceptor ;
15+ import org .devlive .sdk .openai .interceptor .GooglePaLMInterceptor ;
1516import org .devlive .sdk .openai .interceptor .OpenAiInterceptor ;
17+ import org .devlive .sdk .openai .model .CompletionModel ;
1618import org .devlive .sdk .openai .model .ProviderModel ;
1719import retrofit2 .Retrofit ;
1820import retrofit2 .adapter .rxjava2 .RxJava2CallAdapterFactory ;
@@ -158,6 +160,12 @@ public OpenAiClientBuilder client(OkHttpClient client)
158160 if (this .provider .equals (ProviderModel .CLAUDE )) {
159161 interceptor = new ClaudeInterceptor ();
160162 }
163+ // Google PaLM
164+ if (this .provider .equals (ProviderModel .GOOGLE_PALM )) {
165+ interceptor = new GooglePaLMInterceptor ();
166+ interceptor .setApiKey (this .apiKey );
167+ interceptor .setModel (this .model );
168+ }
161169 interceptor .setApiKey (apiKey );
162170 client = client .newBuilder ()
163171 .addInterceptor (interceptor )
@@ -166,6 +174,12 @@ public OpenAiClientBuilder client(OkHttpClient client)
166174 return this ;
167175 }
168176
177+ public OpenAiClientBuilder model (CompletionModel model )
178+ {
179+ this .model = model .getName ();
180+ return this ;
181+ }
182+
169183 private String getDefaultHost ()
170184 {
171185 if (ObjectUtils .isEmpty (this .provider )) {
@@ -174,6 +188,9 @@ private String getDefaultHost()
174188 if (this .provider .equals (ProviderModel .CLAUDE )) {
175189 return "https://api.anthropic.com" ;
176190 }
191+ if (this .provider .equals (ProviderModel .GOOGLE_PALM )) {
192+ return "https://generativelanguage.googleapis.com" ;
193+ }
177194 return "https://api.openai.com" ;
178195 }
179196
0 commit comments