Table of Contents

Class ChatCompletionsProtocol

Namespace
Mythosia.AI.Protocols
Assembly
Mythosia.AI.dll

Implements the OpenAI-compatible /chat/completions wire format. Used by Grok, DeepSeek, Sonar, and other compatible providers.

public class ChatCompletionsProtocol : CompletionProtocol
Inheritance
ChatCompletionsProtocol
Inherited Members

Fields

Instance

public static readonly ChatCompletionsProtocol Instance

Field Value

ChatCompletionsProtocol

Methods

BuildFunctionRequestBody(ProtocolRequestParams, IReadOnlyList<FunctionDefinition>, FunctionCallMode, Func<Message, object>?)

Builds the request body including function/tool definitions.

public override object BuildFunctionRequestBody(ProtocolRequestParams p, IReadOnlyList<FunctionDefinition> functions, FunctionCallMode mode, Func<Message, object>? messageConverter = null)

Parameters

p ProtocolRequestParams
functions IReadOnlyList<FunctionDefinition>
mode FunctionCallMode
messageConverter Func<Message, object>

Returns

object

BuildRequestBody(ProtocolRequestParams, Func<Message, object>?)

Builds the request body for a standard completion request.

public override object BuildRequestBody(ProtocolRequestParams p, Func<Message, object>? messageConverter = null)

Parameters

p ProtocolRequestParams
messageConverter Func<Message, object>

Returns

object

ConvertMessage(Message)

Converts a message to the standard chat/completions format. Handles both text-only and multimodal (OpenAI-compatible image_url format).

public override object ConvertMessage(Message message)

Parameters

message Message

Returns

object

CreateFunctionRequest(string, object)

Creates the HTTP request for a function-calling completion call.

public override HttpRequestMessage CreateFunctionRequest(string apiKey, object requestBody)

Parameters

apiKey string
requestBody object

Returns

HttpRequestMessage

CreateRequest(string, object)

Creates the HTTP request for a completion call.

public override HttpRequestMessage CreateRequest(string apiKey, object requestBody)

Parameters

apiKey string
requestBody object

Returns

HttpRequestMessage

ExtractFunctionCall(string)

Extracts a function call (if any) from the API response JSON.

public override (string content, FunctionCall? functionCall) ExtractFunctionCall(string responseJson)

Parameters

responseJson string

Returns

(string content, FunctionCall functionCall)

ExtractResponse(string)

Extracts the text response content from the API response JSON.

public override string ExtractResponse(string responseJson)

Parameters

responseJson string

Returns

string

ParseStreamChunk(string)

Extracts a text delta from a single SSE stream chunk.

public override string ParseStreamChunk(string chunkJson)

Parameters

chunkJson string

Returns

string