Introduction
Using IBM watsonx.ai, you can run text inference, prompt tuning and more on Large Language Models (LLM).
Step-by-step instructions on how to use IBM watsonx.ai can be found here.
There is a specialized python library that is available to access this REST API.
Endpoint URLs
The following URL represents the base URLs for the watsonx.ai API endpoints. When you call the API, use the URL and add the path for each method to form the complete API endpoint for your requests.
- Dallas:
https://us-south.ml.cloud.ibm.com
- Frankfurt -
https://eu-de.ml.cloud.ibm.com
Example request to a Dallas endpoint:
curl -H "Authorization: Bearer {token}" -X {request_method} "https://us-south.ml.cloud.ibm.com/{method_endpoint}"
Replace {request_method}
, and {method_endpoint}
in this example with the values
for your particular API call. See the Authentication
section below for more details about the bearer {token}
.
Authentication
This API uses IBM Cloud Identity and Access Management (IAM) to authenticate requests.
To work with the API, authenticate your application or service by including your IBM Cloud IAM access token in API requests.
IAM authentication. Replace {token}
and {url}/{method}
with your service credentials.
curl -H "Authorization:Bearer {token}" -X "{url}/{method}"
Authorization: Bearer {token}
For example, if the token is tzLbqWhyALQawBg5TjRIf5sAznhrKQyvBFFaZbtF60m5
in the service credentials, include the credentials in your call like this:
curl -H "Authorization:Bearer tzLbqWhyALQawBg5TjRIf5sAznhrKQyvBFFaZbtF60m5" -X "https://us-south.ml.cloud.ibm.com/ml/v4/models"
Error handling
This API uses standard HTTP response codes to indicate whether a method completed successfully.
A 200
type response indicates success.
HTTP Code | Description | Recovery |
---|---|---|
200 |
Success | The request was successful. |
400 |
Bad Request | The input parameters in the request body are either incomplete, or in the wrong format, or some other input validation failed. Be sure to include all required parameters in your request and check the request body. |
401 |
Unauthorized | You are not authorized to make this request. Log in and try again or provide a valid token. See Authenticating with IAM tokens for instructions on logging in. If this error persists, contact the account owner to check your permissions. |
403 |
Forbidden | The supplied authentication is not authorized. |
404 |
Not Found | The requested resource could not be found. |
Note that 429
and 503
errors may mean that the model is overloaded or unavailable,
check the error description for more details.
Error response
Name | Description |
---|---|
trace | An identifier that can be used to trace the request. This can be set using X-Global-Transaction-Id . |
errors | The list of errors. |
Errors
Name | Description |
---|---|
code | A simple string code that should convey the general sense of the error. |
message | The message that describes the error. |
more_info | A reference to a more detailed explanation when available. |
Additional headers
Some additional headers might be required to make successful requests to the API. Those additional headers are described below.
An optional transaction ID can be passed to your request, which can be useful for tracking calls through multiple services using one identifier. The header key must be set to X-Global-Transaction-Id
and the value is anything that you choose.
If there is not a transaction ID that is passed in, then one is generated randomly.
API change log
In this change log you can learn about the latest changes, improvements, and updates for the watsonx.ai
API.
The change log lists changes that have been made, ordered by the date they were released.
Changes to existing API versions are designed to be compatible with existing client applications,
if this is not the case then a new version date will be created.
18 April 2024
The /ml/v1/text/embeddings API was added to watsonx.ai
, this is a non-breaking change
and just adds this single API operation.
Versioning
API requests require a version parameter that takes the date in the format version=YYYY-MM-DD
. Send the version parameter with every API request.
When the API is changed in a way that is not compatible with previous versions, a new minor version is released. To take advantage of the changes in a new version, change the value of the version parameter to the new date. If you're not ready to update to that version, don't change your version date.
Data References
Accessing data in a remote location (such as a Cloud Object Storage bucket, or an SQL/no-SQL database) requires
the use of connection_asset
or data_asset
reference types.
These reference types are created within a space or a project and are referenced in WML requests to represent input
data and results locations. These types contain two parameter objects, connection
and location
, which require
different values to be supplied based on the reference type. Using a data_asset
, requires an href
to be supplied
to the location
object whereas using a connection_asset
requires the connection_id
for the connection
object
and different location
fields depending on the data source type.
Example connection_asset
payload:
"training_data_references": [{
"type": "connection_asset",
"connection": {
"id": "<connection_guid>"
},
"location": {
"<wdp-properties depending on the type>"
}
}]
Example data_asset
payload:
"training_data_references": [{
"type": "data_asset",
"location": {
"href":"/v2/assets/<asset_id>?space_id=<space_id>"
}
}]
Activity Tracker events
You can monitor API activity within your account by using the IBM Cloud Activity Tracker service. Whenever an API method is called, an event is generated that you can then track and audit from within Activity Tracker. The specific event type is listed for each individual method.
Migrating /ml/v1-beta/generation/text
- Change the path from
/ml/v1-beta/generation/text
to/ml/v1/text/generation
. - Change the following fields in the
response
:moderation
->moderations
.
- Change the
moderations
request
section as described in the section below.
Migrating /ml/v1-beta/generation/text_stream
- Change the path from
/ml/v1-beta/generation/text_stream
to/ml/v1/text/generation_stream
. - Change the following fields in the
response
:moderation
->moderations
.
- Change the
moderations
request
section as described in the section below.
Migrating /ml/v1-beta/deployments/{id_or_name}/generation/text
- Change the path from
/ml/v1-beta/deployments/{id_or_name}/generation/text
to/ml/v1/deployments/{id_or_name}/text/generation
. - Change the following fields in the
response
:moderation
->moderations
.
- Change the
moderations
request
section as described in the section below.
Migrating /ml/v1-beta/deployments/{id_or_name}/generation/text_stream
- Change the path from
/ml/v1-beta/deployments/{id_or_name}/generation/text_stream
to/ml/v1/deployments/{id_or_name}/text/generation_stream
. - Change the following fields in the
response
:moderation
->moderations
.
- Change the
moderations
request
section as described in the section below.
Migrating the moderations
-
The moderations request for
input
andoutput
are now objects that contain theenabled
andthreshold
properties, as well as additional properties specific to a moderation. The following are some examples of how to migrate themoderations
request section.{ "moderations": { "hap": { "input": false, "output": true, "threshold": 0.5 }, "pii": { "input": true, "output": true, "mask": { "remove_entity_value": true } } } }
becomes
{ "moderations": { "hap": { "output": { "enabled": true, "threshold": 0.5 } }, "pii": { "input": { "enabled": true }, "output": { "enabled": true }, "mask": { "remove_entity_value": true } } } }
Methods
Create a new watsonx.ai deployment
Create a new deployment, currently the only supported type is online
.
If this is a deployment for a prompt tune then the asset
object must exist and the id
must be the id
of the model
that was created after the prompt training.
If this is a deployment for a prompt template then the prompt_template
object should exist and the id
must be the id
of the prompt template to be deployed.
POST /ml/v4/deployments
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The deployment request entity.
The following important fields are described for each use case:
- Prompt template: (
deployed_asset_type
isfoundation_model
)base_model_id
: requiredpromt_template.id
: requiredonline
: requiredhardware_spec
: forbidden
- Prompt tune: (
deployed_asset_type
isprompt_tune
)asset.id
: requiredonline
: requiredhardware_spec
: forbiddenbase_model_id
: forbidden
The name of the resource.
Example:
my-resource
Indicates that this is an online deployment. An object has to be specified but can be empty. The
serving_name
can be provided in theonline.parameters
.The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
A description of the resource.
Example:
This is my first resource.
A list of tags for this resource.
Examples:ViewUser defined properties specified as key-value pairs.
Examples:Viewcustom
A reference to a resource.
A reference to a resource.
A hardware specification.
The base model that is required for this deployment if this is for a prompt template or a prompt tune for an IBM foundation model.
Example:
google/flan-t5-xl
Response
A deployment resource.
Common metadata for a resource where
project_id
orspace_id
must be present.Examples:ViewThe definition of the deployment.
Examples:View
Status Code
Deployment created.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt tuned model deployment", "tags": [ "classification" ] }, "entity": { "asset": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "online": {}, "deployed_asset_type": "prompt_tune", "base_model_id": "google/flan-ul2", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/6213cf1-252f-424b-b52d-5cdd9814956c/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/6213cf1-252f-424b-b52d-5cdd9814956c/text/generation_stream", "sse": true } ] } } }
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt template deployment", "tags": [ "classification" ] }, "entity": { "prompt_template": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "online": {}, "deployed_asset_type": "foundation_model", "base_model_id": "google/flan-t5-xl", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/6213cf1-252f-424b-b52d-5cdd9814956c/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/6213cf1-252f-424b-b52d-5cdd9814956c/text/generation_stream", "sse": true } ] } } }
Retrieve the deployments
Retrieve the list of deployments for the specified space or project.
GET /ml/v4/deployments
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Retrieves the deployment, if any, that contains this
serving_name
.Example:
classification
Retrieves only the resources with the given tag value.
Retrieves only the resources with the given asset_id, asset_id would be the model id.
Retrieves only the resources with the given prompt_template_id.
Retrieves only the resources with the given name.
Retrieves the resources filtered with the given type. There are the deployment types as well as an additional
prompt_template
if the deployment type includes a prompt template.The supported deployment types are (see the description for
deployed_asset_type
in the deployment entity):prompt_tune
- when a prompt tuned model is deployed.foundation_model
- when a prompt template is used on a pre-deployed IBM provided model.
These can be combined with the flag
prompt_template
like this:type=prompt_tune
- return all prompt tuned model deployments.type=prompt_tune and prompt_template
- return all prompt tuned model deployments with a prompt template.type=foundation_model
- return all prompt template deployments.type=foundation_model and prompt_template
- return all prompt template deployments - this is the same as the previous query because afoundation_model
can only exist with a prompt template.type=prompt_template
- return all deployments with a prompt template.
Retrieves the resources filtered by state. Allowed values are
initializing
,updating
,ready
andfailed
.Returns whether
serving_name
is available for use or not. This query parameter cannot be combined with any other parameter except forserving_name
.Default:
false
Response
The deployment resources.
The number of items to return in each page.
Possible values: 1 ≤ value ≤ 200
Example:
10
The reference to the first item in the current page.
The total number of resources. Computed explicitly only when 'total_count=true' query parameter is present. This is in order to avoid performance penalties.
Example:
1
A reference to the first item of the next page, if any.
A list of deployment resources.
System details including warnings.
Status Code
OK.
serving_name
is available for use. Returned whenserving_name
andconflict
query parameters are used.Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
Returned when
serving_name
andconflict
query parameters are used. The response body will contain the reason.
{ "limit": 10, "first": { "href": "https://us-south.ml.cloud.ibm.com/ml/v4/deployments" }, "resources": [ { "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt tuned model deployment", "tags": [ "classification" ] }, "entity": { "asset": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "deployed_asset_type": "prompt_tune", "online": {}, "base_model_id": "google/flan-t5-xl", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation_stream", "sse": true } ] } } } ] }
Retrieve the deployment details
Retrieve the deployment details with the specified identifier.
GET /ml/v4/deployments/{deployment_id}
Request
Path Parameters
The deployment id.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Response
A deployment resource.
Common metadata for a resource where
project_id
orspace_id
must be present.Examples:ViewThe definition of the deployment.
Examples:View
Status Code
Deployment details.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt tuned model deployment", "tags": [ "classification" ] }, "entity": { "asset": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "online": {}, "deployed_asset_type": "prompt_tune", "base_model_id": "google/flan-ul2", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation_stream", "sse": true } ] } } }
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt template deployment", "tags": [ "classification" ] }, "entity": { "prompt_template": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "online": {}, "deployed_asset_type": "foundation_model", "base_model_id": "google/flan-t5-xl", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation_stream", "sse": true } ] } } }
Update the deployment metadata
Update the deployment metadata. The following parameters of deployment metadata are supported for the patch operation.
/name
/description
/tags
/custom
/online/parameters
/asset
/prompt_template
/hardware_spec
The PATCH operation with path specified as /online/parameters
can be used to update the serving_name
.
Patching /asset
or /prompt_template
should normally be used in the case when these fields already exist.
PATCH /ml/v4/deployments/{deployment_id}
Request
Path Parameters
The deployment id.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
The json patch.
The operation to be performed.
Allowable values: [
add
,remove
,replace
]The pointer that identifies the field that is the target of the operation.
The value to be used within the operation.
Response
A deployment resource.
Common metadata for a resource where
project_id
orspace_id
must be present.Examples:ViewThe definition of the deployment.
Examples:View
Status Code
Deployment accepted
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "created_at": "2023-05-02T16:27:51Z", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "name": "text_classification", "description": "Classification prompt tuned model deployment", "tags": [ "classification" ] }, "entity": { "asset": { "id": "4cedab6d-e8e4-4214-b81a-2ddb122db2ab" }, "online": { "parameters": { "serving_name": "classification" } }, "deployed_asset_type": "prompt_tune", "base_model_id": "google/flan-t5-xl", "status": { "state": "ready", "message": { "level": "info", "text": "The deployment is successful" }, "inference": [ { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation" }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/classification/text/generation", "uses_serving_name": true }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/2cd0bcda-581d-4f04-8028-ec2bc90cc375/text/generation_stream", "sse": true }, { "url": "https://us-south.ml.cloud.ibm.com/ml/v1/deployments/classification/text/generation_stream", "sse": true, "uses_serving_name": true } ] } } }
Delete the deployment
Delete the deployment with the specified identifier.
DELETE /ml/v4/deployments/{deployment_id}
Request
Path Parameters
The deployment id.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Infer text
Infer the next tokens for a given deployed model with a set of parameters.
If a serving_name
is used then it must match the serving_name
that is returned in the inference
when the deployment was created.
Return options
Note that there is currently a limitation in this operation when using return_options
,
for input only input_text
will be returned if requested,
for output the input_tokens
and generated_tokens
will not be returned.
POST /ml/v1/deployments/{id_or_name}/text/generation
Request
Path Parameters
The
id_or_name
can be either thedeployment_id
that identifies the deployment or aserving_name
that allows a predefined URL to be used to post a prediction.The
project
orspace
for the deployment must have a WML instance that will be used for limits and billing (if a paid plan).Example:
classification
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
From a given prompt, infer the next tokens.
The prompt to generate completions. Note: The method tokenizes the input internally. It is recommended not to leave any trailing spaces.
This field is ignored if there is a prompt template.
The template properties if this request refers to a prompt template.
Examples:ViewProperties that control the moderations, for usages such as
Hate and profanity
(HAP) andPersonal identifiable information
(PII) filtering. This list can be extended with new types of moderations.Examples:Viewmoderations
curl --location --request POST 'https://{cluster_url}/ml/v1/deployments/{id_or_name}/text/generation?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "input": "how far is paris from bangalore:", "parameters": { "max_new_tokens": 100, "time_limit": 1000 }, }'
curl --location --request POST 'https://{cluster_url}/ml/v1/deployments/{id_or_name}/text/generation?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "parameters": { "max_new_tokens": 100, "time_limit": 1000, "prompt_variables": { "name": "joe", "count": 3 }, }, }'
Response
System details.
The
id
of the model for inference.Example:
google/flan-ul2
The time when the response was created.
The generated tokens.
Possible values: number of items ≥ 1
The model version (using semantic versioning) if set.
Possible values: 5 ≤ length ≤ 20, Value must match regular expression
^\d+.\d+.\d+$
Example:
1.0.1
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
The generated text from the model along with other details for a prompt tune.
{ "model_id": "google/flan-ul2", "created_at": "2023-07-21T16:52:32.190Z", "results": [ { "generated_text": "4,000 km", "generated_token_count": 4, "input_token_count": 12, "stop_reason": "eos_token" } ] }
The generated text from the model along with other details for a prompt tune with moderations.
{ "model_id": "google/flan-t5-xl", "created_at": "2023-07-21T16:52:32.190Z", "results": [ { "generated_text": "c/o USPS, PO Box 3000, Washington, D.C. 20001-5000, www.usps.com, or call **************. You can also visit the website at https://www.usps.com/contactus/. You can also contact them by telephone at 1-************. You can also send an email to ***************. You can find the US Postal Service on Facebook at https://www.facebook.com/postalservice/.", "generated_token_count": 118, "input_token_count": 11, "stop_reason": "eos_token", "moderations": { "pii": [ { "score": 0.8, "input": false, "position": { "start": 74, "end": 88 }, "entity": "PhoneNumber" }, { "score": 0.8, "input": false, "position": { "start": 200, "end": 212 }, "entity": "PhoneNumber" }, { "score": 0.8, "input": false, "position": { "start": 244, "end": 259 }, "entity": "EmailAddress" } ] } } ] }
The generated text from the model along with other details for a prompt template.
{ "model_id": "google/flan-ul2", "created_at": "2023-07-21T16:52:32.190Z", "results": [ { "generated_text": "4,000 km", "generated_token_count": 4, "input_token_count": 12, "stop_reason": "eos_token" } ] }
Infer text event stream
Infer the next tokens for a given deployed model with a set of parameters.
This operation will return the output tokens as a stream of events.
If a serving_name
is used then it must match the serving_name
that is returned in the inference
when the deployment was created.
Return options
Note that there is currently a limitation in this operation when using return_options
,
for input only input_text
will be returned if requested,
for output the input_tokens
and generated_tokens
will not be returned, also the
rank
and top_tokens
will not be returned.
POST /ml/v1/deployments/{id_or_name}/text/generation_stream
Request
Custom Headers
Allowable values: [
application/json
,text/event-stream
]
Path Parameters
The
id_or_name
can be either thedeployment_id
that identifies the deployment or aserving_name
that allows a predefined URL to be used to post a prediction.The
project
orspace
for the deployment must have a WML instance that will be used for limits and billing (if a paid plan).Example:
classification
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
From a given prompt, infer the next tokens in a server-sent events (SSE) stream.
The prompt to generate completions. Note: The method tokenizes the input internally. It is recommended not to leave any trailing spaces.
This field is ignored if there is a prompt template.
The template properties if this request refers to a prompt template.
Examples:ViewProperties that control the moderations, for usages such as
Hate and profanity
(HAP) andPersonal identifiable information
(PII) filtering. This list can be extended with new types of moderations.Examples:Viewmoderations
curl --location --request POST 'https://{cluster_url}/ml/v1/deployments/{id_or_name}/text/generation_stream?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "input": "how far is paris from bangalore:", "parameters": { "max_new_tokens": 100, "time_limit": 1000 }, }'
curl --location --request POST 'https://{cluster_url}/ml/v1/deployments/{id_or_name}/text/generation_stream?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "parameters": { "max_new_tokens": 100, "time_limit": 1000, "prompt_variables": { "name": "joe", "count": 3 }, }, }'
Response
A set of server sent events, each event contains a response for one or more tokens.
The
id
of the model for inference.Example:
google/flan-ul2
The time when the response was created.
The generated tokens.
Possible values: number of items ≥ 1
The model version (using semantic versioning) if set.
Possible values: 5 ≤ length ≤ 20, Value must match regular expression
^\d+.\d+.\d+$
Example:
1.0.1
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
The generated text from the model along with other details.
[ { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.673Z", "results": [ { "generated_text": "", "generated_token_count": 4, "input_token_count": 0, "stop_reason": "eos_token" } ] }, { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.647Z", "results": [ { "generated_text": " km", "generated_token_count": 3, "input_token_count": 0, "stop_reason": "not_finished" } ] }, { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.647Z", "results": [ { "generated_text": "4,000", "generated_token_count": 2, "input_token_count": 0, "stop_reason": "not_finished" } ] } ]
List the available foundation models
Retrieve the list of deployed foundation models.
GET /ml/v1/foundation_model_specs
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
Token required for token-based pagination. This token cannot be determined by end user. It is generated by the service and it is set in the href available in the
next
field.How many resources should be returned. By default limit is 100. Max limit allowed is 200.
Possible values: 1 ≤ value ≤ 200
Default:
100
Example:
50
Response
System details.
The number of items to return in each page.
Possible values: 1 ≤ value ≤ 200
Example:
10
The reference to the first item in the current page.
The total number of resources.
Example:
1
A reference to the first item of the next page, if any.
The supported foundation models.
Optional details coming from the service and related to the API call or the associated resource.
Status Code
OK
Bad request, the response body should contain the reason.
The specified resource was not found.
The models that are currently deployed in the cluster.
{ "total_count": 1, "limit": 100, "first": { "href": "https://us-south.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2023-05-02" }, "resources": [ { "model_id": "bigcode/starcoder", "label": "starcoder-15.5b", "provider": "BigCode", "source": "Hugging Face", "short_description": "The StarCoder models are 15.5B parameter models that can generate code from natural language descriptions", "tasks": [ { "id": "code", "ratings": { "quality": 3 } } ], "min_shot_size": 0, "tier": "class_2", "number_params": "15.5b" } ] }
List the supported tasks
Retrieve the list of tasks that are supported by the foundation models.
GET /ml/v1/foundation_model_tasks
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
Token required for token-based pagination. This token cannot be determined by end user. It is generated by the service and it is set in the href available in the
next
field.How many resources should be returned. By default limit is 100. Max limit allowed is 200.
Possible values: 1 ≤ value ≤ 200
Default:
100
Example:
50
Response
System details.
The number of items to return in each page.
Possible values: 1 ≤ value ≤ 200
Example:
10
The reference to the first item in the current page.
The total number of resources.
Example:
1
A reference to the first item of the next page, if any.
The supported foundation model tasks.
Optional details coming from the service and related to the API call or the associated resource.
Status Code
OK
Bad request, the response body should contain the reason.
The specified resource was not found.
The tasks that are currently supported by models deployed in the cluster.
{ "total_count": 1, "limit": 100, "first": { "href": "https://us-south.ml.cloud.ibm.com/ml/v1/foundation_model_tasks?version=2023-05-02" }, "resources": [ { "task_id": "question_answering", "label": "Question answering", "rank": 1, "description": "Based on a set of documents or dynamic content, create a chatbot or a question-answering feature grounded on specific content. E.g. building a Q&A resource from a broad knowledge base, providing customer service assistance." } ] }
Create a new notebook.
Create a new notebook
- either from scratch
- or by copying another notebook.
To create a notebook from scratch, you need to first upload the notebook content(ipynb
format) to the project Cloud Object Storage (COS)
and then reference it with the attribute file_reference
.
The other required attributes are name
, project
and runtime
.
The attribute runtime
is used to specify the environment on which the notebook runs.
To copy a notebook, you only need to provide name
and source_guid
in the request body.
POST /v2/notebooks
Request
Specification of the notebook to be created.
The name of the new notebook.
Example:
my notebook
The reference to the file in the object storage.
Example:
notebook/my_notebook.ipynb
A notebook runtime.
The guid of the project in which to create the notebook.
Example:
92ae0e27-9b11-4de9-a646-d46ca3c183d4
A more verbose description of the notebook.
Example:
this is my notebook
The notebook origin.
A notebook kernel.
Response
Notebook information in a project as returned by a GET request.
Metadata of a notebook in a project.
Entity of a notebook.
Status Code
Success. Created and returned a new notebook asset. Format follows v2/assets.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
The number of requests has exceeded the rate limit.
{ "metadata": { "name": "my notebook", "description": "this is my notebook", "asset_type": "notebook", "created": 1540471021134, "created_at": "2021-07-01T12:37:01Z", "owner_id": "IBMid-310000SG2Y", "catalog_id": "463cb8d8-8480-4a98-b75a-f7443b7d0af9", "asset_id": "41d09a9a-f771-48a2-9534-50c0c622356d", "project_id": "b275be5f-10ff-47ee-bfc9-63f1ce5addbf" }, "entity": { "notebook": { "kernel": { "display_name": "Python 3.9 with Spark", "name": "python3", "language": "python3" }, "originates_from": { "type": "blank" } }, "runtime": { "environment": "spark33py39-b275be5f-10ff-47ee-bfc9-63f1ce5addbf", "spark_monitoring_enabled": true }, "href": "/v2/assets/41d09a9a-f771-48a2-9534-50c0c622356d?project_id=b275be5f-10ff-47ee-bfc9-63f1ce5addbf" } }
{ "metadata": { "name": "my notebook", "description": "this is my notebook", "asset_type": "notebook", "created": 1540471021134, "created_at": "2021-07-01T12:37:01Z", "owner_id": "IBMid-310000SG2Y", "catalog_id": "463cb8d8-8480-4a98-b75a-f7443b7d0af9", "asset_id": "41d09a9a-f771-48a2-9534-50c0c622356d", "project_id": "b275be5f-10ff-47ee-bfc9-63f1ce5addbf" }, "entity": { "notebook": { "kernel": { "display_name": "Python 3.9 with Spark", "name": "python3", "language": "python3" }, "originates_from": { "type": "notebook", "guid": "ca3c0e27-46ca-83d4-a646-d49b11c14de9" } }, "runtime": { "environment": "spark33py39-b275be5f-10ff-47ee-bfc9-63f1ce5addbf", "spark_monitoring_enabled": true }, "href": "/v2/assets/41d09a9a-f771-48a2-9534-50c0c622356d?project_id=b275be5f-10ff-47ee-bfc9-63f1ce5addbf" } }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "rate_limit", "message": "The requests from IBMid-310000A00A exceeds rate limit. Please try again later." } ] }
Retrieve the details of a large number of notebooks inside a project.
Retrieve the details of a large number of notebooks inside a project.
POST /v2/notebooks/list
Request
Query Parameters
The guid of the project.
Additional info that will be included into the notebook details. Possible values are:
- runtime
Payload for a notebook list request.
The list of notebooks whose details will be retrieved.
Response
A list of notebook info as returned by a list query.
The number of items in the resources list.
Example:
1
An array of notebooks.
Status Code
Success. Returned a list of notebook assets. Format follows v2/assets.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "total_results": 1, "resources": [ { "metadata": { "guid": "41d09a9a-f771-48a2-9534-50c0c622356d", "url": "/v2/notebooks/41d09a9a-f771-48a2-9534-50c0c622356d" }, "entity": { "runtime": { "environment": "spark33py39-b275be5f-10ff-47ee-bfc9-63f1ce5addbf", "spark_monitoring_enabled": true }, "asset": { "asset_id": "41d09a9a-f771-48a2-9534-50c0c622356d", "asset_type": "notebook", "created_at": "2021-07-01T12:37:01Z", "catalog_id": "463cb8d8-8480-4a98-b75a-f7443b7d0af9", "version": 2, "project_id": "b275be5f-10ff-47ee-bfc9-63f1ce5addbf", "href": "/v2/assets/41d09a9a-f771-48a2-9534-50c0c622356d?project_id=b275be5f-10ff-47ee-bfc9-63f1ce5addbf" } } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Delete a particular notebook, including the notebook asset.
Delete a particular notebook, including the notebook asset.
DELETE /v2/notebooks/{notebook_guid}
Response
Status Code
Successful request. Notebook is deleted.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Revert the main notebook to a version.
Revert the main notebook to a version.
PUT /v2/notebooks/{notebook_guid}
Request
Path Parameters
The guid of the main notebook.
Payload for a request to revert to a specific notebook version.
The guid of the notebook version.
Example:
ca3c0e27-46ca-83d4-a646-d49b11c14de9
Response
Notebook information in a project as returned by a GET request.
Metadata of a notebook in a project.
Entity of a notebook.
Status Code
Success. Reverted the main notebook to a version. Format follows v2/assets.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "metadata": { "name": "my notebook v4.2", "description": "this is my notebook v4.2", "asset_type": "notebook", "created": 1540471021134, "created_at": "2021-07-01T12:37:01Z", "owner_id": "IBMid-310000SG2Y", "catalog_id": "463cb8d8-8480-4a98-b75a-f7443b7d0af9", "asset_id": "41d09a9a-f771-48a2-9534-50c0c622356d", "project_id": "b275be5f-10ff-47ee-bfc9-63f1ce5addbf" }, "entity": { "notebook": { "kernel": { "display_name": "Python 3.9 with Spark", "name": "python39", "language": "python3" }, "originates_from": { "type": "blank" } }, "runtime": { "environment": "spark33py39-b275be5f-10ff-47ee-bfc9-63f1ce5addbf", "spark_monitoring_enabled": true }, "href": "/v2/assets/41d09a9a-f771-48a2-9534-50c0c622356d?project_id=b275be5f-10ff-47ee-bfc9-63f1ce5addbf" } }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Request
Path Parameters
The guid of the notebook.
Payload for a notebook update request.
The guid of the environment on which the notebook runs.
Example:
d46ca0e27-a646-4de9-a646-9b113c183d4
Spark monitoring enabled or not.
A notebook kernel.
Response
Notebook information as returned by a GET request.
Metadata of a notebook.
Entity of a notebook.
Status Code
Success. Updated the notebook. Format follows v2/assets.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "metadata": { "name": "my notebook", "description": "this is my notebook", "asset_type": "notebook", "created": 1540471021134, "created_at": "2021-07-01T12:37:01Z", "owner_id": "IBMid-310000SG2Y", "catalog_id": "463cb8d8-8480-4a98-b75a-f7443b7d0af9", "asset_id": "41d09a9a-f771-48a2-9534-50c0c622356d", "project_id": "b275be5f-10ff-47ee-bfc9-63f1ce5addbf" }, "entity": { "notebook": { "kernel": { "display_name": "Python 3.9 with Spark", "name": "python39", "language": "python3" }, "originates_from": { "type": "blank" } }, "runtime": { "environment": "d46ca0e27-a646-4de9-a646-9b113c183d4", "spark_monitoring_enabled": false }, "href": "/v2/assets/41d09a9a-f771-48a2-9534-50c0c622356d?project_id=b275be5f-10ff-47ee-bfc9-63f1ce5addbf" } }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Create a new version.
Create a version of a given notebook.
POST /v2/notebooks/{notebook_guid}/versions
Response
A notebook version in a project.
Notebook version metadata.
A notebook version entity in a project.
Status Code
Success. Returned the notebook version definition.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "metadata": { "guid": "19d63b6b-81a1-4c05-bad2-36a2957bd6d0", "url": "v2/notebooks/a528b427-d1cd-4039-8ddc-04203c2521e2/versions/1a1329e0-fd05-409a-8411-52db106e2142", "created_at": 1543681714106 }, "entity": { "master_notebook_guid": "a528b427-d1cd-4039-8ddc-04203c2521e2", "project_id": "0f7c1111-a79d-45b2-9699-d4950e742964", "created_by_iui": "IBMid-123456ABCD", "file_reference": "myproject-donotdelete-pr-6p65nym92j1bv0/notebooks/GPU_ENVIRONMENT_DEFAULT_GBUXVKHH_version_1543781324804.ipynb", "rev_id": 1 } }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
List the versions of a notebook.
List all versions of a particular notebook.
GET /v2/notebooks/{notebook_guid}/versions
Response
A list of notebook versions in a project.
The number of items in the resources array.
Example:
1
An array of notebook versions.
Status Code
Success. Returned a list of versions of the notebook.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "total_results": 1, "resources": [ { "metadata": { "guid": "19d63b6b-81a1-4c05-bad2-36a2957bd6d0", "url": "v2/notebooks/a528b427-d1cd-4039-8ddc-04203c2521e2/versions/1a1329e0-fd05-409a-8411-52db106e2142", "created_at": 1543681714106 }, "entity": { "master_notebook_guid": "a528b427-d1cd-4039-8ddc-04203c2521e2", "project_id": "0f7c1111-a79d-45b2-9699-d4950e742964", "created_by_iui": "IBMid-123456ABCD", "file_reference": "myproject-donotdelete-pr-6p65nym92j1bv0/notebooks/GPU_ENVIRONMENT_DEFAULT_GBUXVKHH_version_1543781324804.ipynb", "rev_id": 1 } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Retrieve a notebook version.
Retrieve a particular version of a notebook.
GET /v2/notebooks/{notebook_guid}/versions/{version_guid}
Response
A notebook version in a project.
Notebook version metadata.
A notebook version entity in a project.
Status Code
Success. Returned the version definition.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "metadata": { "guid": "19d63b6b-81a1-4c05-bad2-36a2957bd6d0", "url": "v2/notebooks/a528b427-d1cd-4039-8ddc-04203c2521e2/versions/1a1329e0-fd05-409a-8411-52db106e2142", "created_at": 1543681714106 }, "entity": { "master_notebook_guid": "a528b427-d1cd-4039-8ddc-04203c2521e2", "project_id": "0f7c1111-a79d-45b2-9699-d4950e742964", "created_by_iui": "IBMid-123456ABCD", "file_reference": "myproject-donotdelete-pr-6p65nym92j1bv0/notebooks/GPU_ENVIRONMENT_DEFAULT_GBUXVKHH_version_1543781324804.ipynb", "rev_id": 1 } }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Delete a notebook version.
Delete a particular version of a given notebook.
DELETE /v2/notebooks/{notebook_guid}/versions/{version_guid}
Response
Status Code
Success. The version is deleted.
Bad request. One of the fields has invalid format/content.
Unauthorized. No/Malformed authentication provided.
Forbidden. User is not allowed to perform the target operation.
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_type", "message": "The `project` field needs to be a uuid v4, but is 12345.", "target": { "type": "field", "name": "project" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "invalid_auth_token", "message": "The IAM bearer token is not valid.", "target": { "type": "header", "name": "Authentication" } } ] }
{ "trace": "b12692e1-8582-4628-88ca-7a13fefb73e2", "errors": [ { "code": "endpoint_access_forbidden", "message": "max.mustermann@ibm.com is neither editor/admin of project b275be5f-10ff-47ee-bfc9-63f1ce5addbf nor allowlisted Service ID." } ] }
Create a new prompt / prompt template
This creates a new prompt with the provided parameters.
POST /v1/prompts
Request
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Input mode in use for the prompt
Allowable values: [
structured
,freeform
,chat
,detached
]
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
The ID of the original prompt creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the prompt was updated.
Example:
1711504485261
The ID of the last user that modifed the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
,detached
]User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
Created - Returned when created
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Get a prompt
This retrieves a prompt / prompt template with the given id.
GET /v1/prompts/{prompt_id}
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Only return a set of model parameters compatiable with inferencing
Default:
true
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
The ID of the original prompt creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the prompt was updated.
Example:
1711504485261
The ID of the last user that modifed the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
,detached
]User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
OK - Returned from GET when it succeeds
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Update a prompt
This updates a prompt / prompt template with the given id.
PATCH /v1/prompts/{prompt_id}
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variable
Input mode in use for the prompt
Allowable values: [
structured
,freeform
]
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
The ID of the original prompt creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the prompt was updated.
Example:
1711504485261
The ID of the last user that modifed the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
,detached
]User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
OK - Returned on success
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Delete a prompt
This delets a prompt / prompt template with the given id.
DELETE /v1/prompts/{prompt_id}
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Prompt lock modifications
Modifies the current locked state of a prompt.
PUT /v1/prompts/{prompt_id}/lock
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Override a lock if it is currently taken.
True if the prompt is currently locked.
Lock type: 'edit' for working on prompts/templates or 'governance'. Can only be supplied in PUT /lock requests.
Allowable values: [
edit
,governance
]Locked by is computed by the server and shouldn't be passed.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Get current prompt lock status
Retrieves the current locked state of a prompt.
GET /v1/prompts/{prompt_id}/lock
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Get the inference input string for a given prompt
Computes the inference input string based on state of a prompt. Optionally replaces template params
POST /v1/prompts/{prompt_id}/input
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Override input string that will be used to generate the response. The string can contain template parameters.
Possible values: Value must match regular expression
.*
Example:
Some text with variables.
Supply only to replace placeholders. Object content must be key:value pairs where the 'key' is the parameter to replace and 'value' is the value to use.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
var1
prompt_variable
Response
The prompt's input string used for inferences.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
Ok - Returned on success
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Add a new chat item to a prompt
This adds new chat items to the given prompt.
POST /v1/prompts/{prompt_id}/chat_items
Request
Path Parameters
Prompt ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the space ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Allowable values: [
question
,answer
]Possible values: Value must match regular expression
.*
Example:
Some text
Allowable values: [
ready
,error
]Example:
1711504485261
Request
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Name used to display the prompt session.
Possible values: Value must match regular expression
^.{0,100}$
Example:
Session 1
The prompt session's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]{32}
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt session.
Possible values: Value must match regular expression
^[\s\S]{0,250}
Example:
My First Prompt Session
Time the session was created.
Example:
1711504485261
The ID of the original session creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the session was updated.
Example:
1711504485261
The ID of the last user that modifed the session.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: 0 ≤ number of items ≤ 50
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
The ID of the original prompt creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the prompt was updated.
Example:
1711504485261
The ID of the last user that modifed the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
,detached
]User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
Created - Returned when created
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Get a prompt session
This retrieves a prompt session with the given id.
GET /v1/prompt_sessions/{session_id}
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Include the most recent entry
Response
Name used to display the prompt session.
Possible values: Value must match regular expression
^.{0,100}$
Example:
Session 1
The prompt session's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]{32}
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt session.
Possible values: Value must match regular expression
^[\s\S]{0,250}
Example:
My First Prompt Session
Time the session was created.
Example:
1711504485261
The ID of the original session creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the session was updated.
Example:
1711504485261
The ID of the last user that modifed the session.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: 0 ≤ number of items ≤ 50
Status Code
OK - Returned from GET when it succeeds
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Update a prompt session
This updates a prompt session with the given id.
PATCH /v1/prompt_sessions/{session_id}
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Possible values: Value must match regular expression
^.{0,100}$
Example:
Session 1
An optional description for the prompt.
Possible values: Value must match regular expression
^[\s\S]{0,250}
Example:
My First Prompt Session
Response
Name used to display the prompt session.
Possible values: Value must match regular expression
^.{0,100}$
Example:
Session 1
The prompt session's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]{32}
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt session.
Possible values: Value must match regular expression
^[\s\S]{0,250}
Example:
My First Prompt Session
Time the session was created.
Example:
1711504485261
The ID of the original session creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the session was updated.
Example:
1711504485261
The ID of the last user that modifed the session.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: 0 ≤ number of items ≤ 50
Status Code
OK - Returned from GET when it succeeds
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Delete a prompt session
This deletes a prompt session with the given id.
DELETE /v1/prompt_sessions/{session_id}
Add a new prompt to a prompt session
This creates a new prompt associated with the given session.
POST /v1/prompt_sessions/{session_id}/entries
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
Time the prompt was created.
Example:
1711504485261
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
any property
prompt_variables
Input mode in use for the prompt
Allowable values: [
structured
,freeform
,chat
]
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
Time the prompt was created.
Example:
1711504485261
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
any property
prompt_variables
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
]
Status Code
Created - Returned when created
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Get entries for a prompt session
List entries from a given session.
GET /v1/prompt_sessions/{session_id}/entries
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Bookmark from a previously limited get request
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Limit for results to retrieve, default 20
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Response
The prompt entry's ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
The prompt entry's name
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
Name of an entry
The prompt entry's description
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
Description of an entry
The prompt entry's create time in millis
Example:
1711504485261
results
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
Success - Returned when search completes
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Add a new chat item to a prompt session entry
This adds new chat items to the given entry.
POST /v1/prompt_sessions/{session_id}/entries/{entry_id}/chat_items
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Prompt Session Entry ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Allowable values: [
question
,answer
]Possible values: Value must match regular expression
.*
Example:
Some text
Allowable values: [
ready
,error
]Example:
1711504485261
Prompt session lock modifications
Modifies the current locked state of a prompt session.
PUT /v1/prompt_sessions/{session_id}/lock
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Override a lock if it is currently taken.
True if the prompt is currently locked.
Lock type: 'edit' for working on prompts/templates or 'governance'. Can only be supplied in PUT /lock requests.
Allowable values: [
edit
,governance
]Locked by is computed by the server and shouldn't be passed.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Get current prompt session lock status
Retrieves the current locked state of a prompt session.
GET /v1/prompt_sessions/{session_id}/lock
Get a prompt session entry
This retrieves a prompt session entry with the given id.
GET /v1/prompt_sessions/{session_id}/entries/{entry_id}
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Prompt Session Entry ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Response
Name used to display the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My Prompt
The prompt's id. This value cannot be set. It is returned in responses only.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
1c29d9a1-9ba6-422d-aa39-517b26adc147
An optional description for the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
My First Prompt
Time the prompt was created.
Example:
1711504485261
The ID of the original prompt creator.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Time the prompt was updated.
Example:
1711504485261
The ID of the last user that modifed the prompt.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Example:
IBMid-000000YYY0
Possible values: number of items = 1, Value must match regular expression
[a-zA-Z0-9-]*
Input mode in use for the prompt
Possible values: [
structured
,freeform
,chat
,detached
]User provided semvar version for tracking in IBM AI Factsheets
Possible values: Value must match regular expression
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Example:
2.0.0-rc.7
User provived tag.
Possible values: Value must match regular expression
.*
Example:
tag
Description of the version.
Possible values: Value must match regular expression
.*
Example:
Description of the model version.
model_version
any property
prompt_variables
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Status Code
OK - Returned from GET when it succeeds
Bad Request - Returned when the request parameters are invalid
Unauthorized - Returned when caller does not have a valid authorization token, or it is missing
No Sample Response
Delete a prompt session entry
This deletes a prompt session entry with the given id.
DELETE /v1/prompt_sessions/{session_id}/entries/{entry_id}
Request
Path Parameters
Prompt Session ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Prompt Session Entry ID
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Query Parameters
[REQUIRED] Specifies the project ID as the target. One target must be supplied per request.
Possible values: Value must match regular expression
[a-zA-Z0-9-]*
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The text input for a given model to be used to generate the embeddings.
The
id
of the model to be used for this request. Please refer to the list of models.The input text.
Possible values: number of items ≤ 20
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
Parameters for text embedding requests.
curl --location --get 'https://{cluster_url}/ml/v1/text/embeddings?version=2023-10-25' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "inputs": [ "Youth craves thrills while adulthood cherishes wisdom.", "Youth seeks ambition while adulthood finds contentment.", "Dreams chased in youth while goals pursued in adulthood." ], "model_id": "slate", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
System details.
The
id
of the model to be used for this request. Please refer to the list of models.The embedding values for a given text.
Possible values: number of items ≥ 0
The time when the response was created.
The number of input tokens that were consumed.
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
An array of embeddings for each input string.
{ "model_id": "slate", "results": [ { "embedding": [ -0.006929283, -0.005336422, -0.024047505 ] } ], "created_at": "2024-02-21T17:32:28Z", "input_token_count": 10 }
Detect text similarities
Detect similarities between source strings and target strings.
POST /ml/v1/text/similarities
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The strings to be used to detect text similarities.
The
id
of the model to be used for this request. Please refer to the list of models.A source text.
The target texts.
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
Parameters for text similarity.
curl --location --get 'https://{cluster_url}/ml/v1/text/similarities?version=2023-10-25' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "sources": [ "Youth is not about wisdom, contentment, and pursuit of goals.", "Youth is absolutely boring and unambitious." ], "targets": [ "Youth craves thrills while adulthood cherishes wisdom.", "Youth seeks ambition while adulthood finds contentment." "Dreams chased in youth while goals pursued in adulthood." ], "model_id": "slate", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
System details.
The
id
of the model to be used for this request. Please refer to the list of models.The similarity scores.
Possible values: number of items ≥ 0
The time when the response was created.
The number of input tokens that were consumed.
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
An array of similarity ratings for each source string.
{ "model_id": "slate", "results": [ { "score": 0.7527929544448853 }, { "score": 0.7988557815551758 }, { "score": 0.177557945251 } ], "created_at": "2024-02-21T17:32:28Z", "input_token_count": 14 }
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The input texts and the queries for reranking.
The
id
of the model to be used for this request. Please refer to the list of models.The rank input strings.
inputs
The rank query.
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
The properties used for reranking.
curl --location --get 'https://{cluster_url}/ml/v1/text/reranks?version=2023-10-25' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "inputs": [ { "title": "Youthful Adventures vs. Grownup Routine", "text": "In my younger years, I often reveled in the excitement of spontaneous adventures and embraced the thrill of the unknown, whereas in my grownup life, I have come to appreciate the comforting stability of a well-established routine.", }, { "title": "Thrill-Seeking Youth and Wisdom of Adulthood", "text": "As a young man, I frequently sought out exhilarating experiences, craving the adrenaline rush of lifes novelties, while as a responsible adult, I have come to understand the profound value of accumulated wisdom and life experience.", } ], "queries": [ "As a Youth, I craved excitement while in adulthood I followed Enthusiastic Pursuit." ], "parameters": { "top_n": 2 }, "model_id": "sentence-transformers/all-MiniLM", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
System details.
The
id
of the model to be used for this request. Please refer to the list of models.The ranked results.
Possible values: number of items ≥ 0
The time when the response was created.
The number of input tokens that were consumed.
The rank query.
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
An array of embeddings for each input string.
{ "model_id": "sentence-transformers/all-MiniLM", "query": "As a Youth, I craved excitement while in adulthood I followed Enthusiastic Pursuit.", "results": [ { "score": 0.8274 }, { "score": 0.7461 } ], "created_at": "2024-02-21T17:32:28Z", "input_token_count": 20 }
Infer text
Infer the next tokens for a given deployed model with a set of parameters.
POST /ml/v1/text/generation
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
From a given prompt, infer the next tokens.
The prompt to generate completions. Note: The method tokenizes the input internally. It is recommended not to leave any trailing spaces.
The
id
of the model to be used for this request. Please refer to the list of models.Example:
google/flan-ul2
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
Properties that control the model and response.
Examples:ViewProperties that control the moderations, for usages such as
Hate and profanity
(HAP) andPersonal identifiable information
(PII) filtering. This list can be extended with new types of moderations.Examples:Viewmoderations
curl --location --request POST 'https://{cluster_url}/ml/v1/text/generation?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "model_id": "google/flan-t5-xxl,", "input": "how far is paris from bangalore:", "parameters": { "max_new_tokens": 100, "time_limit": 1000 }, "project_id": "63dc4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
System details.
The
id
of the model for inference.Example:
google/flan-ul2
The time when the response was created.
The generated tokens.
Possible values: number of items ≥ 1
The model version (using semantic versioning) if set.
Possible values: 5 ≤ length ≤ 20, Value must match regular expression
^\d+.\d+.\d+$
Example:
1.0.1
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
The generated text from the model along with other details.
{ "model_id": "google/flan-ul2", "created_at": "2023-07-21T16:52:32.190Z", "results": [ { "generated_text": "4,000 km", "generated_token_count": 4, "input_token_count": 12, "stop_reason": "eos_token" } ] }
The generated text from the model along with other details.
{ "model_id": "google/flan-t5-xl", "created_at": "2023-07-21T16:52:32.190Z", "results": [ { "generated_text": "c/o USPS, PO Box 3000, Washington, D.C. 20001-5000, www.usps.com, or call **************. You can also visit the website at https://www.usps.com/contactus/. You can also contact them by telephone at 1-************. You can also send an email to ***************. You can find the US Postal Service on Facebook at https://www.facebook.com/postalservice/.", "generated_token_count": 118, "input_token_count": 11, "stop_reason": "eos_token", "moderations": { "pii": [ { "score": 0.8, "input": false, "position": { "start": 74, "end": 88 }, "entity": "PhoneNumber" }, { "score": 0.8, "input": false, "position": { "start": 200, "end": 212 }, "entity": "PhoneNumber" }, { "score": 0.8, "input": false, "position": { "start": 244, "end": 259 }, "entity": "EmailAddress" } ] } } ] }
Infer text event stream
Infer the next tokens for a given deployed model with a set of parameters. This operation will return the output tokens as a stream of events.
POST /ml/v1/text/generation_stream
Request
Custom Headers
Allowable values: [
application/json
,text/event-stream
]
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
From a given prompt, infer the next tokens in a server-sent events (SSE) stream.
The prompt to generate completions. Note: The method tokenizes the input internally. It is recommended not to leave any trailing spaces.
The
id
of the model to be used for this request. Please refer to the list of models.Example:
google/flan-ul2
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
Properties that control the model and response.
Examples:ViewProperties that control the moderations, for usages such as
Hate and profanity
(HAP) andPersonal identifiable information
(PII) filtering. This list can be extended with new types of moderations.Examples:Viewmoderations
curl --location --request POST 'https://{cluster_url}/ml/v1/text/generation_stream?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "model_id": "google/flan-t5-xxl,", "input": "how far is paris from bangalore:", "parameters": { "max_new_tokens": 100, "time_limit": 1000 }, "project_id": "63dc4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
A set of server sent events, each event contains a response for one or more tokens.
The
id
of the model for inference.Example:
google/flan-ul2
The time when the response was created.
The generated tokens.
Possible values: number of items ≥ 1
The model version (using semantic versioning) if set.
Possible values: 5 ≤ length ≤ 20, Value must match regular expression
^\d+.\d+.\d+$
Example:
1.0.1
Optional details coming from the service and related to the API call or the associated resource.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
The generated text from the model along with other details.
[ { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.673Z", "results": [ { "generated_text": "", "generated_token_count": 4, "input_token_count": 0, "stop_reason": "eos_token" } ] }, { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.647Z", "results": [ { "generated_text": " km", "generated_token_count": 3, "input_token_count": 0, "stop_reason": "not_finished" } ] }, { "model_id": "google/flan-ul2", "created_at": "2023-07-21T19:17:36.647Z", "results": [ { "generated_text": "4,000", "generated_token_count": 2, "input_token_count": 0, "stop_reason": "not_finished" } ] } ]
Text tokenization
The text tokenize operation allows you to check the conversion of provided input to tokens for a given model. It splits text into words or sub-words, which then are converted to ids through a look-up table (vocabulary). Tokenization allows the model to have a reasonable vocabulary size.
POST /ml/v1/text/tokenization
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The input string to tokenize.
The
id
of the model to be used for this request. Please refer to the list of models.Example:
google/flan-ul2
The input string to tokenize.
Example:
Write a tagline for an alumni association: Together we
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
The parameters for text tokenization.
curl --location --request POST 'https://{cluster_url}/ml/v1/text/tokenization?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "model_id": "google/flan-ul2,", "input": "Write a tagline for an alumni association: Together we", "parameters": { "return_tokens": true }, "project_id": "63dc4cf1-252f-424b-b52d-5cdd9814987f" }'
Response
The tokenization result.
The
id
of the model to be used for this request. Please refer to the list of models.Example:
google/flan-ul2
The result of tokenizing the input string.
Status Code
Successful operation
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
The response with the token count and the tokens, if requested.
{ "model_id": "google/flan-ul2", "result": { "token_count": 11, "tokens": [ "Write", "a", "tag", "line", "for", "an", "alumni", "associ", "ation:", "Together", "we" ] } }
Create a new watsonx.ai training
Create a new watsonx.ai training in a project or a space.
The details of the base model and parameters for the training
must be provided in the prompt_tuning
object.
In order to deploy the tuned model you need to follow the following steps:
-
Create a WML model asset, in a space or a project, by providing the
request.json
as shown below:curl -X POST "https://{cpd_cluster}/ml/v4/models?version=2024-01-29" \ -H "Authorization: Bearer <replace with your token>" \ -H "content-type: application/json" \ --data '{ "name": "replace_with_a_meaningful_name", "space_id": "replace_with_your_space_id", "type": "prompt_tune_1.0", "software_spec": { "name": "watsonx-textgen-fm-1.0" }, "metrics": [ from the training job ], "training": { "id": "05859469-b25b-420e-aefe-4a5cb6b595eb", "base_model": { "model_id": "google/flan-t5-xl" }, "task_id": "generation", "verbalizer": "Input: {{input}} Output:" }, "training_data_references": [ { "connection": { "id": "20933468-7e8a-4706-bc90-f0a09332b263" }, "id": "file_to_tune1.json", "location": { "bucket": "wxproject-donotdelete-pr-xeyivy0rx3vrbl", "path": "file_to_tune1.json" }, "type": "connection_asset" } ] }'
Notes:
- If you used the training request field
auto_update_model: true
then you can skip this step as the model will have been saved at the end of the training job. - Rather than creating the payload for the model you can use the
generated
request.json
that was stored in theresults_reference
field, look for the path in the fieldentity.results_reference.location.model_request_path
. - The model
type
must beprompt_tune_1.0
. - The software spec name must be
watsonx-textgen-fm-1.0
.
- If you used the training request field
-
Create a tuned model deployment as described in the create deployment documentation.
POST /ml/v4/trainings
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The training_data_references
contain the training datasets and the
results_reference
the connection where results will be stored.
The name of the training.
Example:
my-prompt-training
The training results. Normally this is specified as
type=container
which means that it is stored in the space or project.Examples:ViewThe data source type like
connection_asset
ordata_asset
.Allowable values: [
connection_asset
,data_asset
,container
,url
]Example:
connection_asset
Contains a set of fields that describe the location of the data with respect to the
connection
.Examples:Viewlocation
Item identification inside a collection.
Contains a set of fields specific to each connection. See here for details about specifying connections.
Examples:View
results_reference
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
A description of the training.
Example:
My prompt training.
A list of tags for this resource.
Examples:ViewProperties to control the prompt tuning.
Examples:ViewTraining datasets.
Examples:ViewUser defined properties specified as key-value pairs.
Examples:Viewcustom
If set to
true
then the result of the training, if successful, will be uploaded to the repository as a model.Default:
false
Example:
true
curl --location --request POST 'https://{cluster_url}/ml/v4/trainings?version=2023-05-02' -H 'Authorization: Bearer eyJhbGciOiJSUzUxM...' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-raw '{ "name": "my-prompt-tune-training", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "prompt_tuning": { "base_model": { "model_id": "google/flan-t5-xl" }, "task_id": "classification", "tuning_type": "prompt_tuning", "num_epochs": 30, "learning_rate": 0.4, "accumulate_steps": 3, "batch_size": 10, "max_input_tokens": 100, "max_output_tokens": 100 }, "training_data_references": [ { "id": "tune1_data.json", "location": { "path": "tune1_data.json" }, "type": "container" } ], "auto_update_model": true, "results_reference": { "location": { "path": "tune1/results" }, "type": "container" } }'
Response
Training resource.
Common metadata for a resource where
project_id
orspace_id
must be present.Examples:ViewThe id of the resource.
The time when the resource was created.
The revision of the resource.
The user id which created this resource.
The time when the resource was last modified.
The id of the parent resource where applicable.
The name of the resource.
A description of the resource.
A list of tags for this resource.
Examples:ViewInformation related to the revision.
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
metadata
Status of the training job.
Examples:View
Status Code
The training job has been created.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "name": "my-prompt-training", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "created_at": "2023-08-04T13:22:47.000Z" }, "entity": { "prompt_tuning": { "base_model": { "model_id": "google/flan-t5-xl" }, "task_id": "classification" }, "training_data_references": [ { "id": "tune1_data.json", "location": { "path": "tune1_data.json" }, "type": "container" } ], "auto_update_model": true, "results_reference": { "location": { "path": "tune1/results", "training": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82", "training_status": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/training-status.json", "assets_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets", "model_request_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets/c29e7544-dfd0-4427-bc66-20fa6023e2e0/resources/wml_model/request.json" }, "type": "container" }, "status": { "state": "completed", "running_at": "2023-08-04T13:22:48.000Z", "completed_at": "2023-08-04T13:22:55.289Z", "metrics": [ { "iteration": 0, "ml_metrics": { "loss": 4.49988 }, "timestamp": "2023-09-22T02:52:03.324Z" }, { "iteration": 1, "ml_metrics": { "loss": 3.86884 }, "timestamp": "2023-09-22T02:52:03.689Z" }, { "iteration": 2, "ml_metrics": { "loss": 4.05115 }, "timestamp": "2023-09-22T02:52:04.053Z" } ] } } }
Retrieve the list of trainings
Retrieve the list of trainings for the specified space or project.
GET /ml/v4/trainings
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
Token required for token-based pagination. This token cannot be determined by end user. It is generated by the service and it is set in the href available in the
next
field.How many resources should be returned. By default limit is 100. Max limit allowed is 200.
Possible values: 1 ≤ value ≤ 200
Default:
100
Example:
50
Compute the total count. May have performance impact.
Return only the resources with the given tag value.
Filter based on on the training job state.
Allowable values: [
queued
,pending
,running
,storing
,completed
,failed
,canceled
]The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Response
Information for paging when querying resources.
The number of items to return in each page.
Possible values: 1 ≤ value ≤ 200
Example:
10
The reference to the first item in the current page.
The total number of resources. Computed explicitly only when 'total_count=true' query parameter is present. This is in order to avoid performance penalties.
Example:
1
A reference to the first item of the next page, if any.
The training resources.
Optional details coming from the service and related to the API call or the associated resource.
Examples:ViewAny warnings coming from the system.
system
Status Code
OK.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "limit": 100, "first": { "href": "https://{cluster_url}/ml/v4/trainings" }, "total_count": 1, "resources": [ { "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "name": "my-prompt-training", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "created_at": "2023-08-04T13:22:47.000Z" }, "entity": { "prompt_tuning": { "base_model": { "model_id": "google/flan-t5-xl" }, "task_id": "classification" }, "training_data_references": [ { "id": "tune1_data.json", "location": { "path": "tune1_data.json" }, "type": "container" } ], "auto_update_model": true, "results_reference": { "location": { "path": "tune1/results", "training": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82", "training_status": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/training-status.json", "assets_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets", "model_request_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets/c29e7544-dfd0-4427-bc66-20fa6023e2e0/resources/wml_model/request.json" }, "type": "container" }, "status": { "state": "completed", "running_at": "2023-08-04T13:22:48.000Z", "completed_at": "2023-08-04T13:22:55.289Z", "metrics": [ { "iteration": 0, "ml_metrics": { "loss": 4.49988 }, "timestamp": "2023-09-22T02:52:03.324Z" }, { "iteration": 1, "ml_metrics": { "loss": 3.86884 }, "timestamp": "2023-09-22T02:52:03.689Z" }, { "iteration": 2, "ml_metrics": { "loss": 4.05115 }, "timestamp": "2023-09-22T02:52:04.053Z" } ] } } } ] }
Retrieve the training
Retrieve the training with the specified identifier.
GET /ml/v4/trainings/{training_id}
Request
Path Parameters
The training identifier.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Response
Training resource.
Common metadata for a resource where
project_id
orspace_id
must be present.Examples:ViewThe id of the resource.
The time when the resource was created.
The revision of the resource.
The user id which created this resource.
The time when the resource was last modified.
The id of the parent resource where applicable.
The name of the resource.
A description of the resource.
A list of tags for this resource.
Examples:ViewInformation related to the revision.
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
metadata
Status of the training job.
Examples:View
Status Code
OK.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
{ "metadata": { "id": "6213cf1-252f-424b-b52d-5cdd9814956c", "name": "my-prompt-training", "project_id": "12ac4cf1-252f-424b-b52d-5cdd9814987f", "created_at": "2023-08-04T13:22:47.000Z" }, "entity": { "prompt_tuning": { "base_model": { "model_id": "google/flan-t5-xl" }, "task_id": "classification" }, "training_data_references": [ { "id": "tune1_data.json", "location": { "path": "tune1_data.json" }, "type": "container" } ], "auto_update_model": true, "results_reference": { "location": { "path": "tune1/results", "training": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82", "training_status": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/training-status.json", "assets_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets", "model_request_path": "tune1/results/360c40f7-ac0c-43ca-a95f-1a5421f93b82/assets/c29e7544-dfd0-4427-bc66-20fa6023e2e0/resources/wml_model/request.json" }, "type": "container" }, "status": { "state": "completed", "running_at": "2023-08-04T13:22:48.000Z", "completed_at": "2023-08-04T13:22:55.289Z", "metrics": [ { "iteration": 0, "ml_metrics": { "loss": 4.49988 }, "timestamp": "2023-09-22T02:52:03.324Z" }, { "iteration": 1, "ml_metrics": { "loss": 3.86884 }, "timestamp": "2023-09-22T02:52:03.689Z" }, { "iteration": 2, "ml_metrics": { "loss": 4.05115 }, "timestamp": "2023-09-22T02:52:04.053Z" } ] } } }
Cancel the training
Cancel the specified training and remove it.
DELETE /ml/v4/trainings/{training_id}
Request
Path Parameters
The training identifier.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The space that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
63dc4cf1-252f-424b-b52d-5cdd9814987f
The project that contains the resource. Either
space_id
orproject_id
query parameter has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
a77190a2-f52d-4f2a-be3d-7867b5f46edc
Set to true in order to also delete the job metadata information.
Create an AutoRAG job
Create an AutoRAG job that will find the best RAG pattern from the data that is provided in the request.
POST /ml/v1/autorag
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The details of the AutoRAG job with the data used to find the best RAG patterns.
A hardware specification.
A set of input data references.
Possible values: 1 ≤ number of items ≤ 20
A set of test data references.
Possible values: 1 ≤ number of items ≤ 20
A set of vector store references.
Possible values: 1 ≤ number of items ≤ 2
The name of the AutoRAG job.
The project that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
12ac4cf1-252f-424b-b52d-5cdd9814987f
The space that contains the resource. Either
space_id
orproject_id
has to be given.Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
The parameters for an AutoRAG job.
Response
The response of an AutoRAG job.
The AutoRAG metadata fields.
The status of an AutoRAG job.
Status Code
OK.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
No Sample Response
Get an AutoRAG job
Get the results of an AutoRAG job, or details if the job failed.
GET /ml/v1/autorag/{id}
Request
Path Parameters
The
id
is the identifier that was returned in themetadata.id
field of the request.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
Response
The response of an AutoRAG job.
The AutoRAG metadata fields.
The status of an AutoRAG job.
Status Code
OK.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
No Sample Response
Delete an AutoRAG job
Delete an AutoRAG job if it exists, once deleted all trace of the job is gone.
DELETE /ml/v1/autorag/{id}
Create a geospatial transformation
Create a geospatial transformation from inputs using a given model.
POST /ml/v1/geospatial/transformations_async
Request
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
The details of the inputs to transform with the given model.
The
id
of the model to be used for this request.The input text.
Possible values: number of items ≤ 20
A data location of the input or output data.
The space that contains the resource.
Possible values: length = 36, Value must match regular expression
[a-zA-Z0-9-]*
Example:
3fc54cf1-252f-424b-b52d-5cdd9814987f
Response
The response from a geospatial transformation request.
The specific fields for the geospatial transformation metadata fields.
The transformation results.
Status Code
Accepted.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
No Sample Response
Get a geospatial transformation
Get a geospatial transformation.
GET /ml/v1/geospatial/transformations/{id}
Request
Path Parameters
The
id
is the identifier that was returned in themetadata.id
field of the request.
Query Parameters
The version date for the API of the form
YYYY-MM-DD
.Example:
2023-07-07
Response
The response from a geospatial transformation request.
The specific fields for the geospatial transformation metadata fields.
The transformation results.
Status Code
OK.
Bad request, the response body should contain the reason.
Unauthorized.
Forbidden, an authentication error including trying to access an unauthorized space or project.
The specified resource was not found.
No Sample Response
Delete a geospatial transformation
Delete a geospatial transformation.
DELETE /ml/v1/geospatial/transformations/{id}