Connecting to Globus Compute Backends¶
This guide describes how to connect the Gateway to existing backends powered by Globus Compute single-user endpoints.
Endpoint Configuration¶
If you adopted our Globus Compute configuration, you can simply reuse the GlobusComputeEndpoint endpoint adaptor and add your entries to the fixtures/endpoints.json file. Each entry should respect the following the data structure:
{
"model": "resource_server_async.endpoint",
"pk": 1,
"fields": {
"endpoint_slug": "your-cluster-api-your-model-70b",
"cluster": "your-cluster",
"framework": "api",
"model": "Your-Model-70B",
"endpoint_adapter": "resource_server_async.endpoints.globus_compute.GlobusComputeEndpoint",
"config": {
"api_port": 8000,
"endpoint_uuid": "your-backend-globus-compute-endpoint-uuid",
"function_uuid": "your-backend-globus-compute-function-uuid"
}
}
}
Make sure that endpoint_slug has the following format: cluster-framework-model (with no / or . character, all lower case). For example, the meta-llama/Meta-Llama-3.1-70B-Instruct model hosted on my-cluster and served with my-framework should have the following slug: my-cluster-my-framework-meta-llamameta-llama-31-70b-instruct. You can also use the Django slugify tool.
from django.utils.text import slugify
endpoint_slug = slugify(" ".join([cluster, framework, model.lower()]))
Cluster Configuration¶
If you adopted our Globus Compute configuration, you can simply reuse the GlobusComputeCluster cluster adaptor and add your entries to the fixtures/clusters.json file. Each entry should respect the following the data structure:
{
"model": "resource_server_async.cluster",
"pk": 1,
"fields": {
"cluster_name": "your-cluster",
"cluster_adapter": "resource_server_async.clusters.globus_compute.GlobusComputeCluster",
"frameworks": [
"vllm"
],
"openai_endpoints": [
"chat/completions",
"completions",
"embeddings",
],
"config": {
"qstat_endpoint_uuid": "your-backend-globus-compute-qstat-endpoint-uuid",
"qstat_function_uuid": "your-backend-globus-compute-qstat-function-uuid"
}
}
}