Prediction APILucidworks AI
The LWAI Prediction API is used to send synchronous API calls that run predictions from pre-trained models or custom models.
The LWAI Prediction API supports models hosted by Lucidworks and specific third-party models. The Lucidworks AI Use Case API returns a list of all supported models. For more information about supported models, see Generative AI models.
You can enter the values returned in the Lucidworks AI Use Case API for the USE_CASE
and MODEL_ID
fields in the /prediction
use case requests.
The generic path for the Prediction API is /ai/prediction/USE_CASE/MODEL_ID
.
To view the full configuration specification for an API, click the View API specification button. Alternatively, click here to open the API spec. |
Prerequisites
To use this API, you need:
-
The unique
APPLICATION_ID
for your Lucidworks AI application. For more information, see credentials to use APIs. -
A bearer token generated with a scope value of
machinelearning.predict
. For more information, see Authentication API. -
Other required fields specified in each individual use case.
Common parameters and fields
Some parameters in the /ai/async-prediction/USE_CASE/MODEL_ID
request are common to all of the generative AI (GenAI) use cases, such as the modelConfig
parameter.
Also referred to as hyperparameters, these fields set certain controls on the response.
Refer to the API spec for more information.
Prediction use case by modelId
The /ai/prediction/USE_CASE/MODEL_ID
request returns predictions for pre-trained or custom models in the specified use case format for the modelId
in the request.
Unique fields and values in the request are described in each use case. |
Example request
curl --request POST \
--url https://APPLICATION_ID.applications.lucidworks.com/ai/prediction/USE_CASE/MODEL_ID \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ACCESS_TOKEN'
--data '{
"batch": [
{
"text": "Content for the model to analyze."
}
],
"modelConfig": [
{
"temperature": 0.8,
"topP": 1,
"presencePenalty": 2,
"frequencyPenalty": 1,
"maxTokens": 1
}
]
}'
The response varies based on the specific use case and the fields included in the request.
Prediction API use cases
The use cases available in the Lucidworks AI Prediction API are detailed in the following topics:
Example POST requests for Prediction API use cases
The topic for every use case contains detailed information about prerequisites and parameters along with example requests and responses. This section provides an overview of Prediction API requests.
Generic use case Prediction API POST request
When submitting a POST request for a generic use case, use the following format:
https://{APPLICATION_ID}.applications.lucidworks.com/ai/prediction/{USE_CASE}/{MODEL_ID}
This example uses APPLICATION_ID
of b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e
. Replace the placeholder for ACCESS_TOKEN
with the token generated in the Authentication API response.
curl --request POST \
--url https://b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e.applications.lucidworks.com/ai/prediction/{USE_CASE}/{MODEL_ID} \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data '{
"batch": [
"text": "Content for the model to analyze."
]
}'
Custom embedding use case Prediction API POST request
When submitting a POST request for a custom embedding use case, use the following format:
https://{APPLICATION_ID}.applications.lucidworks.com/ai/prediction/embedding/{DEPLOYMENT_ID}
This use case request requires APPLICATION_ID
and DEPLOYMENT_ID
.
The DEPLOYMENT_ID
is generated when the custom embedding model is deployed. For information, see Deployment details.
The custom MODEL_ID
can also be obtained using the API as described in the following topics:
This example uses APPLICATION_ID
of b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e
and a DEPLOYMENT_ID
of 4f10a8a7-52a4-440d-a015-70d00483ac5e
. Replace the placeholder for ACCESS_TOKEN
with the token generated in the Authentication API response.
curl --request POST \
--url https://b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e.applications.lucidworks.com/ai/prediction/embedding/4f10a8a7-52a4-440d-a015-70d00483ac5e \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data '{
"batch": [
"text": "Content for the model to vectorize."
]
}'
Pre-trained embedding use case Prediction API POST request
When submitting a POST request for a pre-trained embedding use case, use the following format:
https://{APPLICATION_ID}.applications.lucidworks.com/ai/prediction/embedding/{MODEL_ID}
This use case request requires APPLICATION_ID
and MODEL_ID
.
The pre-trained MODEL_ID
can also be obtained using the API as described in the following topics:
This example uses APPLICATION_ID
of b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e
and a MODEL_ID
of gte-small
. Replace the placeholder for ACCESS_TOKEN
with the token generated in the Authentication API response.
curl --request POST \
--url https://b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e.applications.lucidworks.com/ai/prediction/embedding/gte-small \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data '{
"batch": [
"text": "Content for the model to vectorize."
]
}'
Generative AI use case Prediction API POST request
When submitting a POST request for a generative AI use case, use the following format:
https://{APPLICATION_ID}.applications.lucidworks.com/ai/prediction/{USE_CASE}/{MODEL_ID}
This use case request requires APPLICATION_ID
and MODEL_ID
.
For information about GenAI use cases and models, see:
This example uses APPLICATION_ID
of b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e
, a USE_CASE
of passthrough
and a MODEL_ID
of llama-3-8b-instruct
. Replace the placeholder for ACCESS_TOKEN
with the token generated in the Authentication API response.
curl --request POST \
--url https://b7bcb5a5-4b6a-4fb5-b6bc-9f8cc6ab234e.applications.lucidworks.com/ai/prediction/passthrough/llama-3-8b-instruct \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--data '{
"batch": [
{
"text": "You are a helpful utility program instructed to accomplish a word correction task. Provide the most likely suggestion to the user without an preamble or elaboration.\nPOSSIBLE_MISSPELLING: swerdfish"
}
],
}'