126 lines
3.7 KiB
Plaintext
126 lines
3.7 KiB
Plaintext
---
|
|
title: Chat & Text Models
|
|
---
|
|
classDiagram
|
|
%% Use https://mermaid.live/ to preview this diagram. The VS Code extension does not handle namespaces.
|
|
direction LR
|
|
|
|
namespace Microsoft_SemanticKernel {
|
|
class KernelContent {
|
|
<<abstract>>
|
|
+InnerContent : Object
|
|
+ModelId : String
|
|
+Metadata : IDictionary
|
|
+string(modelContent : KernelContent)
|
|
}
|
|
|
|
class StreamingKernelContent {
|
|
<<abstract>>
|
|
+ChoiceIndex : Integer
|
|
+InnerContent : Object
|
|
+Metadata : IDictionary
|
|
+ToString()
|
|
+ToByteArray()
|
|
+string(modelContent : StreamingKernelContent)
|
|
}
|
|
|
|
class TextContent {
|
|
+Text : String
|
|
+Encoding : Encoding
|
|
+ToString()
|
|
}
|
|
|
|
class StreamingTextContent {
|
|
+Text : String
|
|
+Encoding : Encoding
|
|
+ToString()
|
|
+ToByteArray()
|
|
}
|
|
|
|
class ChatMessageContent {
|
|
+Role : AuthorRole
|
|
+Content : String
|
|
+Items : ChatMessageContentItemCollection
|
|
+Encoding : Encoding
|
|
+ToString()
|
|
}
|
|
|
|
class StreamingChatMessageContent {
|
|
+Content : String
|
|
+Role : AuthorRole
|
|
+Encoding : Encoding
|
|
+ToString()
|
|
+ToByteArray()
|
|
}
|
|
|
|
class ImageContent {
|
|
+Uri : Uri
|
|
+ToString()
|
|
}
|
|
}
|
|
|
|
namespace Microsoft_SemanticKernel_ChatCompletion {
|
|
class ChatMessageContentItemCollection {
|
|
+Count
|
|
+Add(item: KernelContent)
|
|
}
|
|
|
|
class ChatHistory {
|
|
+AddMessage(chatMessageContent : ChatMessageContent)
|
|
+AddMessage(authorRole : AuthorRole, content : string, encoding : Encoding, metadata : IDictionary)
|
|
+AddUserMessage(content : string)
|
|
+AddAssistantMessage(content : string)
|
|
+AddSystemMessage(content : string)
|
|
}
|
|
}
|
|
|
|
namespace Microsoft_SemanticKernel_Connectors_OpenAI {
|
|
class OpenAIChatMessageContent {
|
|
+FunctionCall : FunctionCall
|
|
+Name : Name
|
|
+GetOpenAIFunctionResponse()
|
|
}
|
|
|
|
class AzureOpenAIWithDataChatMessageContent {
|
|
+ToolContent : String
|
|
}
|
|
|
|
class OpenAIStreamingTextContent {
|
|
+ToByteArray()
|
|
+ToString()
|
|
}
|
|
|
|
class OpenAIStreamingChatMessageContent {
|
|
+Name : String
|
|
+FunctionName : String
|
|
+FunctionArgument : String
|
|
+ToByteArray()
|
|
+ToString()
|
|
+GetOpenAIStreamingFunctionResponse(fullContent : OpenAIStreamingChatMessageContent[])
|
|
}
|
|
|
|
class AzureOpenAIWithDataStreamingChatMessageContent {
|
|
+FunctionName : String
|
|
+FunctionArgument : String
|
|
-IsValidMessage(message : ChatWithDataStreamingMessage)
|
|
}
|
|
|
|
class OpenAIChatHistory {
|
|
|
|
}
|
|
}
|
|
|
|
KernelContent <|-- TextContent
|
|
KernelContent <|-- ImageContent
|
|
KernelContent <|-- ChatMessageContent
|
|
KernelContent *-- ChatMessageContentItemCollection
|
|
ChatMessageContent <|-- OpenAIChatMessageContent
|
|
ChatMessageContent <|-- AzureOpenAIWithDataChatMessageContent
|
|
StreamingKernelContent <|-- StreamingTextContent
|
|
StreamingTextContent <|-- OpenAIStreamingTextContent
|
|
StreamingKernelContent <|-- StreamingChatMessageContent
|
|
StreamingChatMessageContent <|-- OpenAIStreamingChatMessageContent
|
|
StreamingChatMessageContent <|-- AzureOpenAIWithDataStreamingChatMessageContent
|
|
ChatHistory <|-- OpenAIChatHistory
|
|
ChatMessageContent o-- ChatMessageContentItemCollection
|