This guide walks you through creating a real-time inference endpoint in Amazon SageMaker with Friendli Container backend.
By using Friendli Container in your SageMaker pipeline, you benefit from the Friendli Engine’s speed and resource efficiency.
You’ll learn how to create inference endpoints using both the AWS console and the boto3 Python SDK.
Create a Model: Within SageMaker Inference, define a new model by specifying the model artifacts in your S3 bucket and the Friendli Container image from ECR.
Configure the Endpoint: Create a SageMaker Inference endpoint configuration by selecting the instance type and the number of instances required.
Create the Endpoint: Use the configured settings to launch a SageMaker Inference endpoint.
Invoke the Endpoint: Once deployed, send requests to your endpoint to receive inference responses.
You can start creating a model by clicking the Create model button under SageMaker > Inference > Models.
Then, configure the model with the following fields:
Model settings:
Model name: A model name.
IAM role: An IAM role that includes the AmazonSageMakerFullAccess policy.
Container definition 1:
Container input option: Select the “Provide model artifacts and inference image location”.
Model Compression Type:
To use a model in the S3 bucket:
When the model is compressed, select CompressedModel.
Otherwise, select UncompressedModel.
When using a model from the Hugging Face hub, any option would work fine.
Location of inference code image: Specify the ARN of the ECR repo for the Friendli Container.
Location of model artifacts (optional):
To use a model in the S3 bucket: Specify the S3 URI where your model is stored. Ensure the file structure matches the directory format compatible with the --hf-model-name option of the Friendli Container.
When using a model from the Hugging Face hub, you can leave this field empty.
Environment variables:
Always required:
FRIENDLI_CONTAINER_SECRET: Your Friendli Container Secret. Refer to Prepare Your Container Secret to learn how to get the container secret.
SAGEMAKER_MODE: Set this to True.
SAGEMAKER_NUM_DEVICES: Number of devices to use for tensor parallelism degree.
Required when using a model in the S3 bucket:
SAGEMAKER_USE_S3: Set this to True.
Required when using a model from the Hugging Face hub:
SAGEMAKER_HF_MODEL_NAME: The Hugging Face model name (e.g., mistralai/Mistral-7B-Instruct-v0.2).
When the endpoint status becomes “In Service”, you can invoke the endpoint with the following script, after filling in the endpoint name and the region name:
import boto3import jsonendpoint_name = "FILL OUT ENDPOINT NAME"region_name = "FILL OUT AWS REGION"sagemaker_runtime = boto3.client("sagemaker-runtime", region_name=region_name)prompt = "Story title: 3 llamas go for a walk\nSummary: The 3 llamas crossed a bridge and something unexpected happened\n\nOnce upon a time"payload = { "prompt": prompt, "max_tokens": 512, "temperature": 0.8,}response = sagemaker_runtime.invoke_endpoint( EndpointName=endpoint_name, Body=json.dumps(payload), ContentType="application/json",)print(response['Body'].read().decode('utf-8'))
Next, create a SageMaker endpoint using the boto3 Python SDK.
You can achieve this by using the code snippet below. Be sure to fill in the custom fields, customized for your specific use case:
import boto3from sagemaker import get_execution_rolesm_client = boto3.client(service_name='sagemaker')runtime_sm_client = boto3.client(service_name='sagemaker-runtime')account_id = boto3.client('sts').get_caller_identity()['Account']region = boto3.Session().region_namerole = get_execution_role()endpoint_name="FILL OUT ENDPOINT NAME"model_name="FILL OUT MODEL NAME"container = "FILL OUT ECR IMAGE NAME" # <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/IMAGEinstance_type = "ml.g5.12xlarge" # instance typecontainer = { 'Image': container, 'Environment': { "HF_TOKEN": "<HUGGINGFACE ACCESS TOKEN>", "FRIENDLI_CONTAINER_SECRET": "<FRIENDLI CONTAINER SECRET>", "SAGEMAKER_HF_MODEL_NAME": "<HUGGINGFACE MODEL NAME>", # e.g., meta-llama/Meta-Llama-3-8B "SAGEMAKER_MODE": "True", # Should be true "SAGEMAKER_NUM_DEVICES": "4", # Number of GPUs in `instance_type` }}endpoint_config_name = 'FILL OUT ENDPOINT CONFIG NAME'# Create a modelcreate_model_response = sm_client.create_model( ModelName=model_name, ExecutionRoleArn=role, Containers=[container],)# Create an endpoint configurationcreate_endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { 'InstanceType': instance_type, 'InitialInstanceCount': 1, 'InitialVariantWeight': 1, 'ModelName': model_name, 'VariantName': 'AllTraffic', }, ],)endpoint_name = "FILL OUT ENDPOINT NAME"# Create an endpointsm_client.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name,)sm_client.describe_endpoint(EndpointName=endpoint_name)
You can invoke this endpoint by following Step 4.You can now deploy your models with Friendli Container on SageMaker endpoints. Use them for real-time inference.
Last modified on October 26, 2026
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"FriendliAI Docs","description":"Let your team focus on building great AI products. FriendliAI will make sure your AI runs fast, affordable, and reliable at scale. Leave the hassle of AI inference to FriendliAI.","colors":{"primary":"#2A62DB","light":"#4f87ff","dark":"#1e469b"},"logo":{"light":"https://mintcdn.com/friendliai/Xn-EfFlXFvptInk9/static/svgs/logo.svg?fit=max\u0026auto=format\u0026n=Xn-EfFlXFvptInk9\u0026q=85\u0026s=0a04a5dd2152a1258e6d3ce995b70eb0","dark":"https://mintcdn.com/friendliai/OmGyXdVnt91Gfn8z/static/svgs/logo-dark.svg?fit=max\u0026auto=format\u0026n=OmGyXdVnt91Gfn8z\u0026q=85\u0026s=7bc2b761b9c8da66973a9869b7de4f90"},"favicon":"https://mintcdn.com/friendliai/Xn-EfFlXFvptInk9/static/svgs/favicon.svg?fit=max\u0026auto=format\u0026n=Xn-EfFlXFvptInk9\u0026q=85\u0026s=d425e1903adeb917593a54eb3d20c66b","api":{"openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml","params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript","go"],"prefill":true,"autogenerate":true}},"background":{"color":{"light":"#FFFFFF","dark":"#0A101A"}},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://friendli.ai/get-started/dedicated-endpoints"}},"footer":{"socials":{"website":"https://friendli.ai","linkedin":"https://www.linkedin.com/company/friendliai","youtube":"https://www.youtube.com/@friendliai","github":"https://github.com/friendliai","discord":"https://discord.gg/g53ByexhR","x":"https://x.com/friendliai","medium":"https://medium.com/friendliai","facebook":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","slack":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","instagram":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","hacker-news":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","telegram":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","twitter":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","x-twitter":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","earth-americas":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","bluesky":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","threads":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","reddit":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css","podcast":"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css"}},"search":{"prompt":"Search FriendliAI Docs..."},"seo":{"metatags":{"og:site_name":"FriendliAI Docs","twitter:card":"summary_large_image"}},"integrations":{"gtm":{"tagId":"GTM-MVXVF29V"},"telemetry":{"enabled":true}},"banner":{"content":"Try [GLM-5.3](https://friendli.ai/models/zai-org/GLM-5.3) and [GLM-5.3-Flash](https://friendli.ai/models/zai-org/GLM-5.3-Flash) today. To learn more, see the [FriendliAI Blog](https://friendli.ai/blog)."},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"home","href":"https://friendli.ai"},{"anchor":"Models","icon":"brain","href":"https://friendli.ai/models"},{"anchor":"Pricing","icon":"tag","href":"https://friendli.ai/pricing"},{"anchor":"Blog","icon":"newspaper","href":"https://friendli.ai/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"friendliai","hasAudioNarration":false,"actualSubdomain":"friendliai","customDomains":["friendli.ai"],"gitSource":{"type":"github","owner":"friendliai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae42528d9294bdce1b3132c","collectionId":"3a7c9ae7-5685-4c83-83e1-3f8076e4a0b5","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae42528d9294bdce1b3132c"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae42528d9294bdce1b3132c","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Guides","count":44},{"language":"default","tag":"Examples","count":40},{"language":"default","tag":"Reference","count":36},{"language":"default","tag":"Inference","count":30},{"language":"default","tag":"Archive","count":24},{"language":"default","tag":"Dedicated","count":24},{"language":"default","tag":"Friendli Container","count":23},{"language":"default","tag":"Agents","count":14},{"language":"default","tag":"Friendli Dedicated Endpoints","count":12},{"language":"default","tag":"API Reference","count":12}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@friendli.ai","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK5Z5ClqOw.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK5Q5ClqOw.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK7uxQxXAuk.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK5b5ClqOw.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK5a5ClqOw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3yQ6H-1_WfwkMZI_qYPLs1a-t7PU0AbeE9KK5U5Ck.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@font-face{font-family:\"Saans-Light\";src:url(https://docs-assets.friendli.ai/fonts/Saans-Light.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-Light.woff) format(\"woff\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:\"Saans-Regular\";src:url(https://docs-assets.friendli.ai/fonts/Saans-Regular.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-Regular.woff) format(\"woff\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:\"Saans-Medium\";src:url(https://docs-assets.friendli.ai/fonts/Saans-Medium.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-Medium.woff) format(\"woff\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:\"Saans-SemiBold\";src:url(https://docs-assets.friendli.ai/fonts/Saans-SemiBold.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-SemiBold.woff) format(\"woff\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:\"Saans-Bold\";src:url(https://docs-assets.friendli.ai/fonts/Saans-Bold.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-Bold.woff) format(\"woff\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:\"Saans-Heavy\";src:url(https://docs-assets.friendli.ai/fonts/Saans-Heavy.woff2) format(\"woff2\"),url(https://docs-assets.friendli.ai/fonts/Saans-Heavy.woff) format(\"woff\");font-weight:800;font-style:normal;font-display:swap}:root{--gray-300:159 179 200;--primary-accent:#0095ff}.border-gray-100{border-color:#d9e2ec}body{font-family:\"Saans-Regular\",sans-serif}.tracking-tighter{letter-spacing:-.04em}.tracking-normal,.tracking-tight,.tracking-wide,body{letter-spacing:.01em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.prose :where(h1, h2, h3):not(:where([class~=\"not-prose\"], [class~=\"not-prose\"] *)){letter-spacing:0}.font-medium:not(.font-mono):not(.font-mono *),.mint-font-medium:not(.font-mono):not(.font-mono *){font-family:\"Saans-Medium\",sans-serif}.font-semibold:not(.font-mono):not(.font-mono *),.mint-font-semibold:not(.font-mono):not(.font-mono *),.prose :where(a):not(:where([class~=\"not-prose\"], [class~=\"not-prose\"] *)):not(.font-mono):not(.font-mono *),h1:not(.font-mono):not(.font-mono *),h2:not(.font-mono):not(.font-mono *),h3:not(.font-mono):not(.font-mono *),h4:not(.font-mono):not(.font-mono *),h5:not(.font-mono):not(.font-mono *),strong:not(.font-mono):not(.font-mono *){font-family:\"Saans-SemiBold\",sans-serif}.prose :is(p, li, td, dd) svg.icon{vertical-align:-.025em!important}.prose :is(p, li, td, dd) a[href^=http]:not([href*=\"friendli.ai\"]):not(:has(img))::after{content:\"\";display:inline-block;width:.7em;height:.7em;margin-left:.2em;vertical-align:-.05em;background-color:currentColor;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M320%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l82.7%200-201.4%20201.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L448%20109.3%20448%20192c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-160c0-17.7-14.3-32-32-32L320%200zM80%2096C35.8%2096%200%20131.8%200%20176L0%20432c0%2044.2%2035.8%2080%2080%2080l256%200c44.2%200%2080-35.8%2080-80l0-80c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%2080c0%208.8-7.2%2016-16%2016L80%20448c-8.8%200-16-7.2-16-16l0-256c0-8.8%207.2-16%2016-16l80%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L80%2096z%22%2F%3E%3C%2Fsvg%3E) no-repeat center/contain;mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M320%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l82.7%200-201.4%20201.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L448%20109.3%20448%20192c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-160c0-17.7-14.3-32-32-32L320%200zM80%2096C35.8%2096%200%20131.8%200%20176L0%20432c0%2044.2%2035.8%2080%2080%2080l256%200c44.2%200%2080-35.8%2080-80l0-80c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%2080c0%208.8-7.2%2016-16%2016L80%20448c-8.8%200-16-7.2-16-16l0-256c0-8.8%207.2-16%2016-16l80%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L80%2096z%22%2F%3E%3C%2Fsvg%3E) no-repeat center/contain}.font-mono,code:not(.font-mono *),kbd,pre{font-family:\"Geist Mono\",ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}#banner{background-color:var(--primary-accent);font-size:16px;box-shadow:none}#banner>div{margin-top:.625rem;margin-bottom:.625rem}#topbar-cta-button,#topbar-cta-button .bg-primary-dark,#topbar-cta-button a,#topbar-cta-button.bg-primary-dark{background-color:#2a62db!important;color:#fff!important;border:0!important;border-radius:6px;box-shadow:none!important}#topbar-cta-button .bg-primary-dark:hover,#topbar-cta-button a:hover,#topbar-cta-button a:hover .bg-primary-dark,#topbar-cta-button.bg-primary-dark:hover,#topbar-cta-button:hover,#topbar-cta-button:hover .bg-primary-dark,#topbar-cta-button:hover a{background-color:#1a4ec4!important}#topbar-cta-button>.font-medium,#topbar-cta-button>.mint-font-medium{font-family:\"Saans-Medium\",sans-serif}#header>div:not(:first-child){display:none}.card>div>div:last-child>div{margin-top:.5rem}.card [data-component-part=card-content]{font-family:\"Saans-Regular\",sans-serif}.card-group.columns{gap:1rem}.rounded-border-box{padding:28px 44px;border:1px solid #d9e2ec;border-radius:8px;overflow:hidden}.dark .rounded-border-box{border:1px solid #243b53}.dark .rounded-border-box img{border:1px solid #212832}html[data-current-path=\"/\"] .nav-tabs-item[data-active]{text-shadow:none}html[data-current-path=\"/\"] #content-container{max-width:none;padding-inline:1rem}#footer [href=\"https://friendli.ai/?unused-social-placeholder-required-by-zod-4-hidden-by-css\"],html[data-current-path=\"/\"] #header,html[data-current-path=\"/\"] .nav-tabs-item[data-active]>div{display:none}html[data-current-path=\"/\"] #content{margin-top:0}"}],"page":{"pagePath":"archive/container/guides/sagemaker-integration","slug":"/archive/container/guides/sagemaker-integration","pageMetadata":{"title":"Running Friendli Container on SageMaker","sidebarTitle":"SageMaker Integration","description":"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.","og:description":"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.","href":"/archive/container/guides/sagemaker-integration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsxs(_components.p,{children:[`This guide walks you through creating a `,_jsx(_components.a,{href:`https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html`,children:`real-time inference endpoint in Amazon SageMaker`}),` with Friendli Container backend.\nBy using Friendli Container in your SageMaker pipeline, you benefit from the Friendli Engine’s speed and resource efficiency.\nYou’ll learn how to create inference endpoints using both the AWS console and the boto3 Python SDK.`]}),`\n`,_jsx(Heading,{level:`2`,id:`general-workflow`,children:`General Workflow`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=6957c3e3bbcc41bb5af1f1f3a69f32bb`,alt:`SageMaker Workflow`,\"data-og-width\":`3396`,width:`3396`,\"data-og-height\":`1668`,height:`1668`,\"data-path\":`static/images/archive/container/sagemaker-workflow.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=280\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=bfacb603ca9393e1cfb3110c4a7c59c8 280w, https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=560\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=ced24ad3d790482daddb7318838a5bd8 560w, https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=840\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=597d0f57bc47afc623603d1ab90e698e 840w, https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=1100\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=8121eeec1b2c4c83233f6e385654dbe3 1100w, https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=1650\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=d855e28f631a8c7a4b7597e04127c7fb 1650w, https://mintcdn.com/friendliai/A1ICLrZBRuryaD3R/static/images/archive/container/sagemaker-workflow.png?w=2500\u0026fit=max\u0026auto=format\u0026n=A1ICLrZBRuryaD3R\u0026q=85\u0026s=3f9711b8aba5ed54dee794103870818b 2500w`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create a Model`}),`: Within SageMaker Inference, define a new model by specifying the model artifacts in your S3 bucket and the Friendli Container image from ECR.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Configure the Endpoint`}),`: Create a SageMaker Inference endpoint configuration by selecting the instance type and the number of instances required.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create the Endpoint`}),`: Use the configured settings to launch a SageMaker Inference endpoint.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Invoke the Endpoint`}),`: Once deployed, send requests to your endpoint to receive inference responses.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.p,{children:[`Before beginning, you need to push the Friendli Container image to an ECR repository on AWS.\nFirst, prepare the Friendli Container image by following the instructions in `,_jsx(_components.a,{href:`/archive/container/guides/quickstart#pull-the-friendli-container-image`,children:_jsx(_components.strong,{children:`Pull the Friendli Container Image`})}),`.\nThen, tag and push the image to the Amazon ECR repository as guided in `,_jsx(_components.a,{href:`https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html`,children:_jsx(_components.strong,{children:`Pushing a Docker image to an Amazon ECR private repository`})}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`using-the-aws-console`,children:`Using the AWS Console`}),`\n`,_jsx(_components.p,{children:`Follow these step-by-step instructions to create an inference endpoint using the AWS Console.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-creating-a-model`,children:`Step 1: Creating a Model`}),`\n`,_jsxs(_components.p,{children:[`You can start creating a model by clicking the `,_jsx(_components.strong,{children:`Create model`}),` button under `,_jsx(_components.strong,{children:`SageMaker > Inference > Models`}),`.\nThen, configure the model with the following fields:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Model settings`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Model name`}),`: A model name.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`IAM role`}),`: An IAM role that includes the `,_jsx(_components.code,{children:`AmazonSageMakerFullAccess`}),` policy.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Container definition 1`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Container input option`}),`: Select the “Provide model artifacts and inference image location”.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Model Compression Type`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`To use a model in the S3 bucket:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`When the model is compressed, select `,_jsx(_components.strong,{children:`CompressedModel`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Otherwise, select `,_jsx(_components.strong,{children:`UncompressedModel`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.li,{children:`When using a model from the Hugging Face hub, any option would work fine.`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Location of inference code image`}),`: Specify the ARN of the ECR repo for the Friendli Container.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Location of model artifacts`}),` (optional):`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`To use a model in the S3 bucket: Specify the S3 URI where your model is stored. Ensure the file structure matches the directory format compatible with the `,_jsx(_components.code,{children:`--hf-model-name`}),` option of the Friendli Container.`]}),`\n`,_jsx(_components.li,{children:`When using a model from the Hugging Face hub, you can leave this field empty.`}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Environment variables`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Always required:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`FRIENDLI_CONTAINER_SECRET`}),`: Your Friendli Container Secret. Refer to `,_jsx(_components.a,{href:`/archive/container/guides/quickstart#prepare-your-container-secret`,children:_jsx(_components.strong,{children:`Prepare Your Container Secret`})}),` to learn how to get the container secret.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`SAGEMAKER_MODE`}),`: Set this to `,_jsx(_components.code,{children:`True`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`SAGEMAKER_NUM_DEVICES`}),`: Number of devices to use for tensor parallelism degree.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Required when using a model in the S3 bucket:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`SAGEMAKER_USE_S3`}),`: Set this to `,_jsx(_components.code,{children:`True`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Required when using a model from the Hugging Face hub:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`SAGEMAKER_HF_MODEL_NAME`}),`: The Hugging Face model name (e.g., `,_jsx(_components.code,{children:`mistralai/Mistral-7B-Instruct-v0.2`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`For private or gated model repos:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`HF_TOKEN`}),`: The Hugging Face secret access token.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-creating-an-endpoint-configuration`,children:`Step 2: Creating an Endpoint Configuration`}),`\n`,_jsxs(_components.p,{children:[`You can start by clicking the `,_jsx(_components.strong,{children:`Create endpoint configuration`}),` button under `,_jsx(_components.strong,{children:`SageMaker > Inference > Endpoint configurations`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Endpoint configuration`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Endpoint configuration name`}),`: The name of this endpoint configuration.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Type of endpoint`}),`: For real-time inference, select `,_jsx(_components.strong,{children:`Provisioned`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Variants`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`To create a “Production” variant, click `,_jsx(_components.strong,{children:`Create production variant`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select the model that you have created in `,_jsx(_components.a,{href:`#step-1-creating-a-model`,children:_jsx(_components.strong,{children:`Step 1`})}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Configure the instance type and count by clicking `,_jsx(_components.strong,{children:`Edit`}),` in the Actions column.`]}),`\n`,_jsxs(_components.li,{children:[`Create the endpoint configuration by clicking `,_jsx(_components.strong,{children:`Create endpoint configuration`}),`.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-creating-a-sagemaker-inference-endpoint`,children:`Step 3: Creating a SageMaker Inference Endpoint`}),`\n`,_jsxs(_components.p,{children:[`You can start by clicking the `,_jsx(_components.strong,{children:`Create endpoint`}),` button under `,_jsx(_components.strong,{children:`SageMaker > Inference > Endpoints`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Use an existing endpoint configuration`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select the endpoint configuration created in `,_jsx(_components.a,{href:`#step-2-creating-an-endpoint-configuration`,children:_jsx(_components.strong,{children:`Step 2`})}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Finish by clicking the `,_jsx(_components.strong,{children:`Create endpoint`}),` button.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-4-invoking-the-endpoint`,children:`Step 4: Invoking the Endpoint`}),`\n`,_jsx(_components.p,{children:`When the endpoint status becomes “In Service”, you can invoke the endpoint with the following script, after filling in the endpoint name and the region name:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` json`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"FILL OUT ENDPOINT NAME\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`region_name `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"FILL OUT AWS REGION\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sagemaker_runtime `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.client(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sagemaker-runtime\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`region_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`region_name)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`prompt `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Story title: 3 llamas go for a walk`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Summary: The 3 llamas crossed a bridge and something unexpected happened`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Once upon a time\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`payload `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: prompt,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"max_tokens\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`512`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"temperature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.8`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sagemaker_runtime.invoke_endpoint(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` EndpointName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Body`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`json.dumps(payload),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` ContentType`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(response[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Body'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].read().decode(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'utf-8'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`using-the-boto3-sdk`,children:`Using the boto3 SDK`}),`\n`,_jsx(_components.p,{children:`Next, create a SageMaker endpoint using the boto3 Python SDK.\nYou can achieve this by using the code snippet below. Be sure to fill in the custom fields, customized for your specific use case:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`59`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`59`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sagemaker `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` get_execution_role`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sm_client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.client(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`service_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sagemaker'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`runtime_sm_client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.client(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`service_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sagemaker-runtime'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`account_id `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.client(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sts'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).get_caller_identity()[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Account'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`region `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` boto3.Session().region_name`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`role `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` get_execution_role()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"FILL OUT ENDPOINT NAME\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`model_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"FILL OUT MODEL NAME\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`container `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"FILL OUT ECR IMAGE NAME\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # \u003cACCOUNT>.dkr.ecr.\u003cREGION>.amazonaws.com/IMAGE`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`instance_type `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ml.g5.12xlarge\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # instance type`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`container `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Image'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: container,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Environment'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"HF_TOKEN\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cHUGGINGFACE ACCESS TOKEN>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"FRIENDLI_CONTAINER_SECRET\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cFRIENDLI CONTAINER SECRET>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"SAGEMAKER_HF_MODEL_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cHUGGINGFACE MODEL NAME>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# e.g., meta-llama/Meta-Llama-3-8B`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"SAGEMAKER_MODE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"True\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Should be true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"SAGEMAKER_NUM_DEVICES\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\"# Number of GPUs in `instance_type`\"})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_config_name `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'FILL OUT ENDPOINT CONFIG NAME'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Create a model`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_model_response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sm_client.create_model(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` ModelName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`model_name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` ExecutionRoleArn`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`role,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` Containers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[container],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Create an endpoint configuration`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`create_endpoint_config_response `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` sm_client.create_endpoint_config(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` EndpointConfigName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_config_name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` ProductionVariants`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'InstanceType'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: instance_type,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'InitialInstanceCount'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'InitialVariantWeight'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'ModelName'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: model_name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'VariantName'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'AllTraffic'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"FILL OUT ENDPOINT NAME\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Create an endpoint`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sm_client.create_endpoint(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` EndpointName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` EndpointConfigName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_config_name,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`sm_client.describe_endpoint(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`EndpointName`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`endpoint_name)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`You can invoke this endpoint by following `,_jsx(_components.a,{href:`#step-4-invoking-the-endpoint`,children:_jsx(_components.strong,{children:`Step 4`})}),`.`]}),`\n`,_jsx(_components.p,{children:`You can now deploy your models with Friendli Container on SageMaker endpoints. Use them for real-time inference.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Running Friendli Container on SageMaker","sidebarTitle":"SageMaker Integration","description":"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.","og:description":"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.","href":"/archive/container/guides/sagemaker-integration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Introduction","slug":"introduction","depth":2,"children":[]},{"title":"General Workflow","slug":"general-workflow","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Using the AWS Console","slug":"using-the-aws-console","depth":2,"children":[{"title":"Step 1: Creating a Model","slug":"step-1-creating-a-model","depth":3,"children":[]},{"title":"Step 2: Creating an Endpoint Configuration","slug":"step-2-creating-an-endpoint-configuration","depth":3,"children":[]},{"title":"Step 3: Creating a SageMaker Inference Endpoint","slug":"step-3-creating-a-sagemaker-inference-endpoint","depth":3,"children":[]},{"title":"Step 4: Invoking the Endpoint","slug":"step-4-invoking-the-endpoint","depth":3,"children":[]}]},{"title":"Using the boto3 SDK","slug":"using-the-boto3-sdk","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/friendliai/13360a4393f88fc7/script.js"],"subdomain":"friendliai","siteName":"FriendliAI Docs","title":"Running Friendli Container on SageMaker - FriendliAI Docs","contextualStarterQuestions":[{"_id":"6adfcd1872c53fc64673c36f","deploymentId":"66d1620afd71f66abaace95b","questionText":"What are Friendli Container benefits?","status":"active","generatedBy":"contextual","path":"archive/container/guides/sagemaker-integration","createdAt":"2026-10-26T21:58:48.701Z","updatedAt":"2026-10-26T21:58:48.701Z","__v":0},{"_id":"6adfcd1872c53fc64673c36e","deploymentId":"66d1620afd71f66abaace95b","questionText":"How do I set up SageMaker endpoints?","status":"active","generatedBy":"contextual","path":"archive/container/guides/sagemaker-integration","createdAt":"2026-10-26T21:58:48.701Z","updatedAt":"2026-10-26T21:58:48.701Z","__v":0},{"_id":"6adfcd1872c53fc64673c370","deploymentId":"66d1620afd71f66abaace95b","questionText":"Can I use the AWS console or SDK?","status":"active","generatedBy":"contextual","path":"archive/container/guides/sagemaker-integration","createdAt":"2026-10-26T21:58:48.701Z","updatedAt":"2026-10-26T21:58:48.701Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T21:58:20.564Z","gitLastModified":"2026-10-26T21:57:11.000Z","originalFileLocation":"archive/container/guides/sagemaker-integration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FriendliAI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Running Friendli Container on SageMaker - FriendliAI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FriendliAI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://friendliai.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Running+Friendli+Container+on+SageMaker\u0026amp;description=Create+a+real-time+inference+endpoint+in+Amazon+SageMaker+with+Friendli+Container.+Use+Friendli+Engine+for+faster%2C+cost-efficient+serving.\u0026amp;theme=8d0579d800ace9672a43ac47\u0026amp;signature=09866337aa8f22ffc453e973aea20f745427780cc88b4768d17979d2fe799619\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Running Friendli Container on SageMaker - FriendliAI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://friendliai.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Running+Friendli+Container+on+SageMaker\u0026amp;description=Create+a+real-time+inference+endpoint+in+Amazon+SageMaker+with+Friendli+Container.+Use+Friendli+Engine+for+faster%2C+cost-efficient+serving.\u0026amp;theme=8d0579d800ace9672a43ac47\u0026amp;signature=09866337aa8f22ffc453e973aea20f745427780cc88b4768d17979d2fe799619\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/friendliai/f_6Xi29vsyX4mJlf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FriendliAI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2A62DB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/archive/container/guides/sagemaker-integration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://friendli.ai/#organization\",\"name\":\"FriendliAI Docs\",\"url\":\"https://friendli.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/friendliai/Xn-EfFlXFvptInk9/static/svgs/logo.svg?fit=max\u0026auto=format\u0026n=Xn-EfFlXFvptInk9\u0026q=85\u0026s=0a04a5dd2152a1258e6d3ce995b70eb0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://friendli.ai/docs#website\",\"name\":\"FriendliAI Docs\",\"url\":\"https://friendli.ai/docs\",\"publisher\":{\"@id\":\"https://friendli.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration#webpage\",\"url\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration\",\"name\":\"Running Friendli Container on SageMaker\",\"description\":\"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\",\"dateModified\":\"2026-10-26T21:57:11.000Z\",\"isPartOf\":{\"@id\":\"https://friendli.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Friendli Container\",\"item\":\"https://friendli.ai/docs/archive/container/guides/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guides\",\"item\":\"https://friendli.ai/docs/archive/container/guides/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Running Friendli Container on SageMaker\",\"item\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration#article\",\"headline\":\"Running Friendli Container on SageMaker\",\"name\":\"Running Friendli Container on SageMaker\",\"description\":\"Create a real-time inference endpoint in Amazon SageMaker with Friendli Container. Use Friendli Engine for faster, cost-efficient serving.\",\"url\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration\",\"mainEntityOfPage\":{\"@id\":\"https://friendli.ai/docs/archive/container/guides/sagemaker-integration#webpage\"},\"dateModified\":\"2026-10-26T21:57:11.000Z\",\"publisher\":{\"@id\":\"https://friendli.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://friendli.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FriendliAI Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FriendliAI Docs","nav":{"global":{"anchors":[{"anchor":"Home","icon":"home","href":"https://friendli.ai"},{"anchor":"Models","icon":"brain","href":"https://friendli.ai/models"},{"anchor":"Pricing","icon":"tag","href":"https://friendli.ai/pricing"},{"anchor":"Blog","icon":"newspaper","href":"https://friendli.ai/blog"}]},"tabs":[{"tab":"Home","hidden":true,"searchable":true,"pages":[{"title":"Home","href":""}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/introduction/overview"}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/models/overview"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/openapi/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Archive","hidden":true,"searchable":true,"groups":[{"group":"Friendli Container","pages":[{"group":"Guides","icon":"book-open","expanded":true,"pages":[{"title":"Introducing Friendli Container","sidebarTitle":"Introduction","description":"Deploy generative AI models on your own infrastructure with Friendli Container. Full control over GPU resources, networking, and scaling.","href":"/archive/container/guides/introduction"},{"title":"QuickStart: Friendli Container Trial","sidebarTitle":"QuickStart","description":"Get started with Friendli Container trial. Access the registry, configure your secret, launch the container, and monitor with Grafana.","href":"/archive/container/guides/quickstart"},{"title":"Configuration","sidebarTitle":"Configuration","description":"Configuration reference for Friendli Container: how to pass launch options, serve across multiple GPUs, enable quantization, and run MoE models.","href":"/archive/container/guides/configuration"},{"title":"CUDA Compatibility","sidebarTitle":"CUDA Compatibility","description":"The Friendli Engine supports CUDA-enabled NVIDIA GPUs, which means it relies on a specific version of CUDA and necessitates proper CUDA compute compatibilities.","href":"/archive/container/guides/cuda-compatibility"},{"title":"Serving Multi-LoRA Models","sidebarTitle":"Multi-LoRA Serving","description":"Serve multiple LoRA-adapted LLMs simultaneously with Friendli Container without additional GPU resources. No retraining needed for task-specific models.","href":"/archive/container/guides/serving-multi-lora-models"},{"title":"Serving MoE Models","sidebarTitle":"MoE Models Serving","description":"Serve Mixture of Experts (MoE) models like Mixtral 8x7B with Friendli Container. Covers policy search setup and multi-GPU Docker configuration.","href":"/archive/container/guides/serving-moe-models"},{"title":"Quantization","sidebarTitle":"Quantization","description":"Learn how to serve pre-quantized models or perform online quantization with Friendli Container to reduce memory and speed up inference.","href":"/archive/container/guides/quantization"},{"title":"Optimize with Policy Search","sidebarTitle":"Optimize with Policy Search","description":"Boost inference throughput by up to 2x for MoE and quantized models by running execution policy search in Friendli Container for production.","href":"/archive/container/guides/optimizing-inference-with-policy-search"},{"title":"Running Friendli Container on SageMaker","sidebarTitle":"SageMaker Integration","href":"/archive/container/guides/sagemaker-integration"},{"title":"Deploy Friendli Container as Amazon EKS Add-On","sidebarTitle":"AWS EKS Add-On","description":"Deploy Friendli Container on Amazon EKS using the official AWS EKS Add-On. Set up GPU nodes, install the add-on, and run model inference.","href":"/archive/container/guides/eks-quickstart"},{"title":"Inference with gRPC","sidebarTitle":"Inference with gRPC","description":"Run a gRPC inference server with Friendli Container and send requests using the Friendli Python SDK. Includes setup, configuration, and code examples.","href":"/archive/container/guides/inference-with-grpc"},{"title":"Observability for Friendli Container","sidebarTitle":"Monitoring","description":"Observability is an integral part of DevOps. To support this, Friendli Container exports internal metrics in a Prometheus text format.","href":"/archive/container/guides/monitoring"}]},{"group":"API Reference","icon":"code","expanded":true,"pages":[{"title":"Container Overview","sidebarTitle":"Overview","description":"API reference for Friendli Container. Browse self-hosted inference endpoints for chat, responses, completions, messages, tokenization, images, and audio transcription.","href":"/openapi/container/overview"},{"group":"Inference","pages":[{"title":"Container Chat Completions","description":"Generate a model response from a list of messages comprising a conversation. Compatible with the OpenAI Chat Completions API, with support for streaming, tool calls, and structured outputs.","deprecated":null,"version":null,"sidebarTitle":"Chat Completions","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/chat/completions","href":"/openapi/container/chat-completions"},{"title":"Container Responses","description":"Generate a model response from text or image inputs. Follows the OpenAI Responses API format, with support for streaming, function and custom tool calls, structured outputs, and reasoning controls.","deprecated":null,"version":null,"sidebarTitle":"Responses","tag":"Beta","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/responses","href":"/openapi/container/responses"},{"title":"Container Messages","description":"Generate a model response from a conversation using the Anthropic Messages API format. Supports streaming, function tool calls, and extended thinking.","deprecated":null,"version":null,"sidebarTitle":"Messages","tag":"Beta","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/messages","href":"/openapi/container/messages"},{"title":"Container Completions","description":"Generate a text completion from a prompt or token sequence. Supports streaming and configurable generation parameters.","deprecated":null,"version":null,"sidebarTitle":"Completions","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/completions","href":"/openapi/container/completions"},{"title":"Container Text Classification","description":"Classify text input into categories with per-class probabilities.","deprecated":null,"version":null,"sidebarTitle":"Text Classification","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /classify","href":"/openapi/container/text-classification"},{"title":"Container Tokenization","description":"Convert text input into token IDs.","deprecated":null,"version":null,"sidebarTitle":"Tokenization","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/tokenize","href":"/openapi/container/tokenization"},{"title":"Container Detokenization","description":"Convert a list of token IDs back into text.","deprecated":null,"version":null,"sidebarTitle":"Detokenization","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/detokenize","href":"/openapi/container/detokenization"},{"title":"Container Image Generations","description":"Generate an image from a text prompt.","deprecated":null,"version":null,"sidebarTitle":"Image Generations","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/images/generations","href":"/openapi/container/image-generations"},{"title":"Container Image Edits","description":"Edit an image based on a text prompt.","deprecated":null,"version":null,"sidebarTitle":"Image Edits","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/images/edits","href":"/openapi/container/image-edits"},{"title":"Container Audio Transcriptions","description":"Transcribe an audio file into text.","deprecated":null,"version":null,"sidebarTitle":"Audio Transcriptions","openapi":"https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /v1/audio/transcriptions","href":"/openapi/container/audio-transcriptions"}]}]}]},{"group":"Friendli Python SDK","pages":[{"title":"Friendli Python SDK","sidebarTitle":"How-To","icon":"file-lines","description":"Install and use the Friendli Python SDK to access Model APIs, Dedicated Endpoints, and Container. Covers chat, completions, streaming, and async usage.","href":"/archive/python-sdk/how-to"}]}]}]},"basePath":"","title":"Running Friendli Container on SageMaker - FriendliAI Docs","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":["10e4515597","a74be98ba7"],"chunks":["BannerMarkdown-y1yOetA_.js","dist-DOFIgHLg.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cc5SnnvQ.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","zoom-image-lightbox-DBRtNxbY.js","lightbox-handle-r17bVUz3.js"]}