Add Support for Attaching Additional Contents to Specified Prompt Message when Converting to Chat Message, Specified For File Support ...
This commit is contained in:
@@ -352,22 +352,42 @@ namespace xAiModels.Extensions
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Converts a Message Dto to ChatMessage ...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="source"></param>
|
||||||
|
/// <param name="additionalContents"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public static ChatMessage ToChatMessages(
|
public static ChatMessage ToChatMessages(
|
||||||
this XAiMessageDto source
|
this XAiMessageDto source,
|
||||||
|
IList<AIContent> additionalContents = null
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
// TODO: Handle Files Attached here ...
|
|
||||||
|
|
||||||
//
|
//
|
||||||
ChatMessage result = null;
|
ChatMessage result = null;
|
||||||
|
|
||||||
//
|
//
|
||||||
if (!source.IsNullOrDefault())
|
if (!source.IsNullOrDefault())
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
var contents = new List<AIContent>
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Add Source Content ...
|
||||||
|
new TextContent(source.Content)
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// Add Additional Content ...
|
||||||
|
if (additionalContents.HasChild())
|
||||||
|
{
|
||||||
|
contents.AddRange(additionalContents);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
result = new ChatMessage
|
result = new ChatMessage
|
||||||
{
|
{
|
||||||
|
Contents = contents,
|
||||||
AuthorName =
|
AuthorName =
|
||||||
source.Role == XAiChatRole.User &&
|
source.Role == XAiChatRole.User &&
|
||||||
!source.Owner.IsNullOrDefault()
|
!source.Owner.IsNullOrDefault()
|
||||||
@@ -375,7 +395,6 @@ namespace xAiModels.Extensions
|
|||||||
: string.Empty,
|
: string.Empty,
|
||||||
Role = source.Role.ToChatRole(),
|
Role = source.Role.ToChatRole(),
|
||||||
MessageId = source.Id.ToString(),
|
MessageId = source.Id.ToString(),
|
||||||
Contents = [new TextContent(source.Content)]
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user