@@ -188,43 +188,43 @@ static String buildMessageParameter(
188
188
userInstructions = DEFAULT_SYSTEM_PROMPT ;
189
189
}
190
190
191
- MessageArrayBuilder bldr = new MessageArrayBuilder (provider );
191
+ MessageArrayBuilder messageArrayBuilder = new MessageArrayBuilder (provider );
192
192
193
193
// Build the system prompt (only one per conversation/session)
194
194
if (!Strings .isNullOrEmpty (systemPrompt )) {
195
- bldr .startMessage (ChatRole .SYSTEM );
196
- bldr .addTextContent (systemPrompt );
197
- bldr .endMessage ();
195
+ messageArrayBuilder .startMessage (ChatRole .SYSTEM );
196
+ messageArrayBuilder .addTextContent (systemPrompt );
197
+ messageArrayBuilder .endMessage ();
198
198
}
199
199
200
200
// Anthropic does not allow two consecutive messages of the same role
201
201
// so we combine all user messages and an array of contents.
202
- bldr .startMessage (ChatRole .USER );
202
+ messageArrayBuilder .startMessage (ChatRole .USER );
203
203
boolean lastRoleIsAssistant = false ;
204
204
if (!Strings .isNullOrEmpty (userInstructions )) {
205
- bldr .addTextContent (userInstructions );
205
+ messageArrayBuilder .addTextContent (userInstructions );
206
206
}
207
207
208
208
for (int i = 0 ; i < contexts .size (); i ++) {
209
- bldr .addTextContent ("SEARCH RESULT " + (i + 1 ) + ": " + contexts .get (i ));
209
+ messageArrayBuilder .addTextContent ("SEARCH RESULT " + (i + 1 ) + ": " + contexts .get (i ));
210
210
}
211
211
212
212
if (!chatHistory .isEmpty ()) {
213
213
// The oldest interaction first
214
214
int idx = chatHistory .size () - 1 ;
215
215
Interaction firstInteraction = chatHistory .get (idx );
216
- bldr .addTextContent (firstInteraction .getInput ());
217
- bldr .endMessage ();
218
- bldr .startMessage (ChatRole .ASSISTANT , firstInteraction .getResponse ());
219
- bldr .endMessage ();
216
+ messageArrayBuilder .addTextContent (firstInteraction .getInput ());
217
+ messageArrayBuilder .endMessage ();
218
+ messageArrayBuilder .startMessage (ChatRole .ASSISTANT , firstInteraction .getResponse ());
219
+ messageArrayBuilder .endMessage ();
220
220
221
221
if (chatHistory .size () > 1 ) {
222
222
for (int i = --idx ; i >= 0 ; i --) {
223
223
Interaction interaction = chatHistory .get (i );
224
- bldr .startMessage (ChatRole .USER , interaction .getInput ());
225
- bldr .endMessage ();
226
- bldr .startMessage (ChatRole .ASSISTANT , interaction .getResponse ());
227
- bldr .endMessage ();
224
+ messageArrayBuilder .startMessage (ChatRole .USER , interaction .getInput ());
225
+ messageArrayBuilder .endMessage ();
226
+ messageArrayBuilder .startMessage (ChatRole .ASSISTANT , interaction .getResponse ());
227
+ messageArrayBuilder .endMessage ();
228
228
}
229
229
}
230
230
@@ -234,26 +234,26 @@ static String buildMessageParameter(
234
234
if (llmMessages != null && !llmMessages .isEmpty ()) {
235
235
// TODO MessageBlock can have assistant roles for few-shot prompting.
236
236
if (lastRoleIsAssistant ) {
237
- bldr .startMessage (ChatRole .USER );
237
+ messageArrayBuilder .startMessage (ChatRole .USER );
238
238
}
239
239
for (MessageBlock message : llmMessages ) {
240
240
List <MessageBlock .AbstractBlock > blockList = message .getBlockList ();
241
241
for (MessageBlock .Block block : blockList ) {
242
242
switch (block .getType ()) {
243
243
case "text" :
244
- bldr .addTextContent (((MessageBlock .TextBlock ) block ).getText ());
244
+ messageArrayBuilder .addTextContent (((MessageBlock .TextBlock ) block ).getText ());
245
245
break ;
246
246
case "image" :
247
247
MessageBlock .ImageBlock ib = (MessageBlock .ImageBlock ) block ;
248
248
if (ib .getData () != null ) {
249
- bldr .addImageData (ib .getFormat (), ib .getData ());
249
+ messageArrayBuilder .addImageData (ib .getFormat (), ib .getData ());
250
250
} else if (ib .getUrl () != null ) {
251
- bldr .addImageUrl (ib .getFormat (), ib .getUrl ());
251
+ messageArrayBuilder .addImageUrl (ib .getFormat (), ib .getUrl ());
252
252
}
253
253
break ;
254
254
case "document" :
255
255
MessageBlock .DocumentBlock db = (MessageBlock .DocumentBlock ) block ;
256
- bldr .addDocumentContent (db .getFormat (), db .getName (), db .getData ());
256
+ messageArrayBuilder .addDocumentContent (db .getFormat (), db .getName (), db .getData ());
257
257
break ;
258
258
default :
259
259
break ;
@@ -262,16 +262,16 @@ static String buildMessageParameter(
262
262
}
263
263
} else {
264
264
if (lastRoleIsAssistant ) {
265
- bldr .startMessage (ChatRole .USER , "QUESTION: " + question + "\n " );
265
+ messageArrayBuilder .startMessage (ChatRole .USER , "QUESTION: " + question + "\n " );
266
266
} else {
267
- bldr .addTextContent ("QUESTION: " + question + "\n " );
267
+ messageArrayBuilder .addTextContent ("QUESTION: " + question + "\n " );
268
268
}
269
- bldr .addTextContent ("ANSWER:" );
269
+ messageArrayBuilder .addTextContent ("ANSWER:" );
270
270
}
271
271
272
- bldr .endMessage ();
272
+ messageArrayBuilder .endMessage ();
273
273
274
- return bldr .toJsonArray ().toString ();
274
+ return messageArrayBuilder .toJsonArray ().toString ();
275
275
}
276
276
277
277
public static String getPromptTemplate (String systemPrompt , String userInstructions ) {
0 commit comments