diff --git a/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.html b/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.html index f7d0fa0f7..a3f11370d 100644 --- a/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.html +++ b/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.html @@ -21,7 +21,7 @@ "info": { "title": "[DRAFT] Llama Stack Specification", "version": "0.0.1", - "description": "This is the specification of the llama stack that provides\n a set of endpoints and their corresponding interfaces that are tailored to\n best leverage Llama Models. The specification is still in draft and subject to change.\n Generated at 2024-09-09 10:38:33.954536" + "description": "This is the specification of the llama stack that provides\n a set of endpoints and their corresponding interfaces that are tailored to\n best leverage Llama Models. The specification is still in draft and subject to change.\n Generated at 2024-09-09 11:14:56.584501" }, "servers": [ { @@ -51,7 +51,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BatchChatCompletionRequest" + "$ref": "#/components/schemas/BatchChatCompletionRequestWrapper" } } }, @@ -81,7 +81,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BatchCompletionRequest" + "$ref": "#/components/schemas/BatchCompletionRequestWrapper" } } }, @@ -157,7 +157,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ChatCompletionRequest" + "$ref": "#/components/schemas/ChatCompletionRequestWrapper" } } }, @@ -187,7 +187,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CompletionRequest" + "$ref": "#/components/schemas/CompletionRequestWrapper" } } }, @@ -277,7 +277,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateAgenticSystemTurnRequest" + "$ref": "#/components/schemas/CreateAgenticSystemTurnRequestWrapper" } } }, @@ -300,7 +300,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateDatasetRequest" + "$ref": "#/components/schemas/CreateDatasetRequestWrapper" } } }, @@ -330,7 +330,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateExperimentRequest" + "$ref": "#/components/schemas/CreateExperimentRequestWrapper" } } }, @@ -390,7 +390,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateRunRequest" + "$ref": "#/components/schemas/CreateRunRequestWrapper" } } }, @@ -572,7 +572,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EvaluateQuestionAnsweringRequest" + "$ref": "#/components/schemas/EvaluateQuestionAnsweringRequestWrapper" } } }, @@ -602,7 +602,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EvaluateSummarizationRequest" + "$ref": "#/components/schemas/EvaluateSummarizationRequestWrapper" } } }, @@ -632,7 +632,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EvaluateTextGenerationRequest" + "$ref": "#/components/schemas/EvaluateTextGenerationRequestWrapper" } } }, @@ -1024,7 +1024,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetLogsRequest" + "$ref": "#/components/schemas/GetLogsRequestWrapper" } } }, @@ -1312,7 +1312,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LogMessagesRequest" + "$ref": "#/components/schemas/LogMessagesRequestWrapper" } } }, @@ -1335,7 +1335,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LogMetricsRequest" + "$ref": "#/components/schemas/LogMetricsRequestWrapper" } } }, @@ -1365,7 +1365,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferenceOptimizeRequest" + "$ref": "#/components/schemas/PreferenceOptimizeRequestWrapper" } } }, @@ -1425,7 +1425,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RewardScoreRequest" + "$ref": "#/components/schemas/RewardScoreRequestWrapper" } } }, @@ -1455,7 +1455,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SupervisedFineTuneRequest" + "$ref": "#/components/schemas/SupervisedFineTuneRequestWrapper" } } }, @@ -1485,7 +1485,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SyntheticDataGenerateRequest" + "$ref": "#/components/schemas/SyntheticDataGenerateRequestWrapper" } } }, @@ -1538,7 +1538,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateExperimentRequest" + "$ref": "#/components/schemas/UpdateExperimentRequestWrapper" } } }, @@ -1568,7 +1568,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateRunRequest" + "$ref": "#/components/schemas/UpdateRunRequestWrapper" } } }, @@ -1598,7 +1598,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UploadArtifactRequest" + "$ref": "#/components/schemas/UploadArtifactRequestWrapper" } } }, @@ -2020,6 +2020,18 @@ "content" ] }, + "BatchChatCompletionRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/BatchChatCompletionRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "BatchChatCompletionResponse": { "type": "object", "properties": { @@ -2076,6 +2088,18 @@ "content_batch" ] }, + "BatchCompletionRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/BatchCompletionRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "BatchCompletionResponse": { "type": "object", "properties": { @@ -2174,6 +2198,18 @@ "messages" ] }, + "ChatCompletionRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/ChatCompletionRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "ChatCompletionResponseEvent": { "type": "object", "properties": { @@ -2316,6 +2352,18 @@ "content" ] }, + "CompletionRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/CompletionRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "CompletionResponseStreamChunk": { "type": "object", "properties": { @@ -3181,7 +3229,7 @@ "mime_type" ] }, - "CreateAgenticSystemTurnRequest": { + "CreateAgenticSystemTurnRequestWrapper": { "type": "object", "properties": { "request": { @@ -3764,6 +3812,18 @@ "json" ] }, + "CreateDatasetRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/CreateDatasetRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "CreateExperimentRequest": { "type": "object", "properties": { @@ -3801,6 +3861,18 @@ "name" ] }, + "CreateExperimentRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/CreateExperimentRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "Experiment": { "type": "object", "properties": { @@ -4073,6 +4145,18 @@ "experiment_id" ] }, + "CreateRunRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/CreateRunRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "Run": { "type": "object", "properties": { @@ -4285,6 +4369,18 @@ ], "title": "Request to evaluate question answering." }, + "EvaluateQuestionAnsweringRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/EvaluateQuestionAnsweringRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "EvaluationJob": { "type": "object", "properties": { @@ -4333,6 +4429,18 @@ ], "title": "Request to evaluate summarization." }, + "EvaluateSummarizationRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/EvaluateSummarizationRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "EvaluateTextGenerationRequest": { "type": "object", "properties": { @@ -4370,6 +4478,18 @@ ], "title": "Request to evaluate text generation." }, + "EvaluateTextGenerationRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/EvaluateTextGenerationRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "GetAgenticSystemSessionRequest": { "type": "object", "properties": { @@ -4655,7 +4775,7 @@ "query" ] }, - "GetLogsRequest": { + "GetLogsRequestWrapper": { "type": "object", "properties": { "request": { @@ -4926,6 +5046,18 @@ "logs" ] }, + "LogMessagesRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/LogMessagesRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "LogMetricsRequest": { "type": "object", "properties": { @@ -4945,6 +5077,18 @@ "metrics" ] }, + "LogMetricsRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/LogMetricsRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "DPOAlignmentConfig": { "type": "object", "properties": { @@ -5133,7 +5277,7 @@ "fsdp_cpu_offload" ] }, - "PreferenceOptimizeRequest": { + "PreferenceOptimizeRequestWrapper": { "type": "object", "properties": { "request": { @@ -5313,7 +5457,7 @@ ], "title": "Request to score a reward function. A list of prompts and a list of responses per prompt." }, - "RewardScoreRequest": { + "RewardScoreRequestWrapper": { "type": "object", "properties": { "request": { @@ -5610,7 +5754,7 @@ "alpha" ] }, - "SupervisedFineTuneRequest": { + "SupervisedFineTuneRequestWrapper": { "type": "object", "properties": { "request": { @@ -5667,7 +5811,7 @@ ], "title": "Request to generate synthetic data. A small batch of prompts and a filtering function" }, - "SyntheticDataGenerateRequest": { + "SyntheticDataGenerateRequestWrapper": { "type": "object", "properties": { "request": { @@ -5779,6 +5923,18 @@ "experiment_id" ] }, + "UpdateExperimentRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/UpdateExperimentRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "UpdateRunRequest": { "type": "object", "properties": { @@ -5823,6 +5979,18 @@ "run_id" ] }, + "UpdateRunRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/UpdateRunRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] + }, "UploadArtifactRequest": { "type": "object", "properties": { @@ -5872,6 +6040,18 @@ "artifact_type", "content" ] + }, + "UploadArtifactRequestWrapper": { + "type": "object", + "properties": { + "request": { + "$ref": "#/components/schemas/UploadArtifactRequest" + } + }, + "additionalProperties": false, + "required": [ + "request" + ] } }, "responses": {} @@ -5888,29 +6068,29 @@ { "name": "Telemetry" }, - { - "name": "Datasets" - }, { "name": "PostTraining" }, - { - "name": "SyntheticDataGeneration" - }, - { - "name": "Inference" - }, - { - "name": "Evaluations" - }, { "name": "BatchInference" }, + { + "name": "AgenticSystem" + }, { "name": "RewardScoring" }, { - "name": "AgenticSystem" + "name": "SyntheticDataGeneration" + }, + { + "name": "Evaluations" + }, + { + "name": "Inference" + }, + { + "name": "Datasets" }, { "name": "BatchChatCompletionRequest", @@ -5968,6 +6148,10 @@ "name": "UserMessage", "description": "" }, + { + "name": "BatchChatCompletionRequestWrapper", + "description": "" + }, { "name": "BatchChatCompletionResponse", "description": "" @@ -5976,6 +6160,10 @@ "name": "BatchCompletionRequest", "description": "" }, + { + "name": "BatchCompletionRequestWrapper", + "description": "" + }, { "name": "BatchCompletionResponse", "description": "" @@ -5992,6 +6180,10 @@ "name": "ChatCompletionRequest", "description": "" }, + { + "name": "ChatCompletionRequestWrapper", + "description": "" + }, { "name": "ChatCompletionResponseEvent", "description": "Chat completion response event.\n\n" @@ -6020,6 +6212,10 @@ "name": "CompletionRequest", "description": "" }, + { + "name": "CompletionRequestWrapper", + "description": "" + }, { "name": "CompletionResponseStreamChunk", "description": "streamed completion response.\n\n" @@ -6097,8 +6293,8 @@ "description": "" }, { - "name": "CreateAgenticSystemTurnRequest", - "description": "" + "name": "CreateAgenticSystemTurnRequestWrapper", + "description": "" }, { "name": "AgenticSystemTurnResponseEvent", @@ -6168,10 +6364,18 @@ "name": "TrainEvalDatasetColumnType", "description": "" }, + { + "name": "CreateDatasetRequestWrapper", + "description": "" + }, { "name": "CreateExperimentRequest", "description": "" }, + { + "name": "CreateExperimentRequestWrapper", + "description": "" + }, { "name": "Experiment", "description": "" @@ -6192,6 +6396,10 @@ "name": "CreateRunRequest", "description": "" }, + { + "name": "CreateRunRequestWrapper", + "description": "" + }, { "name": "Run", "description": "" @@ -6232,6 +6440,10 @@ "name": "EvaluateQuestionAnsweringRequest", "description": "Request to evaluate question answering.\n\n" }, + { + "name": "EvaluateQuestionAnsweringRequestWrapper", + "description": "" + }, { "name": "EvaluationJob", "description": "" @@ -6240,10 +6452,18 @@ "name": "EvaluateSummarizationRequest", "description": "Request to evaluate summarization.\n\n" }, + { + "name": "EvaluateSummarizationRequestWrapper", + "description": "" + }, { "name": "EvaluateTextGenerationRequest", "description": "Request to evaluate text generation.\n\n" }, + { + "name": "EvaluateTextGenerationRequestWrapper", + "description": "" + }, { "name": "GetAgenticSystemSessionRequest", "description": "" @@ -6289,8 +6509,8 @@ "description": "" }, { - "name": "GetLogsRequest", - "description": "" + "name": "GetLogsRequestWrapper", + "description": "" }, { "name": "Log", @@ -6332,10 +6552,18 @@ "name": "LogMessagesRequest", "description": "" }, + { + "name": "LogMessagesRequestWrapper", + "description": "" + }, { "name": "LogMetricsRequest", "description": "" }, + { + "name": "LogMetricsRequestWrapper", + "description": "" + }, { "name": "DPOAlignmentConfig", "description": "" @@ -6357,8 +6585,8 @@ "description": "" }, { - "name": "PreferenceOptimizeRequest", - "description": "" + "name": "PreferenceOptimizeRequestWrapper", + "description": "" }, { "name": "QueryDocumentsRequest", @@ -6377,8 +6605,8 @@ "description": "Request to score a reward function. A list of prompts and a list of responses per prompt.\n\n" }, { - "name": "RewardScoreRequest", - "description": "" + "name": "RewardScoreRequestWrapper", + "description": "" }, { "name": "RewardScoringResponse", @@ -6413,16 +6641,16 @@ "description": "" }, { - "name": "SupervisedFineTuneRequest", - "description": "" + "name": "SupervisedFineTuneRequestWrapper", + "description": "" }, { "name": "SyntheticDataGenerationRequest", "description": "Request to generate synthetic data. A small batch of prompts and a filtering function\n\n" }, { - "name": "SyntheticDataGenerateRequest", - "description": "" + "name": "SyntheticDataGenerateRequestWrapper", + "description": "" }, { "name": "SyntheticDataGenerationResponse", @@ -6436,13 +6664,25 @@ "name": "UpdateExperimentRequest", "description": "" }, + { + "name": "UpdateExperimentRequestWrapper", + "description": "" + }, { "name": "UpdateRunRequest", "description": "" }, + { + "name": "UpdateRunRequestWrapper", + "description": "" + }, { "name": "UploadArtifactRequest", "description": "" + }, + { + "name": "UploadArtifactRequestWrapper", + "description": "" } ], "x-tagGroups": [ @@ -6480,8 +6720,10 @@ "ArtifactType", "Attachment", "BatchChatCompletionRequest", + "BatchChatCompletionRequestWrapper", "BatchChatCompletionResponse", "BatchCompletionRequest", + "BatchCompletionRequestWrapper", "BatchCompletionResponse", "BraveSearchToolDefinition", "BuiltinShield", @@ -6489,6 +6731,7 @@ "CancelEvaluationJobRequest", "CancelTrainingJobRequest", "ChatCompletionRequest", + "ChatCompletionRequestWrapper", "ChatCompletionResponseEvent", "ChatCompletionResponseEventType", "ChatCompletionResponseStreamChunk", @@ -6496,14 +6739,18 @@ "CodeInterpreterToolDefinition", "CompletionMessage", "CompletionRequest", + "CompletionRequestWrapper", "CompletionResponseStreamChunk", "CreateAgenticSystemRequest", "CreateAgenticSystemSessionRequest", - "CreateAgenticSystemTurnRequest", + "CreateAgenticSystemTurnRequestWrapper", "CreateDatasetRequest", + "CreateDatasetRequestWrapper", "CreateExperimentRequest", + "CreateExperimentRequestWrapper", "CreateMemoryBankRequest", "CreateRunRequest", + "CreateRunRequestWrapper", "DPOAlignmentConfig", "DeleteAgenticSystemRequest", "DeleteAgenticSystemSessionRequest", @@ -6515,8 +6762,11 @@ "EmbeddingsRequest", "EmbeddingsResponse", "EvaluateQuestionAnsweringRequest", + "EvaluateQuestionAnsweringRequestWrapper", "EvaluateSummarizationRequest", + "EvaluateSummarizationRequestWrapper", "EvaluateTextGenerationRequest", + "EvaluateTextGenerationRequestWrapper", "EvaluationJob", "EvaluationJobArtifactsResponse", "EvaluationJobLogStream", @@ -6527,13 +6777,15 @@ "FunctionCallToolDefinition", "GetAgenticSystemSessionRequest", "GetDocumentsRequest", - "GetLogsRequest", + "GetLogsRequestWrapper", "InferenceStep", "InsertDocumentsRequest", "ListArtifactsRequest", "Log", "LogMessagesRequest", + "LogMessagesRequestWrapper", "LogMetricsRequest", + "LogMetricsRequestWrapper", "LogSearchRequest", "LoraFinetuningConfig", "MemoryBank", @@ -6550,14 +6802,14 @@ "PostTrainingJobStatusResponse", "PostTrainingRLHFRequest", "PostTrainingSFTRequest", - "PreferenceOptimizeRequest", + "PreferenceOptimizeRequestWrapper", "QLoraFinetuningConfig", "QueryDocumentsRequest", "QueryDocumentsResponse", "RLHFAlgorithm", "RestAPIExecutionConfig", "RestAPIMethod", - "RewardScoreRequest", + "RewardScoreRequestWrapper", "RewardScoringRequest", "RewardScoringResponse", "Run", @@ -6570,8 +6822,8 @@ "ShieldDefinition", "ShieldResponse", "StopReason", - "SupervisedFineTuneRequest", - "SyntheticDataGenerateRequest", + "SupervisedFineTuneRequestWrapper", + "SyntheticDataGenerateRequestWrapper", "SyntheticDataGenerationRequest", "SyntheticDataGenerationResponse", "SystemMessage", @@ -6593,8 +6845,11 @@ "URL", "UpdateDocumentsRequest", "UpdateExperimentRequest", + "UpdateExperimentRequestWrapper", "UpdateRunRequest", + "UpdateRunRequestWrapper", "UploadArtifactRequest", + "UploadArtifactRequestWrapper", "UserMessage", "WolframAlphaToolDefinition" ] diff --git a/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml b/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml index 2f0d6918c..a1125b921 100644 --- a/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml +++ b/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml @@ -566,6 +566,14 @@ components: - model - messages_batch type: object + BatchChatCompletionRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/BatchChatCompletionRequest' + required: + - request + type: object BatchChatCompletionResponse: additionalProperties: false properties: @@ -601,6 +609,14 @@ components: - model - content_batch type: object + BatchCompletionRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/BatchCompletionRequest' + required: + - request + type: object BatchCompletionResponse: additionalProperties: false properties: @@ -696,6 +712,14 @@ components: - model - messages type: object + ChatCompletionRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/ChatCompletionRequest' + required: + - request + type: object ChatCompletionResponseEvent: additionalProperties: false properties: @@ -804,6 +828,14 @@ components: - model - content type: object + CompletionRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/CompletionRequest' + required: + - request + type: object CompletionResponseStreamChunk: additionalProperties: false properties: @@ -838,7 +870,7 @@ components: - agent_id - session_name type: object - CreateAgenticSystemTurnRequest: + CreateAgenticSystemTurnRequestWrapper: additionalProperties: false properties: request: @@ -858,6 +890,14 @@ components: - dataset title: Request to create a dataset. type: object + CreateDatasetRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/CreateDatasetRequest' + required: + - request + type: object CreateExperimentRequest: additionalProperties: false properties: @@ -876,6 +916,14 @@ components: required: - name type: object + CreateExperimentRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/CreateExperimentRequest' + required: + - request + type: object CreateMemoryBankRequest: additionalProperties: false properties: @@ -947,6 +995,14 @@ components: required: - experiment_id type: object + CreateRunRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/CreateRunRequest' + required: + - request + type: object DPOAlignmentConfig: additionalProperties: false properties: @@ -1112,6 +1168,14 @@ components: - metrics title: Request to evaluate question answering. type: object + EvaluateQuestionAnsweringRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/EvaluateQuestionAnsweringRequest' + required: + - request + type: object EvaluateSummarizationRequest: additionalProperties: false properties: @@ -1138,6 +1202,14 @@ components: - metrics title: Request to evaluate summarization. type: object + EvaluateSummarizationRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/EvaluateSummarizationRequest' + required: + - request + type: object EvaluateTextGenerationRequest: additionalProperties: false properties: @@ -1165,6 +1237,14 @@ components: - metrics title: Request to evaluate text generation. type: object + EvaluateTextGenerationRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/EvaluateTextGenerationRequest' + required: + - request + type: object EvaluationJob: additionalProperties: false properties: @@ -1293,7 +1373,7 @@ components: required: - document_ids type: object - GetLogsRequest: + GetLogsRequestWrapper: additionalProperties: false properties: request: @@ -1386,6 +1466,14 @@ components: required: - logs type: object + LogMessagesRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/LogMessagesRequest' + required: + - request + type: object LogMetricsRequest: additionalProperties: false properties: @@ -1399,6 +1487,14 @@ components: - run_id - metrics type: object + LogMetricsRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/LogMetricsRequest' + required: + - request + type: object LogSearchRequest: additionalProperties: false properties: @@ -1812,7 +1908,7 @@ components: - logger_config title: Request to finetune a model. type: object - PreferenceOptimizeRequest: + PreferenceOptimizeRequestWrapper: additionalProperties: false properties: request: @@ -1932,7 +2028,7 @@ components: - PUT - DELETE type: string - RewardScoreRequest: + RewardScoreRequestWrapper: additionalProperties: false properties: request: @@ -2148,7 +2244,7 @@ components: - end_of_message - out_of_tokens type: string - SupervisedFineTuneRequest: + SupervisedFineTuneRequestWrapper: additionalProperties: false properties: request: @@ -2156,7 +2252,7 @@ components: required: - request type: object - SyntheticDataGenerateRequest: + SyntheticDataGenerateRequestWrapper: additionalProperties: false properties: request: @@ -2561,6 +2657,14 @@ components: required: - experiment_id type: object + UpdateExperimentRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/UpdateExperimentRequest' + required: + - request + type: object UpdateRunRequest: additionalProperties: false properties: @@ -2584,6 +2688,14 @@ components: required: - run_id type: object + UpdateRunRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/UpdateRunRequest' + required: + - request + type: object UploadArtifactRequest: additionalProperties: false properties: @@ -2612,6 +2724,14 @@ components: - artifact_type - content type: object + UploadArtifactRequestWrapper: + additionalProperties: false + properties: + request: + $ref: '#/components/schemas/UploadArtifactRequest' + required: + - request + type: object UserMessage: additionalProperties: false properties: @@ -2657,7 +2777,7 @@ info: description: "This is the specification of the llama stack that provides\n \ \ a set of endpoints and their corresponding interfaces that are tailored\ \ to\n best leverage Llama Models. The specification is still in\ - \ draft and subject to change.\n Generated at 2024-09-09 10:38:33.954536" + \ draft and subject to change.\n Generated at 2024-09-09 11:14:56.584501" title: '[DRAFT] Llama Stack Specification' version: 0.0.1 jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema @@ -2789,7 +2909,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateAgenticSystemTurnRequest' + $ref: '#/components/schemas/CreateAgenticSystemTurnRequestWrapper' required: true responses: '200': @@ -2846,7 +2966,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BatchChatCompletionRequest' + $ref: '#/components/schemas/BatchChatCompletionRequestWrapper' required: true responses: '200': @@ -2864,7 +2984,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/BatchCompletionRequest' + $ref: '#/components/schemas/BatchCompletionRequestWrapper' required: true responses: '200': @@ -2882,7 +3002,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateDatasetRequest' + $ref: '#/components/schemas/CreateDatasetRequestWrapper' required: true responses: '200': @@ -3004,7 +3124,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/EvaluateQuestionAnsweringRequest' + $ref: '#/components/schemas/EvaluateQuestionAnsweringRequestWrapper' required: true responses: '200': @@ -3022,7 +3142,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/EvaluateSummarizationRequest' + $ref: '#/components/schemas/EvaluateSummarizationRequestWrapper' required: true responses: '200': @@ -3040,7 +3160,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/EvaluateTextGenerationRequest' + $ref: '#/components/schemas/EvaluateTextGenerationRequestWrapper' required: true responses: '200': @@ -3076,7 +3196,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UploadArtifactRequest' + $ref: '#/components/schemas/UploadArtifactRequestWrapper' required: true responses: '200': @@ -3094,7 +3214,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateExperimentRequest' + $ref: '#/components/schemas/CreateExperimentRequestWrapper' required: true responses: '200': @@ -3112,7 +3232,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateRunRequest' + $ref: '#/components/schemas/CreateRunRequestWrapper' required: true responses: '200': @@ -3159,7 +3279,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UpdateExperimentRequest' + $ref: '#/components/schemas/UpdateExperimentRequestWrapper' required: true responses: '200': @@ -3177,7 +3297,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ChatCompletionRequest' + $ref: '#/components/schemas/ChatCompletionRequestWrapper' required: true responses: '200': @@ -3195,7 +3315,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CompletionRequest' + $ref: '#/components/schemas/CompletionRequestWrapper' required: true responses: '200': @@ -3231,7 +3351,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/GetLogsRequest' + $ref: '#/components/schemas/GetLogsRequestWrapper' required: true responses: '200': @@ -3249,7 +3369,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LogMessagesRequest' + $ref: '#/components/schemas/LogMessagesRequestWrapper' required: true responses: '200': @@ -3490,7 +3610,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PreferenceOptimizeRequest' + $ref: '#/components/schemas/PreferenceOptimizeRequestWrapper' required: true responses: '200': @@ -3508,7 +3628,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SupervisedFineTuneRequest' + $ref: '#/components/schemas/SupervisedFineTuneRequestWrapper' required: true responses: '200': @@ -3526,7 +3646,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/RewardScoreRequest' + $ref: '#/components/schemas/RewardScoreRequestWrapper' required: true responses: '200': @@ -3544,7 +3664,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LogMetricsRequest' + $ref: '#/components/schemas/LogMetricsRequestWrapper' required: true responses: '200': @@ -3575,7 +3695,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UpdateRunRequest' + $ref: '#/components/schemas/UpdateRunRequestWrapper' required: true responses: '200': @@ -3593,7 +3713,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SyntheticDataGenerateRequest' + $ref: '#/components/schemas/SyntheticDataGenerateRequestWrapper' required: true responses: '200': @@ -3611,14 +3731,14 @@ servers: tags: - name: Memory - name: Telemetry -- name: Datasets - name: PostTraining -- name: SyntheticDataGeneration -- name: Inference -- name: Evaluations - name: BatchInference -- name: RewardScoring - name: AgenticSystem +- name: RewardScoring +- name: SyntheticDataGeneration +- name: Evaluations +- name: Inference +- name: Datasets - description: name: BatchChatCompletionRequest @@ -3661,12 +3781,18 @@ tags: name: ToolResponseMessage - description: name: UserMessage +- description: + name: BatchChatCompletionRequestWrapper - description: name: BatchChatCompletionResponse - description: name: BatchCompletionRequest +- description: + name: BatchCompletionRequestWrapper - description: name: BatchCompletionResponse @@ -3679,6 +3805,9 @@ tags: - description: name: ChatCompletionRequest +- description: + name: ChatCompletionRequestWrapper - description: 'Chat completion response event. @@ -3704,6 +3833,9 @@ tags: - description: name: CompletionRequest +- description: + name: CompletionRequestWrapper - description: 'streamed completion response. @@ -3759,9 +3891,9 @@ tags: name: AgenticSystemTurnCreateRequest - description: name: Attachment -- description: - name: CreateAgenticSystemTurnRequest + name: CreateAgenticSystemTurnRequestWrapper - description: 'Streamed agent execution response. @@ -3818,9 +3950,15 @@ tags: - description: name: TrainEvalDatasetColumnType +- description: + name: CreateDatasetRequestWrapper - description: name: CreateExperimentRequest +- description: + name: CreateExperimentRequestWrapper - description: name: Experiment - description: name: CreateRunRequest +- description: + name: CreateRunRequestWrapper - description: name: Run - description: ' name: EvaluateQuestionAnsweringRequest +- description: + name: EvaluateQuestionAnsweringRequestWrapper - description: name: EvaluationJob - description: 'Request to evaluate summarization. @@ -3876,12 +4020,18 @@ tags: ' name: EvaluateSummarizationRequest +- description: + name: EvaluateSummarizationRequestWrapper - description: 'Request to evaluate text generation. ' name: EvaluateTextGenerationRequest +- description: + name: EvaluateTextGenerationRequestWrapper - description: name: GetAgenticSystemSessionRequest @@ -3918,8 +4068,9 @@ tags: - description: name: LogSearchRequest -- description: - name: GetLogsRequest +- description: + name: GetLogsRequestWrapper - description: name: Log - description: @@ -3956,9 +4107,15 @@ tags: - description: name: LogMessagesRequest +- description: + name: LogMessagesRequestWrapper - description: name: LogMetricsRequest +- description: + name: LogMetricsRequestWrapper - description: name: DPOAlignmentConfig @@ -3974,9 +4131,9 @@ tags: name: RLHFAlgorithm - description: name: TrainingConfig -- description: - name: PreferenceOptimizeRequest + name: PreferenceOptimizeRequestWrapper - description: name: QueryDocumentsRequest @@ -3992,9 +4149,9 @@ tags: ' name: RewardScoringRequest -- description: - name: RewardScoreRequest + name: RewardScoreRequestWrapper - description: 'Response from the reward scoring. Batch of (prompt, response, score) tuples that pass the threshold. @@ -4023,9 +4180,9 @@ tags: - description: name: QLoraFinetuningConfig -- description: - name: SupervisedFineTuneRequest + name: SupervisedFineTuneRequestWrapper - description: 'Request to generate synthetic data. A small batch of prompts and a filtering function @@ -4033,9 +4190,9 @@ tags: ' name: SyntheticDataGenerationRequest -- description: - name: SyntheticDataGenerateRequest + name: SyntheticDataGenerateRequestWrapper - description: 'Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold. @@ -4049,12 +4206,21 @@ tags: - description: name: UpdateExperimentRequest +- description: + name: UpdateExperimentRequestWrapper - description: name: UpdateRunRequest +- description: + name: UpdateRunRequestWrapper - description: name: UploadArtifactRequest +- description: + name: UploadArtifactRequestWrapper x-tagGroups: - name: Operations tags: @@ -4086,8 +4252,10 @@ x-tagGroups: - ArtifactType - Attachment - BatchChatCompletionRequest + - BatchChatCompletionRequestWrapper - BatchChatCompletionResponse - BatchCompletionRequest + - BatchCompletionRequestWrapper - BatchCompletionResponse - BraveSearchToolDefinition - BuiltinShield @@ -4095,6 +4263,7 @@ x-tagGroups: - CancelEvaluationJobRequest - CancelTrainingJobRequest - ChatCompletionRequest + - ChatCompletionRequestWrapper - ChatCompletionResponseEvent - ChatCompletionResponseEventType - ChatCompletionResponseStreamChunk @@ -4102,14 +4271,18 @@ x-tagGroups: - CodeInterpreterToolDefinition - CompletionMessage - CompletionRequest + - CompletionRequestWrapper - CompletionResponseStreamChunk - CreateAgenticSystemRequest - CreateAgenticSystemSessionRequest - - CreateAgenticSystemTurnRequest + - CreateAgenticSystemTurnRequestWrapper - CreateDatasetRequest + - CreateDatasetRequestWrapper - CreateExperimentRequest + - CreateExperimentRequestWrapper - CreateMemoryBankRequest - CreateRunRequest + - CreateRunRequestWrapper - DPOAlignmentConfig - DeleteAgenticSystemRequest - DeleteAgenticSystemSessionRequest @@ -4121,8 +4294,11 @@ x-tagGroups: - EmbeddingsRequest - EmbeddingsResponse - EvaluateQuestionAnsweringRequest + - EvaluateQuestionAnsweringRequestWrapper - EvaluateSummarizationRequest + - EvaluateSummarizationRequestWrapper - EvaluateTextGenerationRequest + - EvaluateTextGenerationRequestWrapper - EvaluationJob - EvaluationJobArtifactsResponse - EvaluationJobLogStream @@ -4133,13 +4309,15 @@ x-tagGroups: - FunctionCallToolDefinition - GetAgenticSystemSessionRequest - GetDocumentsRequest - - GetLogsRequest + - GetLogsRequestWrapper - InferenceStep - InsertDocumentsRequest - ListArtifactsRequest - Log - LogMessagesRequest + - LogMessagesRequestWrapper - LogMetricsRequest + - LogMetricsRequestWrapper - LogSearchRequest - LoraFinetuningConfig - MemoryBank @@ -4156,14 +4334,14 @@ x-tagGroups: - PostTrainingJobStatusResponse - PostTrainingRLHFRequest - PostTrainingSFTRequest - - PreferenceOptimizeRequest + - PreferenceOptimizeRequestWrapper - QLoraFinetuningConfig - QueryDocumentsRequest - QueryDocumentsResponse - RLHFAlgorithm - RestAPIExecutionConfig - RestAPIMethod - - RewardScoreRequest + - RewardScoreRequestWrapper - RewardScoringRequest - RewardScoringResponse - Run @@ -4176,8 +4354,8 @@ x-tagGroups: - ShieldDefinition - ShieldResponse - StopReason - - SupervisedFineTuneRequest - - SyntheticDataGenerateRequest + - SupervisedFineTuneRequestWrapper + - SyntheticDataGenerateRequestWrapper - SyntheticDataGenerationRequest - SyntheticDataGenerationResponse - SystemMessage @@ -4199,7 +4377,10 @@ x-tagGroups: - URL - UpdateDocumentsRequest - UpdateExperimentRequest + - UpdateExperimentRequestWrapper - UpdateRunRequest + - UpdateRunRequestWrapper - UploadArtifactRequest + - UploadArtifactRequestWrapper - UserMessage - WolframAlphaToolDefinition diff --git a/rfcs/openapi_generator/pyopenapi/generator.py b/rfcs/openapi_generator/pyopenapi/generator.py index dcb4810c7..4acc0e863 100644 --- a/rfcs/openapi_generator/pyopenapi/generator.py +++ b/rfcs/openapi_generator/pyopenapi/generator.py @@ -470,9 +470,16 @@ class Generator: request_name, request_type = first from dataclasses import make_dataclass - op_name = "".join(word.capitalize() for word in op.name.split("_")) - request_name = f"{op_name}Request" - request_type = make_dataclass(request_name, op.request_params) + + if len(op.request_params) == 1 and "Request" in first[1].__name__: + # TODO(ashwin): Undo the "Request" hack and this entire block eventually + op_name = "".join(word.capitalize() for word in op.name.split("_")) + request_name = f"{op_name}RequestWrapper" + request_type = make_dataclass(request_name, op.request_params) + else: + op_name = "".join(word.capitalize() for word in op.name.split("_")) + request_name = f"{op_name}Request" + request_type = make_dataclass(request_name, op.request_params) requestBody = RequestBody( content={