OpenAI: added failsafe

pull/215/head
M66B 1 year ago
parent 0244ef3f82
commit edaedbfe7d

@ -274,15 +274,17 @@ public class OpenAI {
while (start < ssb.length()) { while (start < ssb.length()) {
int end = ssb.nextSpanTransition(start, ssb.length(), ImageSpanEx.class); int end = ssb.nextSpanTransition(start, ssb.length(), ImageSpanEx.class);
String text = ssb.subSequence(start, end).toString(); String text = ssb.subSequence(start, end).toString();
Log.i("OpenAI content " + start + "..." + end + " text=" + text.replace('\n', '|'));
contents.add(new OpenAI.Content(OpenAI.CONTENT_TEXT, text)); contents.add(new OpenAI.Content(OpenAI.CONTENT_TEXT, text));
if (end < ssb.length()) { if (end < ssb.length()) {
ImageSpanEx[] spans = ssb.getSpans(end, end, ImageSpanEx.class); ImageSpanEx[] spans = ssb.getSpans(end, end, ImageSpanEx.class);
if (spans.length == 1) { Log.i("OpenAI images=" + (spans == null ? null : spans.length));
if (spans != null && spans.length == 1) {
int e = ssb.getSpanEnd(spans[0]); int e = ssb.getSpanEnd(spans[0]);
if (multimodal) { if (multimodal) {
String url = null; String url = null;
String src = spans[0].getSource(); String src = spans[0].getSource();
Log.i("OpenAI image url=" + src);
if (src != null && src.startsWith("cid:")) { if (src != null && src.startsWith("cid:")) {
String cid = '<' + src.substring(4) + '>'; String cid = '<' + src.substring(4) + '>';
EntityAttachment attachment = db.attachment().getAttachment(id, cid); EntityAttachment attachment = db.attachment().getAttachment(id, cid);
@ -299,15 +301,13 @@ public class OpenAI {
} }
} else } else
url = src; url = src;
if (url != null) if (url != null)
contents.add(new OpenAI.Content(OpenAI.CONTENT_IMAGE, url)); contents.add(new OpenAI.Content(OpenAI.CONTENT_IMAGE, url));
} }
end = e; end = e;
} }
} }
start = end; start = (end > start ? end : start + 1);
} }
return contents.toArray(new OpenAI.Content[0]); return contents.toArray(new OpenAI.Content[0]);

Loading…
Cancel
Save