Skip to content

Commit e671242

Browse files
Update OracleGenAI.java
1 parent a42dfaf commit e671242

File tree

1 file changed

+93
-29
lines changed

1 file changed

+93
-29
lines changed
Lines changed: 93 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,117 @@
11
package oracleai.services;
22

3+
import com.oracle.bmc.ClientConfiguration;
4+
import com.oracle.bmc.ConfigFileReader;
35
import com.oracle.bmc.Region;
46
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
5-
import com.oracle.bmc.generativeai.GenerativeAiClient;
6-
import com.oracle.bmc.generativeai.model.GenerateTextDetails;
7-
import com.oracle.bmc.generativeai.model.GenerateTextResult;
8-
import com.oracle.bmc.generativeai.model.OnDemandServingMode;
9-
import com.oracle.bmc.generativeai.requests.GenerateTextRequest;
10-
import com.oracle.bmc.generativeai.responses.GenerateTextResponse;
7+
import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider;
8+
import com.oracle.bmc.retrier.RetryConfiguration;
9+
import com.oracle.bmc.ClientConfiguration;
10+
import com.oracle.bmc.ConfigFileReader;
11+
import com.oracle.bmc.Region;
12+
import com.oracle.bmc.auth.AuthenticationDetailsProvider;
13+
import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider;
14+
import com.oracle.bmc.generativeaiinference.GenerativeAiInferenceClient;
15+
import com.oracle.bmc.generativeaiinference.model.CohereLlmInferenceRequest;
16+
import com.oracle.bmc.generativeaiinference.model.GenerateTextDetails;
17+
import com.oracle.bmc.generativeaiinference.model.OnDemandServingMode;
18+
import com.oracle.bmc.generativeaiinference.requests.GenerateTextRequest;
19+
import com.oracle.bmc.generativeaiinference.responses.GenerateTextResponse;
20+
import com.oracle.bmc.generativeaiinference.responses.GenerateTextResponse;
21+
22+
1123
import oracleai.AIApplication;
1224

1325
import java.util.Arrays;
1426
import java.util.List;
1527

1628
public class OracleGenAI {
1729

30+
//
31+
// public static String chat0(String textcontent) throws Exception {
32+
// AuthenticationDetailsProvider provider = AuthProvider.getAuthenticationDetailsProvider();
33+
// //GenAI is only available in US_CHICAGO_1 for current beta, thus the override
34+
// GenerativeAiClient generativeAiClient = GenerativeAiClient.builder().region(Region.US_CHICAGO_1).build(provider);
35+
// List<String> prompts = Arrays.asList(textcontent);
36+
// GenerateTextDetails generateTextDetails = GenerateTextDetails.builder()
37+
// .servingMode(OnDemandServingMode.builder().modelId("cohere.command").build()) // "cohere.command-light" is also available to use
38+
// // .servingMode(DedicatedServingMode.builder().endpointId("custom-model-endpoint").build()) // for custom model from Dedicated AI Cluster
39+
// .compartmentId(AIApplication.COMPARTMENT_ID)
40+
// .prompts(prompts)
41+
// .maxTokens(300)
42+
// .temperature(0.75)
43+
// .frequencyPenalty(1.0)
44+
// .topP(0.7)
45+
// .isStream(false)
46+
// .isEcho(false)
47+
// .build();
48+
// GenerateTextRequest generateTextRequest = GenerateTextRequest.builder()
49+
// .generateTextDetails(generateTextDetails)
50+
// .build();
51+
// GenerateTextResponse generateTextResponse = generativeAiClient.generateText(generateTextRequest);
52+
// GenerateTextResult result = generateTextResponse.getGenerateTextResult();
53+
// if(result !=null && result.getGeneratedTexts().size() > 0 ) {
54+
// String all_results ="";
55+
// for (List<com.oracle.bmc.generativeai.model.GeneratedText> list : result.getGeneratedTexts()) {
56+
// for (com.oracle.bmc.generativeai.model.GeneratedText text:list){
57+
// all_results = all_results+text.getText();
58+
// }
59+
// }
60+
// return all_results;
61+
// }
62+
// return "We could not find a result for your text. Try a different image.";
63+
// }
64+
65+
66+
67+
1868

1969
public static String chat(String textcontent) throws Exception {
20-
AuthenticationDetailsProvider provider = AuthProvider.getAuthenticationDetailsProvider();
21-
//GenAI is only available in US_CHICAGO_1 for current beta, thus the override
22-
GenerativeAiClient generativeAiClient = GenerativeAiClient.builder().region(Region.US_CHICAGO_1).build(provider);
23-
List<String> prompts = Arrays.asList(textcontent);
70+
return new OracleGenAI().doChat(textcontent);
71+
}
72+
public String doChat(String textcontent) throws Exception {
73+
74+
75+
// ClientConfiguration clientConfiguration =
76+
// ClientConfiguration.builder()
77+
// .readTimeoutMillis(240000)
78+
// .retryConfiguration(RetryConfiguration.NO_RETRY_CONFIGURATION)
79+
// .build();
80+
81+
final GenerativeAiInferenceClient generativeAiInferenceClient =
82+
new GenerativeAiInferenceClient(AuthProvider.getAuthenticationDetailsProvider());
83+
// generativeAiInferenceClient.setEndpoint(ENDPOINT);
84+
generativeAiInferenceClient.setRegion(Region.US_CHICAGO_1);
85+
86+
87+
// Construct the inference request
88+
CohereLlmInferenceRequest cohereLlmInferenceRequest =
89+
CohereLlmInferenceRequest.builder()
90+
.prompt(textcontent)
91+
.maxTokens(50)
92+
.temperature(0.75)
93+
.frequencyPenalty(1.0)
94+
.topP(0.7)
95+
.isStream(false) // SDK doesn't support streaming responses, feature is under development
96+
.isEcho(true)
97+
.build();
98+
99+
// Build generate text request, send, and get response
24100
GenerateTextDetails generateTextDetails = GenerateTextDetails.builder()
25101
.servingMode(OnDemandServingMode.builder().modelId("cohere.command").build()) // "cohere.command-light" is also available to use
26102
// .servingMode(DedicatedServingMode.builder().endpointId("custom-model-endpoint").build()) // for custom model from Dedicated AI Cluster
27103
.compartmentId(AIApplication.COMPARTMENT_ID)
28-
.prompts(prompts)
29-
.maxTokens(300)
30-
.temperature(0.75)
31-
.frequencyPenalty(1.0)
32-
.topP(0.7)
33-
.isStream(false)
34-
.isEcho(false)
104+
.inferenceRequest(cohereLlmInferenceRequest)
35105
.build();
106+
36107
GenerateTextRequest generateTextRequest = GenerateTextRequest.builder()
37108
.generateTextDetails(generateTextDetails)
38109
.build();
39-
GenerateTextResponse generateTextResponse = generativeAiClient.generateText(generateTextRequest);
40-
GenerateTextResult result = generateTextResponse.getGenerateTextResult();
41-
if(result !=null && result.getGeneratedTexts().size() > 0 ) {
42-
String all_results ="";
43-
for (List<com.oracle.bmc.generativeai.model.GeneratedText> list : result.getGeneratedTexts()) {
44-
for (com.oracle.bmc.generativeai.model.GeneratedText text:list){
45-
all_results = all_results+text.getText();
46-
}
47-
}
48-
return all_results;
49-
}
50-
return "We could not find a result for your text. Try a different image.";
110+
111+
GenerateTextResponse generateTextResponse = generativeAiInferenceClient.generateText(generateTextRequest);
112+
113+
System.out.println(generateTextResponse.toString());
114+
return generateTextResponse.toString();
51115
}
52116

53117
}

0 commit comments

Comments
 (0)