Refactored the responses API as well

This commit is contained in:
Thorsten Sommer 2025-12-28 14:07:09 +01:00
parent 110932548e
commit 18f8eec82c
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
2 changed files with 4 additions and 25 deletions

View File

@ -119,9 +119,7 @@ public sealed class ProviderOpenAI() : BaseProvider("https://api.openai.com/v1/"
{
Model = chatModel.Id,
// Build the messages:
// - First of all the system prompt
// - Then none-empty user and AI messages
// All messages go into the messages field:
Messages = [systemPrompt, ..messages],
// Right now, we only support streaming completions:
@ -134,27 +132,8 @@ public sealed class ProviderOpenAI() : BaseProvider("https://api.openai.com/v1/"
{
Model = chatModel.Id,
// Build the messages:
// - First of all the system prompt
// - Then none-empty user and AI messages
Input = [systemPrompt, ..chatThread.Blocks.Where(n => n.ContentType is ContentType.TEXT && !string.IsNullOrWhiteSpace((n.Content as ContentText)?.Text)).Select(n => new TextMessage
{
Role = n.Role switch
{
ChatRole.USER => "user",
ChatRole.AI => "assistant",
ChatRole.AGENT => "assistant",
ChatRole.SYSTEM => systemPromptRole,
_ => "user",
},
Content = n.Content switch
{
ContentText text => text.Text,
_ => string.Empty,
}
}).ToList()],
// All messages go into the input field:
Input = [systemPrompt, ..messages],
// Right now, we only support streaming completions:
Stream = true,

View File

@ -12,7 +12,7 @@ namespace AIStudio.Provider.OpenAI;
/// <param name="Tools">The tools to use for the request.</param>
public record ResponsesAPIRequest(
string Model,
IList<TextMessage> Input,
IList<IMessageBase> Input,
bool Stream,
bool Store,
IList<Tool> Tools)