Skip to content

Commit

Permalink
feat: Added AsUserMessage(this byte[] bytes, string mimeType) extensi…
Browse files Browse the repository at this point in the history
…on to easy use vision.
  • Loading branch information
HavenDV committed Aug 31, 2024
1 parent 11f4947 commit f0ac20f
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/libs/OpenAI/Extensions/StringExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,31 @@ public static ChatCompletionRequestMessage AsRequestMessage(this ChatCompletionR
ToolCalls = message.ToolCalls,
};
}

/// <summary>
///
/// </summary>
/// <param name="bytes"></param>
/// <param name="mimeType"></param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
public static ChatCompletionRequestMessage AsUserMessage(this byte[] bytes, string mimeType)
{
bytes = bytes ?? throw new ArgumentNullException(nameof(bytes));

return new ChatCompletionRequestUserMessage
{
Content = new ChatCompletionRequestUserMessageContentPart[] {
new ChatCompletionRequestMessageContentPartImage
{
ImageUrl = new ChatCompletionRequestMessageContentPartImageImageUrl
{
Url = $"data:{mimeType};base64,{Convert.ToBase64String(bytes)}",
Detail = ChatCompletionRequestMessageContentPartImageImageUrlDetail.Auto,
},
Type = ChatCompletionRequestMessageContentPartImageType.ImageUrl,
},
},
};
}
}

0 comments on commit f0ac20f

Please sign in to comment.