Simplify OpenAI plain input

pull/217/head
M66B 8 months ago
parent 861471d058
commit 4c05436739

@ -61,20 +61,27 @@ public class AI {
messages.add(new OpenAI.Message(OpenAI.SYSTEM, new OpenAI.Content[]{ messages.add(new OpenAI.Message(OpenAI.SYSTEM, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, systemPrompt)})); new OpenAI.Content(OpenAI.CONTENT_TEXT, systemPrompt)}));
if (body instanceof Spannable && multimodal) {
messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{ messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, prompt == null ? defaultPrompt : prompt)})); new OpenAI.Content(OpenAI.CONTENT_TEXT, prompt == null ? defaultPrompt : prompt)}));
if (!TextUtils.isEmpty(body)) if (!TextUtils.isEmpty(body))
if (body instanceof Spannable && multimodal)
messages.add(new OpenAI.Message(OpenAI.USER, messages.add(new OpenAI.Message(OpenAI.USER,
OpenAI.Content.get((Spannable) body, id, context))); OpenAI.Content.get((Spannable) body, id, context)));
else
messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, body.toString())}));
if (!TextUtils.isEmpty(reply)) if (!TextUtils.isEmpty(reply))
messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{ messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, reply)})); new OpenAI.Content(OpenAI.CONTENT_TEXT, reply)}));
} else {
List<String> contents = new ArrayList<>();
contents.add(prompt == null ? defaultPrompt : prompt);
if (!TextUtils.isEmpty(body))
contents.add(body.toString());
if (!TextUtils.isEmpty(reply))
contents.add(reply);
messages.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, TextUtils.join("\n", contents))}));
}
OpenAI.Message[] completions = OpenAI.completeChat(context, OpenAI.Message[] completions = OpenAI.completeChat(context,
model, messages.toArray(new OpenAI.Message[0]), temperature, 1); model, messages.toArray(new OpenAI.Message[0]), temperature, 1);
@ -182,17 +189,22 @@ public class AI {
boolean multimodal = prefs.getBoolean("openai_multimodal", false); boolean multimodal = prefs.getBoolean("openai_multimodal", false);
List<OpenAI.Message> input = new ArrayList<>(); List<OpenAI.Message> input = new ArrayList<>();
if (multimodal) {
input.add(new OpenAI.Message(OpenAI.USER, input.add(new OpenAI.Message(OpenAI.USER,
new OpenAI.Content[]{new OpenAI.Content(OpenAI.CONTENT_TEXT, new OpenAI.Content[]{new OpenAI.Content(OpenAI.CONTENT_TEXT,
templatePrompt == null ? defaultPrompt : templatePrompt)})); templatePrompt == null ? defaultPrompt : templatePrompt)}));
if (multimodal) {
SpannableStringBuilder ssb = HtmlHelper.fromDocument(context, d, null, null); SpannableStringBuilder ssb = HtmlHelper.fromDocument(context, d, null, null);
input.add(new OpenAI.Message(OpenAI.USER, input.add(new OpenAI.Message(OpenAI.USER,
OpenAI.Content.get(ssb, message.id, context))); OpenAI.Content.get(ssb, message.id, context)));
} else } else {
List<String> contents = new ArrayList<>();
contents.add(templatePrompt == null ? defaultPrompt : templatePrompt);
contents.add(body);
input.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{ input.add(new OpenAI.Message(OpenAI.USER, new OpenAI.Content[]{
new OpenAI.Content(OpenAI.CONTENT_TEXT, body)})); new OpenAI.Content(OpenAI.CONTENT_TEXT, TextUtils.join("\n", contents))}));
}
OpenAI.Message[] completions = OpenAI.Message[] completions =
OpenAI.completeChat(context, model, input.toArray(new OpenAI.Message[0]), temperature, 1); OpenAI.completeChat(context, model, input.toArray(new OpenAI.Message[0]), temperature, 1);

Loading…
Cancel
Save