Skip to navigation

NIM Endpoints

View as Markdown

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 or failed. If it is success, a field of molecules listing all generated molecules will be returned; otherwise, a field of error 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 of smiles and score 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.