Spaces:
Running
Running
Optional k8s.needs for Genmol.
Browse files
lynxkite-bio/src/lynxkite_bio/nims.py
CHANGED
@@ -6,6 +6,8 @@ import httpx
|
|
6 |
import pandas as pd
|
7 |
import os
|
8 |
|
|
|
|
|
9 |
|
10 |
ENV = "LynxKite Graph Analytics"
|
11 |
op = ops.op_registration(ENV)
|
@@ -131,7 +133,30 @@ def view_molecule(
|
|
131 |
}
|
132 |
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
@op("Query GenMol", slow=True)
|
|
|
135 |
async def query_genmol(
|
136 |
bundle: Bundle,
|
137 |
*,
|
@@ -146,7 +171,7 @@ async def query_genmol(
|
|
146 |
bundle = bundle.copy()
|
147 |
|
148 |
response = await query_bionemo_nim(
|
149 |
-
url="
|
150 |
payload={
|
151 |
"smiles": bundle.dfs[molecule_table][molecule_column].iloc[0],
|
152 |
"num_molecules": num_molecules,
|
|
|
6 |
import pandas as pd
|
7 |
import os
|
8 |
|
9 |
+
from . import k8s
|
10 |
+
|
11 |
|
12 |
ENV = "LynxKite Graph Analytics"
|
13 |
op = ops.op_registration(ENV)
|
|
|
133 |
}
|
134 |
|
135 |
|
136 |
+
def _needs_bionemo_k8s(**k8s_kwargs):
|
137 |
+
if USE_K8S:
|
138 |
+
return k8s.needs(**k8s_kwargs)
|
139 |
+
else:
|
140 |
+
return lambda func: func
|
141 |
+
|
142 |
+
|
143 |
+
def base_url(service):
|
144 |
+
if USE_K8S:
|
145 |
+
return f"http://{k8s.get_ip(service)}/"
|
146 |
+
else:
|
147 |
+
return "https://health.api.nvidia.com/"
|
148 |
+
|
149 |
+
|
150 |
+
USE_K8S = False # Not production ready yet.
|
151 |
+
needs_genmol_k8s = _needs_bionemo_k8s(
|
152 |
+
name="genmol",
|
153 |
+
image="nvcr.io/nim/nvidia/genmol:1.0.0",
|
154 |
+
port=8000,
|
155 |
+
)
|
156 |
+
|
157 |
+
|
158 |
@op("Query GenMol", slow=True)
|
159 |
+
@needs_genmol_k8s
|
160 |
async def query_genmol(
|
161 |
bundle: Bundle,
|
162 |
*,
|
|
|
171 |
bundle = bundle.copy()
|
172 |
|
173 |
response = await query_bionemo_nim(
|
174 |
+
url=f"{base_url('genmol')}v1/biology/nvidia/genmol/generate",
|
175 |
payload={
|
176 |
"smiles": bundle.dfs[molecule_table][molecule_column].iloc[0],
|
177 |
"num_molecules": num_molecules,
|