namespace AIStudio.Models;
///
/// Which role the system prompt is sent in.
///
///
/// A question only OpenAI's own cloud asks. Its models took their instructions as "system" first,
/// then as "developer", and the early reasoning models took none at all, so that the instructions
/// had to travel as a message of the person instead. Every other provider has one way to send a
/// system prompt, and for their models the rules say nothing about this.
///
/// That the vendor's name is not in the members is on purpose: they say what the model accepts,
/// and the provider decides how to spell that in its request.
///
public enum SystemPromptRole
{
///
/// No rule says anything about it, so the provider decides.
///
UNKNOWN,
///
/// The model takes its instructions in the system role.
///
SYSTEM,
///
/// The model takes its instructions in the developer role.
///
DEVELOPER,
///
/// The model takes no instructions of its own, so they go as a message of the person.
///
USER,
}