swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector Assistant API schemes: - https tags: - name: Assistant paths: /assistants/{assistant_id}: post: operationId: microsoftAzureModifyAssistant tags: - Assistant summary: Microsoft Azure Modifies An Assistant parameters: - in: path name: assistant_id required: true schema: type: string description: The ID of the assistant to modify. - in: query name: api-version required: true schema: type: string example: 2024-03-01-preview description: api version requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/modifyAssistantRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/assistantObject' x-ms-examples: Create an assistant.: $ref: ./examples/modify_assistant.yaml description: Needs a more full description created. components: schemas: assistantObject: type: object title: Assistant description: Represents an `assistant` that can call the model and use tools. properties: id: description: The identifier, which can be referenced in API endpoints. type: string object: description: The object type, which is always `assistant`. type: string enum: - assistant x-ms-enum: name: AssistantObjectType modelAsString: true values: - value: assistant description: The object type, which is always assistant created_at: description: The Unix timestamp (in seconds) for when the assistant was created. type: integer name: description: 'The name of the assistant. The maximum length is 256 characters. ' type: string maxLength: 256 nullable: true description: description: 'The description of the assistant. The maximum length is 512 characters. ' type: string maxLength: 512 nullable: true model: description: 'ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them. ' type: string instructions: description: 'The system instructions that the assistant uses. The maximum length is 32768 characters. ' type: string maxLength: 32768 nullable: true tools: description: 'A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types `code_interpreter`, `retrieval`, or `function`. ' default: [] type: array maxItems: 128 items: oneOf: - $ref: '#/components/schemas/assistantToolsCode' - $ref: '#/components/schemas/assistantToolsRetrieval' - $ref: '#/components/schemas/assistantToolsFunction' file_ids: description: 'A list of [file](/docs/api-reference/files) IDs attached to this assistant. There can be a maximum of 20 files attached to the assistant. Files are ordered by their creation date in ascending order. ' default: [] type: array maxItems: 20 items: type: string metadata: description: 'Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. ' type: object nullable: true required: - id - object - created_at - name - description - model - instructions - tools - file_ids - metadata modifyAssistantRequest: type: object additionalProperties: false properties: model: description: 'ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them. ' anyOf: - type: string name: description: 'The name of the assistant. The maximum length is 256 characters. ' type: string nullable: true maxLength: 256 description: description: 'The description of the assistant. The maximum length is 512 characters. ' type: string nullable: true maxLength: 512 instructions: description: 'The system instructions that the assistant uses. The maximum length is 32768 characters. ' type: string nullable: true maxLength: 32768 tools: description: 'A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types `code_interpreter`, `retrieval`, or `function`. ' default: [] type: array maxItems: 128 items: oneOf: - $ref: '#/components/schemas/assistantToolsCode' - $ref: '#/components/schemas/assistantToolsRetrieval' - $ref: '#/components/schemas/assistantToolsFunction' file_ids: description: 'A list of [File](/docs/api-reference/files) IDs attached to this assistant. There can be a maximum of 20 files attached to the assistant. Files are ordered by their creation date in ascending order. If a file was previously attached to the list but does not show up in the list, it will be deleted from the assistant. ' default: [] type: array maxItems: 20 items: type: string metadata: description: 'Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. ' type: object nullable: true assistantToolsFunction: type: object title: Function tool properties: type: type: string description: 'The type of tool being defined: `function`' enum: - function x-ms-enum: name: assistantToolsFunction modelAsString: true values: - value: retrieval description: retrieval as type of tool being defined function: type: object description: The function definition. properties: description: type: string description: A description of what the function does, used by the model to choose when and how to call the function. name: type: string description: The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64. parameters: $ref: '#/components/schemas/chatCompletionFunctionParameters' required: - name - parameters - description required: - type - function chatCompletionFunctionParameters: type: object description: The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/gpt/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. additionalProperties: true assistantToolsRetrieval: type: object title: Retrieval tool properties: type: type: string description: 'The type of tool being defined: `retrieval`' enum: - retrieval x-ms-enum: name: assistantToolsRetrievalType modelAsString: true values: - value: retrieval description: retrieval as type of tool being defined required: - type assistantToolsCode: type: object title: Code interpreter tool properties: type: type: string description: 'The type of tool being defined: `code_interpreter`' enum: - code_interpreter x-ms-enum: name: assistantToolsCodeType modelAsString: true values: - value: code_interpreter description: code_interpreter as type of tool being defined required: - type x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'