NIM Endpoints#
Molecular Generation#
Endpoint path: /generate
Input Parameters#
smiles (string)
: Required. SAFE/SMILES text with masks as the molecular template for generation.num_molecules (integer, 1~1000)
: Optional (default: 30). Number of molecules to be generated.temperature (float, 0.01~10.0)
: Optional (default: 1.0). Temperature factor to scale the predicted probits before being passed to the SoftMax function.noise (float, 0.0~2.0)
: Optional (default: 0.0). Scale of randomness added to the probability confidences on all predicted tokens.step_size (integer, 1~10)
: Optional (default: 1). Number of tokens to be unmasked for each inference step.scoring (enum, QED or LogP)
: Optional (default QED). Method to be used to score and rank the generated molecules.unique (boolean)
: Optional (default: false). Only unique molecules will be returned if true is set.
Outputs#
The output of the endpoint is a JSON response with two fields:
status
:success
orfailed
. If it issuccess
, a field ofmolecules
listing all generated molecules will be returned; otherwise, a field oferror
will be returned as a text message explaining the reason for the failure.molecules
: if the request is successfully processed, this field contains a list of molecules, each of which is a dictionary with fields ofsmiles
andscore
for each generated molecule, ranked by the chosen scoring method.
Example#
curl --request POST --url "http://127.0.0.1:8000/generate" \
--header "Content-Type: application/json"\
--data '{
"smiles": "[C@H]1O[C@@H](CO)[C@H](O)[C@@H]1O.[*{15-15}]",
"num_molecules": "5",
"temperature": "2.0",
"noise": "1.0",
"step_size": "1",
"scoring": "QED"
}'
Return
{"status":"success","molecules":[{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397}]}
Readiness Check#
Endpoint path: /v1/health/ready
Input Parameters#
None
Outputs#
The output of the endpoint is a JSON response containing a value indicating the readiness of the microservice. When the NIM is ready, it returns the response {"status":"ready"}
.
Example#
curl http://127.0.0.1:8000/v1/health/ready
Return
true
List Models and Versions#
Endpoint path: /v1/models
Input Parameters#
None
Outputs#
The output of the endpoint is a JSON response containing a list of available models supported by this NIM, for example, {"available_models":["GenMol-1.0.0"]}
.
Example#
curl http://127.0.0.1:8000/v1/models
Return
{"available_models":["GenMol-1.0.0"]}
API Reference#
Endpoint path: /docs
Input Parameters#
None
Outputs#
This endpoint provides a detailed OpenAPI schema for this NIM. Open a web browser and direct to the URL http://127.0.0.1:8000/docs
to view the page.