类 OpenAIBaseFormatter
java.lang.Object
io.agentscope.core.formatter.AbstractBaseFormatter<OpenAIMessage,OpenAIResponse,OpenAIRequest>
io.agentscope.core.formatter.openai.OpenAIBaseFormatter
- 所有已实现的接口:
Formatter<OpenAIMessage,OpenAIResponse, OpenAIRequest>
- 直接已知子类:
OpenAIChatFormatter
public abstract class OpenAIBaseFormatter
extends AbstractBaseFormatter<OpenAIMessage,OpenAIResponse,OpenAIRequest>
Base formatter for OpenAI Chat Completion HTTP API.
Provides common functionality for both single-agent and multi-agent formatters.
Subclasses must implement:
AbstractBaseFormatter.doFormat(List)- Convert messages to OpenAI formatapplyOptions(OpenAIRequest, GenerateOptions, GenerateOptions)- Apply generation optionsapplyTools(OpenAIRequest, List)- Apply tool schemasapplyToolChoice(OpenAIRequest, ToolChoice)- Apply tool choice configuration
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidapplyCacheControl(List<OpenAIMessage> messages) Apply cache control to OpenAI messages.abstract voidapplyOptions(OpenAIRequest request, GenerateOptions options, GenerateOptions defaultOptions) Apply generation options to the request.abstract voidapplyToolChoice(OpenAIRequest request, ToolChoice toolChoice) Apply tool choice configuration to the request.voidapplyToolChoice(OpenAIRequest request, ToolChoice toolChoice, String baseUrl, String modelName) Apply tool choice with provider context.abstract voidapplyTools(OpenAIRequest request, List<ToolSchema> tools) Apply tool schemas to the request.voidapplyTools(OpenAIRequest request, List<ToolSchema> tools, String baseUrl, String modelName) Apply tool schemas with provider context.buildRequest(String model, List<OpenAIMessage> messages, boolean stream) Build a basic OpenAIRequest.buildRequest(String model, List<OpenAIMessage> messages, boolean stream, GenerateOptions options, GenerateOptions defaultOptions, List<ToolSchema> tools, ToolChoice toolChoice) Build a complete OpenAIRequest with full configuration.parseResponse(OpenAIResponse response, Instant startTime) Parse provider-specific response to AgentScope ChatResponse.从类继承的方法 io.agentscope.core.formatter.AbstractBaseFormatter
convertToolResultToString, doFormat, extractTextContent, extractTextContent, format, formatRoleLabel, getOptionOrDefault, hasMediaContent, saveBase64DataToTempFile, shouldBypassHistory
-
字段详细资料
-
messageConverter
-
responseParser
-
-
构造器详细资料
-
OpenAIBaseFormatter
protected OpenAIBaseFormatter()
-
-
方法详细资料
-
parseResponse
从接口复制的说明:FormatterParse provider-specific response to AgentScope ChatResponse.- 参数:
response- Provider-specific response objectstartTime- Request start time for calculating duration- 返回:
- AgentScope ChatResponse
-
applyOptions
public abstract void applyOptions(OpenAIRequest request, GenerateOptions options, GenerateOptions defaultOptions) Apply generation options to the request. Subclasses implement provider-specific option handling.- 参数:
request- OpenAI request DTOoptions- Generation options to applydefaultOptions- Default options to use if options parameter is null
-
applyTools
Apply tool schemas to the request. Subclasses implement provider-specific tool handling.- 参数:
request- OpenAI request DTOtools- List of tool schemas to apply (may be null or empty)
-
applyToolChoice
Apply tool choice configuration to the request. Subclasses implement provider-specific tool choice handling.- 参数:
request- OpenAI request DTOtoolChoice- Tool choice configuration (null means auto)
-
applyTools
public void applyTools(OpenAIRequest request, List<ToolSchema> tools, String baseUrl, String modelName) Apply tool schemas with provider context. Default implementation delegates toapplyTools(OpenAIRequest, List).- 参数:
request- OpenAI request DTOtools- Tool schemas to applybaseUrl- API base URL (ignored by default)modelName- Model name (ignored by default)
-
applyToolChoice
public void applyToolChoice(OpenAIRequest request, ToolChoice toolChoice, String baseUrl, String modelName) Apply tool choice with provider context. Default implementation delegates toapplyToolChoice(OpenAIRequest, ToolChoice).- 参数:
request- OpenAI request DTOtoolChoice- Tool choice configurationbaseUrl- API base URL (ignored by default)modelName- Model name (ignored by default)
-
buildRequest
Build a basic OpenAIRequest.- 参数:
model- Model namemessages- Formatted OpenAI messagesstream- Whether to enable streaming- 返回:
- Basic OpenAIRequest
-
buildRequest
public OpenAIRequest buildRequest(String model, List<OpenAIMessage> messages, boolean stream, GenerateOptions options, GenerateOptions defaultOptions, List<ToolSchema> tools, ToolChoice toolChoice) Build a complete OpenAIRequest with full configuration. This method is provided for convenience but usage via the standard Formatter interface (instantiating request manually and calling apply methods) is preferred in generic code.- 参数:
model- Model namemessages- Formatted OpenAI messagesstream- Whether to enable streamingoptions- Generation optionsdefaultOptions- Default generation optionstools- Tool schemastoolChoice- Tool choice configuration- 返回:
- Complete OpenAIRequest ready for API call
-
applyCacheControl
Apply cache control to OpenAI messages.Adds
cache_control: {"type": "ephemeral"}to all system messages and the last message in the list. Messages that already have cache_control set (e.g., via manual metadata marking) will not be overwritten.- 参数:
messages- the list of formatted OpenAI messages
-