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 46594bbed..722855f83 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-03 21:42:33.579455" + "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-04 09:26:21.634687" }, "servers": [ { @@ -90,7 +90,7 @@ } }, "/evaluate/job/cancel": { - "get": { + "post": { "responses": { "200": { "description": "OK" @@ -99,20 +99,21 @@ "tags": [ "Evaluations" ], - "parameters": [ - { - "name": "job_uuid", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/post_training/job/cancel": { - "get": { + "post": { "responses": { "200": { "description": "OK" @@ -121,16 +122,17 @@ "tags": [ "PostTraining" ], - "parameters": [ - { - "name": "job_uuid", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/inference/chat_completion": { @@ -224,7 +226,7 @@ } }, "/agentic_system/session/create": { - "get": { + "post": { "responses": { "200": { "description": "OK", @@ -240,24 +242,17 @@ "tags": [ "AgenticSystem" ], - "parameters": [ - { - "name": "agent_id", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAgenticSystemSessionRequest" + } } }, - { - "name": "session_name", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ] + "required": true + } } }, "/agentic_system/turn/create": { @@ -360,16 +355,7 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "name", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { @@ -413,7 +399,7 @@ } }, "/agentic_system/delete": { - "delete": { + "post": { "responses": { "200": { "description": "OK" @@ -422,20 +408,21 @@ "tags": [ "AgenticSystem" ], - "parameters": [ - { - "name": "agent_id", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/agentic_system/session/delete": { - "delete": { + "post": { "responses": { "200": { "description": "OK" @@ -444,28 +431,21 @@ "tags": [ "AgenticSystem" ], - "parameters": [ - { - "name": "agent_id", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAgenticSystemSessionRequest" + } } }, - { - "name": "session_id", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ] + "required": true + } } }, "/datasets/delete": { - "delete": { + "post": { "responses": { "200": { "description": "OK" @@ -474,16 +454,17 @@ "tags": [ "Datasets" ], - "parameters": [ - { - "name": "dataset_uuid", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/memory_bank/documents/delete": { @@ -496,24 +477,12 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "bank_id", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/DeleteDocumentsRequest" } } }, @@ -522,7 +491,7 @@ } }, "/memory_banks/drop": { - "delete": { + "post": { "responses": { "200": { "description": "OK", @@ -538,16 +507,17 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "bank_id", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/inference/embeddings": { @@ -567,34 +537,12 @@ "tags": [ "Inference" ], - "parameters": [ - { - "name": "model", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } + "$ref": "#/components/schemas/EmbeddingsRequest" } } }, @@ -1279,32 +1227,12 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "bank_id", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "ttl_seconds", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MemoryBankDocument" - } + "$ref": "#/components/schemas/InsertDocumentsRequest" } } }, @@ -1313,7 +1241,7 @@ } }, "/experiments/artifacts/get": { - "get": { + "post": { "responses": { "200": { "description": "OK", @@ -1329,16 +1257,17 @@ "tags": [ "Observability" ], - "parameters": [ - { - "name": "experiment_id", - "in": "query", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string" + } } - } - ] + }, + "required": true + } } }, "/experiments/list": { @@ -1474,16 +1403,7 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "bank_id", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { @@ -1596,24 +1516,12 @@ "tags": [ "Memory" ], - "parameters": [ - { - "name": "bank_id", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MemoryBankDocument" - } + "$ref": "#/components/schemas/UpdateDocumentsRequest" } } }, @@ -2876,6 +2784,22 @@ "agent_id" ] }, + "CreateAgenticSystemSessionRequest": { + "type": "object", + "properties": { + "agent_id": { + "type": "string" + }, + "session_name": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "agent_id", + "session_name" + ] + }, "AgenticSystemSessionCreateResponse": { "type": "object", "properties": { @@ -3681,6 +3605,9 @@ "CreateMemoryBankRequest": { "type": "object", "properties": { + "name": { + "type": "string" + }, "config": { "oneOf": [ { @@ -3754,6 +3681,7 @@ }, "additionalProperties": false, "required": [ + "name", "config" ] }, @@ -3936,6 +3864,70 @@ "metadata" ] }, + "DeleteAgenticSystemSessionRequest": { + "type": "object", + "properties": { + "agent_id": { + "type": "string" + }, + "session_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "agent_id", + "session_id" + ] + }, + "DeleteDocumentsRequest": { + "type": "object", + "properties": { + "bank_id": { + "type": "string" + }, + "document_ids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "bank_id", + "document_ids" + ] + }, + "EmbeddingsRequest": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "contents": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "additionalProperties": false, + "required": [ + "model", + "contents" + ] + }, "EmbeddingsResponse": { "type": "object", "properties": { @@ -4543,6 +4535,28 @@ "job_uuid" ] }, + "InsertDocumentsRequest": { + "type": "object", + "properties": { + "bank_id": { + "type": "string" + }, + "documents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MemoryBankDocument" + } + }, + "ttl_seconds": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "bank_id", + "documents" + ] + }, "LogMessagesRequest": { "type": "object", "properties": { @@ -4771,6 +4785,9 @@ "QueryDocumentsRequest": { "type": "object", "properties": { + "bank_id": { + "type": "string" + }, "query": { "oneOf": [ { @@ -4812,6 +4829,7 @@ }, "additionalProperties": false, "required": [ + "bank_id", "query" ] }, @@ -5303,6 +5321,25 @@ ], "title": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold." }, + "UpdateDocumentsRequest": { + "type": "object", + "properties": { + "bank_id": { + "type": "string" + }, + "documents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MemoryBankDocument" + } + } + }, + "additionalProperties": false, + "required": [ + "bank_id", + "documents" + ] + }, "UpdateExperimentRequest": { "type": "object", "properties": { @@ -5447,34 +5484,34 @@ ], "tags": [ { - "name": "AgenticSystem" + "name": "Observability" + }, + { + "name": "Evaluations" }, { "name": "Memory" }, - { - "name": "SyntheticDataGeneration" - }, - { - "name": "Inference" - }, - { - "name": "Observability" - }, { "name": "BatchInference" }, - { - "name": "Datasets" - }, { "name": "RewardScoring" }, + { + "name": "SyntheticDataGeneration" + }, { "name": "PostTraining" }, { - "name": "Evaluations" + "name": "AgenticSystem" + }, + { + "name": "Datasets" + }, + { + "name": "Inference" }, { "name": "BatchChatCompletionRequest", @@ -5636,6 +5673,10 @@ "name": "AgenticSystemCreateResponse", "description": "" }, + { + "name": "CreateAgenticSystemSessionRequest", + "description": "" + }, { "name": "AgenticSystemSessionCreateResponse", "description": "" @@ -5744,6 +5785,18 @@ "name": "Run", "description": "" }, + { + "name": "DeleteAgenticSystemSessionRequest", + "description": "" + }, + { + "name": "DeleteDocumentsRequest", + "description": "" + }, + { + "name": "EmbeddingsRequest", + "description": "" + }, { "name": "EmbeddingsResponse", "description": "" @@ -5832,6 +5885,10 @@ "name": "PostTrainingJob", "description": "" }, + { + "name": "InsertDocumentsRequest", + "description": "" + }, { "name": "LogMessagesRequest", "description": "" @@ -5916,6 +5973,10 @@ "name": "SyntheticDataGenerationResponse", "description": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold.\n\n" }, + { + "name": "UpdateDocumentsRequest", + "description": "" + }, { "name": "UpdateExperimentRequest", "description": "" @@ -5979,13 +6040,17 @@ "CompletionMessage", "CompletionRequest", "CompletionResponseStreamChunk", + "CreateAgenticSystemSessionRequest", "CreateDatasetRequest", "CreateExperimentRequest", "CreateMemoryBankRequest", "CreateRunRequest", "DPOAlignmentConfig", + "DeleteAgenticSystemSessionRequest", + "DeleteDocumentsRequest", "DialogGenerations", "DoraFinetuningConfig", + "EmbeddingsRequest", "EmbeddingsResponse", "EvaluateQuestionAnsweringRequest", "EvaluateSummarizationRequest", @@ -5999,6 +6064,7 @@ "FinetuningAlgorithm", "FunctionCallToolDefinition", "InferenceStep", + "InsertDocumentsRequest", "Log", "LogMessagesRequest", "LogMetricsRequest", @@ -6056,6 +6122,7 @@ "TrainingConfig", "Turn", "URL", + "UpdateDocumentsRequest", "UpdateExperimentRequest", "UpdateRunRequest", "UploadArtifactRequest", 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 d4bd3cbfc..64c70ad2e 100644 --- a/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml +++ b/rfcs/RFC-0001-llama-stack-assets/llama-stack-spec.yaml @@ -571,6 +571,17 @@ components: - delta title: streamed completion response. type: object + CreateAgenticSystemSessionRequest: + additionalProperties: false + properties: + agent_id: + type: string + session_name: + type: string + required: + - agent_id + - session_name + type: object CreateDatasetRequest: additionalProperties: false properties: @@ -646,9 +657,12 @@ components: required: - type type: object + name: + type: string url: $ref: '#/components/schemas/URL' required: + - name - config type: object CreateRunRequest: @@ -686,6 +700,30 @@ components: - epsilon - gamma type: object + DeleteAgenticSystemSessionRequest: + additionalProperties: false + properties: + agent_id: + type: string + session_id: + type: string + required: + - agent_id + - session_id + type: object + DeleteDocumentsRequest: + additionalProperties: false + properties: + bank_id: + type: string + document_ids: + items: + type: string + type: array + required: + - bank_id + - document_ids + type: object DialogGenerations: additionalProperties: false properties: @@ -731,6 +769,23 @@ components: - rank - alpha type: object + EmbeddingsRequest: + additionalProperties: false + properties: + contents: + items: + oneOf: + - type: string + - items: + type: string + type: array + type: array + model: + type: string + required: + - model + - contents + type: object EmbeddingsResponse: additionalProperties: false properties: @@ -956,6 +1011,21 @@ components: - step_type - model_response type: object + InsertDocumentsRequest: + additionalProperties: false + properties: + bank_id: + type: string + documents: + items: + $ref: '#/components/schemas/MemoryBankDocument' + type: array + ttl_seconds: + type: integer + required: + - bank_id + - documents + type: object Log: additionalProperties: false properties: @@ -1527,6 +1597,8 @@ components: QueryDocumentsRequest: additionalProperties: false properties: + bank_id: + type: string params: additionalProperties: oneOf: @@ -1544,6 +1616,7 @@ components: type: string type: array required: + - bank_id - query type: object QueryDocumentsResponse: @@ -2183,6 +2256,19 @@ components: format: uri pattern: ^(https?://|file://|data:) type: string + UpdateDocumentsRequest: + additionalProperties: false + properties: + bank_id: + type: string + documents: + items: + $ref: '#/components/schemas/MemoryBankDocument' + type: array + required: + - bank_id + - documents + type: object UpdateExperimentRequest: additionalProperties: false properties: @@ -2299,7 +2385,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-03 21:42:33.579455" + \ draft and subject to change.\n Generated at 2024-09-04 09:26:21.634687" title: '[DRAFT] Llama Stack Specification' version: 0.0.1 jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema @@ -2324,31 +2410,28 @@ paths: tags: - AgenticSystem /agentic_system/delete: - delete: - parameters: - - in: query - name: agent_id + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': description: OK tags: - AgenticSystem /agentic_system/session/create: - get: - parameters: - - in: query - name: agent_id + post: + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAgenticSystemSessionRequest' required: true - schema: - type: string - - in: query - name: session_name - required: true - schema: - type: string responses: '200': content: @@ -2359,18 +2442,14 @@ paths: tags: - AgenticSystem /agentic_system/session/delete: - delete: - parameters: - - in: query - name: agent_id + post: + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteAgenticSystemSessionRequest' required: true - schema: - type: string - - in: query - name: session_id - required: true - schema: - type: string responses: '200': description: OK @@ -2543,13 +2622,14 @@ paths: tags: - Datasets /datasets/delete: - delete: - parameters: - - in: query - name: dataset_uuid + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': description: OK @@ -2590,13 +2670,14 @@ paths: tags: - Evaluations /evaluate/job/cancel: - get: - parameters: - - in: query - name: job_uuid + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': description: OK @@ -2703,13 +2784,14 @@ paths: tags: - Evaluations /experiments/artifacts/get: - get: - parameters: - - in: query - name: experiment_id + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': content: @@ -2858,23 +2940,12 @@ paths: - Inference /inference/embeddings: post: - parameters: - - in: query - name: model - required: true - schema: - type: string + parameters: [] requestBody: content: application/json: schema: - items: - oneOf: - - type: string - - items: - type: string - type: array - type: array + $ref: '#/components/schemas/EmbeddingsRequest' required: true responses: '200': @@ -2919,19 +2990,12 @@ paths: - Observability /memory_bank/documents/delete: post: - parameters: - - in: query - name: bank_id - required: true - schema: - type: string + parameters: [] requestBody: content: application/json: schema: - items: - type: string - type: array + $ref: '#/components/schemas/DeleteDocumentsRequest' required: true responses: '200': @@ -2965,24 +3029,12 @@ paths: - Memory /memory_bank/insert: post: - parameters: - - in: query - name: bank_id - required: true - schema: - type: string - - in: query - name: ttl_seconds - required: false - schema: - type: integer + parameters: [] requestBody: content: application/json: schema: - items: - $ref: '#/components/schemas/MemoryBankDocument' - type: array + $ref: '#/components/schemas/InsertDocumentsRequest' required: true responses: '200': @@ -2991,12 +3043,7 @@ paths: - Memory /memory_bank/query: post: - parameters: - - in: query - name: bank_id - required: true - schema: - type: string + parameters: [] requestBody: content: application/json: @@ -3014,19 +3061,12 @@ paths: - Memory /memory_bank/update: post: - parameters: - - in: query - name: bank_id - required: true - schema: - type: string + parameters: [] requestBody: content: application/json: schema: - items: - $ref: '#/components/schemas/MemoryBankDocument' - type: array + $ref: '#/components/schemas/UpdateDocumentsRequest' required: true responses: '200': @@ -3035,12 +3075,7 @@ paths: - Memory /memory_banks/create: post: - parameters: - - in: query - name: name - required: true - schema: - type: string + parameters: [] requestBody: content: application/json: @@ -3057,13 +3092,14 @@ paths: tags: - Memory /memory_banks/drop: - delete: - parameters: - - in: query - name: bank_id + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': content: @@ -3122,13 +3158,14 @@ paths: tags: - PostTraining /post_training/job/cancel: - get: - parameters: - - in: query - name: job_uuid + post: + parameters: [] + requestBody: + content: + application/json: + schema: + type: string required: true - schema: - type: string responses: '200': description: OK @@ -3306,16 +3343,16 @@ security: servers: - url: http://any-hosted-llama-stack.com tags: -- name: AgenticSystem -- name: Memory -- name: SyntheticDataGeneration -- name: Inference - name: Observability -- name: BatchInference -- name: Datasets -- name: RewardScoring -- name: PostTraining - name: Evaluations +- name: Memory +- name: BatchInference +- name: RewardScoring +- name: SyntheticDataGeneration +- name: PostTraining +- name: AgenticSystem +- name: Datasets +- name: Inference - description: name: BatchChatCompletionRequest @@ -3439,6 +3476,9 @@ tags: - description: name: AgenticSystemCreateResponse +- description: + name: CreateAgenticSystemSessionRequest - description: name: AgenticSystemSessionCreateResponse @@ -3521,6 +3561,15 @@ tags: name: CreateRunRequest - description: name: Run +- description: + name: DeleteAgenticSystemSessionRequest +- description: + name: DeleteDocumentsRequest +- description: + name: EmbeddingsRequest - description: name: EmbeddingsResponse @@ -3606,6 +3655,9 @@ tags: - description: name: PostTrainingJob +- description: + name: InsertDocumentsRequest - description: name: LogMessagesRequest @@ -3684,6 +3736,9 @@ tags: ' name: SyntheticDataGenerationResponse +- description: + name: UpdateDocumentsRequest - description: name: UpdateExperimentRequest @@ -3739,13 +3794,17 @@ x-tagGroups: - CompletionMessage - CompletionRequest - CompletionResponseStreamChunk + - CreateAgenticSystemSessionRequest - CreateDatasetRequest - CreateExperimentRequest - CreateMemoryBankRequest - CreateRunRequest - DPOAlignmentConfig + - DeleteAgenticSystemSessionRequest + - DeleteDocumentsRequest - DialogGenerations - DoraFinetuningConfig + - EmbeddingsRequest - EmbeddingsResponse - EvaluateQuestionAnsweringRequest - EvaluateSummarizationRequest @@ -3759,6 +3818,7 @@ x-tagGroups: - FinetuningAlgorithm - FunctionCallToolDefinition - InferenceStep + - InsertDocumentsRequest - Log - LogMessagesRequest - LogMetricsRequest @@ -3816,6 +3876,7 @@ x-tagGroups: - TrainingConfig - Turn - URL + - UpdateDocumentsRequest - UpdateExperimentRequest - UpdateRunRequest - UploadArtifactRequest diff --git a/rfcs/openapi_generator/pyopenapi/operations.py b/rfcs/openapi_generator/pyopenapi/operations.py index 153a6b12a..ef86d373f 100644 --- a/rfcs/openapi_generator/pyopenapi/operations.py +++ b/rfcs/openapi_generator/pyopenapi/operations.py @@ -264,7 +264,7 @@ def get_endpoint_operations( else: inner_type = param_type - if ( + if prefix == "get" and ( inner_type is bool or inner_type is int or inner_type is float