This repository contains an end to end test dev environment for the Atoma Network. This can be be run locally or in a CI environment.
Ideally in the future this can be used to run performance benchmarks for the Atoma Network across various network conditions.
flowchart TD
subgraph subGraph0["Local Dev/CI Environment"]
AtomaProxy["Atoma Proxy Node"]
AtomaNode["Atoma Node"]
vLLMService["vLLM Service"]
PrometheusClient["Prometheus Client"]
end
AtomaProxy -- Forward Request --> AtomaNode
AtomaNode -- Download model weights --> HuggingFace["HF Token Registry"]
AtomaNode -- Cache model weights --> HuggingFaceCachingService
AtomaNode -- vLLM Request --> vLLMService
vLLMService -- Token Stream --> AtomaNode
AtomaNode -- Stream Response --> ClientScript
AtomaNode -- Stream Metrics --> PrometheusClient
AtomaProxy -- Request node registry --> n2["Sui Testnet Contract"]
n2 -- Respond Atoma Node to process request --> AtomaProxy
PurchaseScript -- purchase Stack --> AtomaProxy
AtomaProxy -- purchase stack on-chain txn --> n2
n2 -- assign nodgebadge --> AtomaNode
n2 -- assign stack --> AtomaProxy
ClientScript -- chat completion request --> AtomaProxy
PrometheusClient -- metrics --> GraphanaDashboard
ClientScript -- assemble responses --> GithubArtifacts
n2@{ shape: rect}
The following environment variables are required to run the environment:
HF_TOKEN
: A Hugging Face token for accessing the HF Token Registry.VLLM_ENDPOINT
: The endpoint of the vLLM service you want to useSUI_RPC_ENDPOINT
: The endpoint of the Sui network you want to useSUI_CONTRACT_ADDRESS
: The address of the Sui contract you want to useATOMA_NODE_BADGE_ID
: This will be tied the node badge id of the SUI contract address, this is used to route the request to the correct node.
Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.