in instrumentation/openai-client-instrumentation/instrumentation-1.1/src/main/java/co/elastic/otel/openai/v1_1/wrappers/ChatCompletionEventsHelper.java [132:152]
private static String contentToString(ChatCompletionAssistantMessageParam.Content content) {
if (content.isText()) {
return content.asText();
} else if (content.isArrayOfContentParts()) {
return content.asArrayOfContentParts().stream()
.map(
part -> {
if (part.isText()) {
return part.asText().text();
}
if (part.isRefusal()) {
return part.asRefusal().refusal();
}
return null;
})
.filter(Objects::nonNull)
.collect(Collectors.joining());
} else {
throw new IllegalStateException("Unhandled content type for " + content);
}
}