1. Low-latency LLM predictions using VPC Access Connector.


    To achieve low-latency large language model (LLM) predictions using a VPC Access Connector, it's assumed you will be deploying a serverless function (like Google Cloud Functions or AWS Lambda) that interacts with a LLM. VPC Access Connectors are used to enable serverless resources to connect to your VPC network, which allows them to access the resources within that network, potentially reducing latency if the LLM is also hosted within the same VPC or a connected network.

    Below is a Pulumi program written in Python that sets up a Google Cloud Function with a VPC Access Connector. This example assumes you're using Google Cloud Platform because GCP provides a native VPC Access Connector resource for such purposes. It's worth noting that Pulumi also supports other cloud providers, and the concept would be similar although the resource types may differ.

    Here's what the program does:

    • Creates a VPC network to host our resources.
    • Sets up a VPC Access Connector, which allows serverless functions to access resources in the VPC network.
    • Deploys a Google Cloud Function that can be configured to interact with your LLM, leveraging the VPC Access Connector for low-latency access to the model.
    import pulumi import pulumi_gcp as gcp # Create a VPC network vpc_network = gcp.compute.Network("vpc-network", auto_create_subnetworks=True) # Define a VPC Connector. # This connector allows serverless services to access resources in the given VPC network. vpc_access_connector = gcp.vpcaccess.Connector("vpc-access-connector", region="us-central1", # Choose the appropriate region for your application. network=vpc_network.id, ip_cidr_range="", # Check for valid IP CIDR ranges within your VPC network. min_throughput=200, # Set minimum throughput in Mbps for the connector max_throughput=300, # Set maximum throughput in Mbps for the connector ) # Deploy a Google Cloud Function which connects to VPC network through the VPC Connector created above. cloud_function = gcp.cloudfunctions.Function("llm-predictor", description="Function for low-latency LLM predictions", runtime="python39", # Choose the runtime that fits your function's requirements. available_memory_mb=256, source_archive_bucket=gcp.storage.Bucket("source-bucket").name, source_archive_object=gcp.storage.BucketObject("source-archive", bucket="source-bucket", source=pulumi.FileArchive("./function-source") # The directory containing your function's source code. ).name, entry_point="predict", # Replace with the name of the entry point into your function. trigger_http=True, vpc_connector=vpc_access_connector.id, vpc_connector_egress_settings="PRIVATE_RANGES_ONLY", # Use this to limit egress to private IPs. environment_variables={ "LLM_HOST": "your-llm-hostname", # Hostname or IP address of your LLM within the VPC. "OTHER_ENV_VAR": "value", # Any other environment variables needed for your function. }, ) # Export the deployed function's URL so it can be accessed. pulumi.export("function_url", cloud_function.https_trigger_url)

    To use the above code, you'll need to replace placeholders like your-llm-hostname with actual values based on your setup. Make sure to have your LLM service reachable within the VPC network, and the subnet IP range you provide to the VPC Access Connector does not overlap with other subnets in your VPC.

    The source_archive_bucket, and source_archive_object resources should point to a bucket and object where your Cloud Function's code is uploaded. The bucket is created here for example purposes, but you will need to provide your function's code archive as a FileArchive pointing to the directory with your Python function.

    Remember to replace the "./function-source" string with the path to your function's source code directory. This directory should contain all the necessary code and dependencies for your function to run and interact with the LLM. The entry point "predict" should match the name of the main function within your code that is responsible for handling incoming requests.

    To deploy this Pulumi program, you will need to set up Pulumi, authenticate with Google Cloud, and run pulumi up from your command line in the directory where this code is saved.

    This Pulumi program creates a scalable and secure infrastructure to run your serverless LLM predictions with low latency by ensuring that the Google Cloud Function has direct access to the same VPC network where your LLM resides. This helps to minimize the network latency and enhance the overall performance of the model predictions.