NIM 终点#

分子生成#

终点路径: /generate

输入参数#

  • smiles (string):必需。SAFE/SMILES 文本,带有掩码,作为分子生成模板。

  • num_molecules (integer, 1~1000):可选(默认值:30)。要生成的分子数量。

  • temperature (float, 0.01~10.0):可选(默认值:1.0)。温度因子,用于在传递给 SoftMax 函数之前缩放预测的概率单位。

  • noise (float, 0.0~2.0):可选(默认值:0.0)。添加到所有预测令牌的概率置信度的随机性比例。

  • step_size (integer, 1~10):可选(默认值:1)。每个推理步骤要取消掩码的令牌数量。

  • scoring (enum, QED or LogP):可选(默认值 QED)。用于评分和排列生成分子的方法。

  • unique (boolean):可选(默认值:false)。如果设置为 true,则仅返回唯一分子。

输出#

终点的输出是一个带有两个字段的 JSON 响应

  • statussuccessfailed。如果是 success,将返回一个 molecules 字段,其中列出所有生成的分子;否则,将返回一个 error 字段,其中包含解释失败原因的文本消息。

  • molecules:如果请求已成功处理,则此字段包含分子列表,其中每个分子都是一个字典,包含 smilesscore 字段,用于每个生成分子,并按选择的评分方法排序。

示例#

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"
  }'

返回

{"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}]}

就绪检查#

终点路径: /v1/health/ready

输入参数#

输出#

终点的输出是一个 JSON 响应,其中包含指示微服务就绪状态的值。当 NIM 准备就绪时,它会返回响应 {"status":"ready"}

示例#

curl http://127.0.0.1:8000/v1/health/ready

返回

true

列出模型和版本#

终点路径: /v1/models

输入参数#

输出#

终点的输出是一个 JSON 响应,其中包含此 NIM 支持的可用模型列表,例如,{"available_models":["GenMol-1.0.0"]}

示例#

curl http://127.0.0.1:8000/v1/models

返回

{"available_models":["GenMol-1.0.0"]}

API 参考#

终点路径: /docs

输入参数#

输出#

此终点为此 NIM 提供详细的 OpenAPI 模式。打开 Web 浏览器并定向到 URL http://127.0.0.1:8000/docs 以查看页面。