@@ -76,23 +76,21 @@ public class HelloAIFunction {
76
76
private static final String COMPARTMENT_ID = "ocid1.compartment.oc1.." ;
77
77
private static final String GENAI_OCID = "ocid1.generativeaimodel.oc1.eu-frankfurt-1.amaaaaaa....wtig4q" ;
78
78
79
- // FILL IN PROPER VALUES FOR IAM USER WHEN NOT USING INSTANCE_PRINCIPAL IN OCI FUNCTION
79
+ // FILL IN PROPER VALUES FOR IAM USER WHEN RUNNING LOCALLY WITH Fn. RUNNING AS OCI FUNCTION DO NOT NEED TO SET THESE.
80
80
private static final String TENANCY_ID = "ocid1.tenancy.oc1.." ;
81
81
private static final String USER_ID = "ocid1.user.oc1.." ;
82
82
private static final String FINGERPRINT = "ef:4d:.." ;
83
83
private static final String PRIVATEKEY = "-----BEGIN PRIVATE KEY-----\n .. \n -----END PRIVATE KEY-----" ;
84
84
private static final String PASSPHRASE = "" ;
85
85
86
86
public String handleRequest (String input ) {
87
- GenerativeAiInferenceClient generativeAiInferenceClient ;
87
+ GenerativeAiInferenceClient generativeAiInferenceClient = null ;
88
88
String answer = "" ;
89
- try {
90
-
91
- LocalDate date = LocalDate .now ().minusYears (100 );
92
- String questionToAI = (input == null || input .isEmpty ()) ? "What happened at " + date + " ?" : input ;
93
89
94
- if (System .getenv ("AUTH_INSTANCE_PRINCIPAL" ) != null ) {
95
- System .out .println ("AUTH_INSTANCE_PRINCIPAL" );
90
+ LocalDate date = LocalDate .now ().minusYears (100 );
91
+ String questionToAI = (input == null || input .isEmpty ()) ? "What happened at " + date + " ?" : input ;
92
+
93
+ try {
96
94
ResourcePrincipalAuthenticationDetailsProvider resourcePrincipalAuthenticationDetailsProvider =
97
95
ResourcePrincipalAuthenticationDetailsProvider .builder ().build ();
98
96
generativeAiInferenceClient =
@@ -101,53 +99,60 @@ public String handleRequest(String input) {
101
99
.endpoint (ENDPOINT )
102
100
.build (resourcePrincipalAuthenticationDetailsProvider );
103
101
104
- } else {
105
- System .out .println ("AUTH_USER" );
106
- AuthenticationDetailsProvider authenticationDetailsProvider =
107
- SimpleAuthenticationDetailsProvider .builder ()
108
- .tenantId (TENANCY_ID )
109
- .userId (USER_ID )
110
- .fingerprint (FINGERPRINT )
111
- .privateKeySupplier (new StringPrivateKeySupplier (PRIVATEKEY ))
112
- .passPhrase (PASSPHRASE )
102
+ } catch (Exception e ) {
103
+ try {
104
+ AuthenticationDetailsProvider authenticationDetailsProvider =
105
+ SimpleAuthenticationDetailsProvider .builder ()
106
+ .tenantId (TENANCY_ID )
107
+ .userId (USER_ID )
108
+ .fingerprint (FINGERPRINT )
109
+ .privateKeySupplier (new StringPrivateKeySupplier (PRIVATEKEY ))
110
+ .passPhrase (PASSPHRASE )
111
+ .build ();
112
+ generativeAiInferenceClient =
113
+ GenerativeAiInferenceClient .builder ()
114
+ .region (REGION )
115
+ .endpoint (ENDPOINT )
116
+ .build (authenticationDetailsProvider );
117
+ } catch (Exception ee ) {
118
+ answer = answer + "\n " + ee .getMessage ();
119
+ }
120
+ }
121
+
122
+ if (answer .length () == 0 )
123
+ {
124
+ try {
125
+ CohereChatRequest chatRequest = CohereChatRequest .builder ()
126
+ .message (questionToAI )
127
+ .maxTokens (600 )
128
+ .temperature ((double )0 )
129
+ .frequencyPenalty ((double )1 )
130
+ .topP ((double )0.75 )
131
+ .topK ((int )0 )
132
+ .isStream (false )
113
133
.build ();
114
- generativeAiInferenceClient =
115
- GenerativeAiInferenceClient .builder ()
116
- .region (REGION )
117
- .endpoint (ENDPOINT )
118
- .build (authenticationDetailsProvider );
119
- }
120
-
121
- CohereChatRequest chatRequest = CohereChatRequest .builder ()
122
- .message (questionToAI )
123
- .maxTokens (600 )
124
- .temperature ((double )0 )
125
- .frequencyPenalty ((double )1 )
126
- .topP ((double )0.75 )
127
- .topK ((int )0 )
128
- .isStream (false )
129
- .build ();
130
-
131
- ChatDetails chatDetails = ChatDetails .builder ()
132
- .servingMode (OnDemandServingMode .builder ().modelId (GENAI_OCID ).build ())
133
- .compartmentId (COMPARTMENT_ID )
134
- .chatRequest (chatRequest )
135
- .build ();
136
-
137
- ChatRequest request = ChatRequest .builder ()
138
- .chatDetails (chatDetails )
139
- .build ();
140
-
141
- ChatResponse chatResponse = generativeAiInferenceClient .chat (request );
142
- String answerAI = chatResponse .toString ();
143
- answerAI = answerAI .substring (answerAI .indexOf ("text=" ) + 5 );
144
- if (answerAI .indexOf (", chatHistory=" ) > 0 ) {
145
- answerAI = answerAI .substring (0 , answerAI .indexOf (", chatHistory=" ));
146
- }
147
- answer = questionToAI + "\n \n " + answerAI ;
148
134
149
- } catch (Exception e ) {
150
- answer = answer + "\n " + e .getMessage ();
135
+ ChatDetails chatDetails = ChatDetails .builder ()
136
+ .servingMode (OnDemandServingMode .builder ().modelId (GENAI_OCID ).build ())
137
+ .compartmentId (COMPARTMENT_ID )
138
+ .chatRequest (chatRequest )
139
+ .build ();
140
+
141
+ ChatRequest request = ChatRequest .builder ()
142
+ .chatDetails (chatDetails )
143
+ .build ();
144
+
145
+ ChatResponse chatResponse = generativeAiInferenceClient .chat (request );
146
+ String answerAI = chatResponse .toString ();
147
+ answerAI = answerAI .substring (answerAI .indexOf ("text=" ) + 5 );
148
+ if (answerAI .indexOf (", chatHistory=" ) > 0 ) {
149
+ answerAI = answerAI .substring (0 , answerAI .indexOf (", chatHistory=" ));
150
+ }
151
+ answer = questionToAI + "\n \n " + answerAI ;
152
+
153
+ } catch (Exception e ) {
154
+ answer = answer + "\n " + e .getMessage ();
155
+ }
151
156
}
152
157
return answer ;
153
158
}
0 commit comments