

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Amazon Bedrock Marketplace
<a name="amazon-bedrock-marketplace"></a>

Utilisez Amazon Bedrock Marketplace pour découvrir, tester et utiliser plus de 100 modèles de base populaires, émergents et spécialisés (FMs). Ces modèles s’ajoutent à la sélection de modèles de pointe sur Amazon Bedrock.

Vous pouvez découvrir les modèles dans un seul catalogue. Après avoir découvert le modèle, vous pouvez vous y abonner et le déployer sur un point de terminaison géré par l' SageMaker IA.

Vous pouvez accéder aux modèles que vous avez déployés via Amazon Bedrock. APIs L'accès aux modèles via Amazon Bedrock vous APIs permet de les utiliser de manière native avec les outils d'Amazon Bedrock tels que les agents, les bases de connaissances et les garde-corps.

Pour consulter la liste des modèles Amazon Bedrock Marketplace, consultez [Compatibilité de modèle](bedrock-marketplace-model-reference.md).

Vous pouvez accéder aux modèles Amazon Bedrock Marketplace depuis :
+ Opération [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)
+ Opération [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)
+ Console Amazon Bedrock

Pour plus d’informations sur la configuration d’Amazon Bedrock Marketplace, consultez [Configuration d’Amazon Bedrock Marketplace](setup-amazon-bedrock-marketplace.md). Pour plus d’informations sur les conditions de licence pour les modèles individuels, consultez [Modèles tiers sans serveur sur Amazon Bedrock](https://aws.amazon.com/legal/bedrock/third-party-models/).

**Important**  
Après avoir configuré Amazon Bedrock Marketplace, vous pouvez soit utiliser le code que nous vous fournissons pour l’ensemble de votre flux de travail, soit commencer à utiliser la AWS Management Console.  
Pour le code qui exécute un end-to-end flux de travail, voir[End-to-end flux de travail](bedrock-marketplace-end-to-end-workflow.md). Pour commencer à utiliser la AWS Management Console, consultez [Découverte d’un modèle](bedrock-marketplace-discover-a-model.md).

**Topics**
+ [Configuration d’Amazon Bedrock Marketplace](setup-amazon-bedrock-marketplace.md)
+ [Contrôle de l’accès aux modèles Amazon Bedrock Marketplace](control-amazon-bedrock-marketplace.md)
+ [End-to-end flux de travail](bedrock-marketplace-end-to-end-workflow.md)
+ [Découverte d’un modèle](bedrock-marketplace-discover-a-model.md)
+ [Abonnement à un modèle](bedrock-marketplace-subscribe-to-a-model.md)
+ [Déployer un modèle](bedrock-marketplace-deploy-a-model.md)
+ [Apportez votre propre point de terminaison](bedrock-marketplace-bring-your-own-endpoint.md)
+ [Appeler le point de terminaison](bedrock-marketplace-call-the-endpoint.md)
+ [Gestion de vos points de terminaison](bedrock-marketplace-manage-your-endpoints.md)
+ [Compatibilité de modèle](bedrock-marketplace-model-reference.md)

# Configuration d’Amazon Bedrock Marketplace
<a name="setup-amazon-bedrock-marketplace"></a>

Vous pouvez utiliser la [politique d'accès complet d'Amazon Bedrock](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html) pour accorder des autorisations à l' SageMaker IA. Nous vous recommandons d’utiliser la politique gérée, mais si vous ne pouvez pas utiliser la politique gérée, assurez-vous que votre rôle IAM dispose des autorisations suivantes.

Les autorisations fournies par la stratégie d’accès complet à Amazon Bedrock sont les suivantes.

------
#### [ JSON ]

****  

```
{
    	"Version":"2012-10-17",		 	 	 
    	"Statement": [
    		{
    			"Sid": "BedrockAll",
    			"Effect": "Allow",
    			"Action": [
    				"bedrock:*"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "DescribeKey",
    			"Effect": "Allow",
    			"Action": [
    				"kms:DescribeKey"
    			],
    			"Resource": "arn:*:kms:*:::*"
    		},
    		{
    			"Sid": "APIsWithAllResourceAccess",
    			"Effect": "Allow",
    			"Action": [
    				"iam:ListRoles",
    				"ec2:DescribeVpcs",
    				"ec2:DescribeSubnets",
    				"ec2:DescribeSecurityGroups"
    			],
    			"Resource": "*"
    		},
    		{
    			"Sid": "MarketplaceModelEndpointMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:CreateEndpoint",
    				"sagemaker:CreateEndpointConfig",
    				"sagemaker:CreateModel",
    				"sagemaker:CreateInferenceComponent",
    				"sagemaker:DeleteInferenceComponent",
    				"sagemaker:DeleteEndpoint",
    				"sagemaker:UpdateEndpoint"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointTaggingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:AddTags",
    				"sagemaker:DeleteTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			]
    		},
    		{
    			"Sid": "MarketplaceModelEndpointNonMutatingAPIs",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeEndpoint",
    				"sagemaker:DescribeEndpointConfig",
    				"sagemaker:DescribeModel",
    				"sagemaker:DescribeInferenceComponent",
    				"sagemaker:ListEndpoints",
    				"sagemaker:ListTags"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*",
    				"arn:aws:sagemaker:*:*:endpoint-config/*",
    				"arn:aws:sagemaker:*:*:model/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "BedrockEndpointInvokingOperations",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:InvokeEndpoint",
    				"sagemaker:InvokeEndpointWithResponseStream"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:*:endpoint/*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"aws:CalledViaLast": "bedrock.amazonaws.com"
    				}
    			}
    		},
    		{
    			"Sid": "DiscoveringMarketplaceModel",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:DescribeHubContent"
    			],
    			"Resource": [
    				"arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
    				"arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    			]
    		},
    		{
    			"Sid": "AllowMarketplaceModelsListing",
    			"Effect": "Allow",
    			"Action": [
    				"sagemaker:ListHubContents"
    			],
    			"Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
    		},
    		{
    			"Sid": "RetrieveSubscribedMarketplaceLicenses",
    			"Effect": "Allow",
    			"Action": [
    				"license-manager:ListReceivedLicenses"
    			],
    			"Resource": [
    				"*"
    			]
    		},
    		{
    			"Sid": "PassRoleToSageMaker",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": [
    				"arn:aws:iam::*:role/*Sagemaker*ForBedrock*"
    			],
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"sagemaker.amazonaws.com",
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		},
    		{
    			"Sid": "PassRoleToBedrock",
    			"Effect": "Allow",
    			"Action": [
    				"iam:PassRole"
    			],
    			"Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
    			"Condition": {
    				"StringEquals": {
    					"iam:PassedToService": [
    						"bedrock.amazonaws.com"
    					]
    				}
    			}
    		}
    	]
    }
```

------

**Important**  
La stratégie d’accès complet à Amazon Bedrock ne fournit des autorisations qu’à l’API Amazon Bedrock. Pour utiliser Amazon Bedrock dans leAWS Management Console, votre rôle IAM doit également disposer des autorisations suivantes :  

```
{
        "Sid": "AllowConsoleS3AccessForBedrockMarketplace",
        "Effect": "Allow",
        "Action": [
          "s3:GetObject",
          "s3:GetBucketCORS",
          "s3:ListBucket",
          "s3:ListBucketVersions",
          "s3:GetBucketLocation"
        ],
        "Resource": "*"
    }
```

Si vous rédigez votre propre politique, vous devez inclure la déclaration de politique autorisant l’action Amazon Bedrock Marketplace pour la ressource. Par exemple, la politique suivante autorise Amazon Bedrock à utiliser l’opération `InvokeModel` pour un modèle que vous avez déployé sur un point de terminaison.

------
#### [ JSON ]

****  

```
{
    
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "BedrockAll",
                "Effect": "Allow",
                "Action": [
                    "bedrock:InvokeModel"
                ],
                "Resource": [
                    "arn:aws:bedrock:us-east-1:111122223333:marketplace/model-endpoint/all-access"
                ]
            },
            {
                "Sid": "VisualEditor1",
                "Effect": "Allow",
                "Action": ["sagemaker:InvokeEndpoint"],
                "Resource": "arn:aws:sagemaker:us-east-1:111122223333:endpoint/*",
                "Condition": {
                    "StringEquals": {
                        "aws:ResourceTag/project": "example-project-id",
                        "aws:CalledViaLast": "bedrock.amazonaws.com"
                    }
                }
            }
        ]
    
}
```

------

Pour plus d’informations sur la configuration d’Amazon Bedrock, consultez [Démarrage rapide](getting-started.md).

Vous souhaiterez peut-être utiliser une AWS Key Management Service clé pour chiffrer le point de terminaison sur lequel vous avez déployé le modèle. Vous devez modifier la politique précédente, vous devez avoir l’autorisation d’utiliser la clé AWS KMS.

La AWS KMS clé doit également disposer des autorisations nécessaires pour chiffrer le point de terminaison. Vous devez modifier la stratégie de ressources AWS KMS pour chiffrer le point de terminaison. Pour plus d'informations sur la modification de la stratégie, consultez la section [Utilisation des stratégies IAM avec AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies).

Votre AWS KMS clé doit également comporter des `CreateGrant` autorisations. Voici un exemple des autorisations qui doivent figurer dans la stratégie de clé.

```
{
"Sid": "Allow access for AmazonSageMaker-ExecutionRole",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/SagemakerExecutionRole"
},
"Action": "kms:CreateGrant",
"Resource": "*"
}
```

Pour plus d'informations sur l'octroi d'autorisations de création de subventions, consultez la section [Octroi CreateGrant d'autorisations](https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-creategrant).

# Contrôle de l’accès aux modèles Amazon Bedrock Marketplace
<a name="control-amazon-bedrock-marketplace"></a>

Vous pouvez utiliser la [politique d'accès complet d'Amazon Bedrock](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html) pour accorder des autorisations à l' SageMaker IA. Pour empêcher les utilisateurs d’accéder à des modèles spécifiques de Bedrock Marketplace tout en conservant l’accès à tous les autres modèles, utilisez une politique de refus. La politique suivante explique comment refuser l’accès à un modèle spécifique.

Refus d’accès à des modèles spécifiques :

**Important**  
Cette politique refuse explicitement l’accès au modèle spécifié tout en autorisant l’accès à tous les autres modèles de Bedrock Marketplace (en supposant que les autres autorisations nécessaires soient en place).

**Autorisation d’accès à des modèles spécifiques uniquement**

Pour empêcher les utilisateurs d’accéder uniquement à des modèles Bedrock Marketplace spécifiques, utilisez une politique d’autorisation avec des spécifications de modèle explicites. La politique suivante explique comment autoriser l’accès à des modèles spécifiques uniquement :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MarketplaceModelAllow",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateEndpoint",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateModel",
                "sagemaker:DeleteEndpoint",
                "sagemaker:UpdateEndpoint"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:endpoint/*",
                "arn:aws:sagemaker:*:*:endpoint-config/*",
                "arn:aws:sagemaker:*:*:model/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaLast": "bedrock.amazonaws.com",
                    "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                },
                "StringLike": {
                    "aws:ResourceTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/<model-id-to-allow>/*"
                }
            }
        },
        {
            "Sid": "BedrockEndpointTaggingOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:AddTags",
                "sagemaker:DeleteTags"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:endpoint/*",
                "arn:aws:sagemaker:*:*:endpoint-config/*",
                "arn:aws:sagemaker:*:*:model/*"
            ],
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/<model-id-to-allow>/*"
                }
            }
        }
    ]
}
```

------

Cette politique autorise uniquement l’accès au modèle spécifié et interdit l’accès à tous les autres modèles. Si vous basez votre politique sur `AmazonBedrockFullAccess`, cela devrait remplacer les déclarations `MarketplaceModelEndpointMutatingAPIs` et `BedrockEndpointTaggingOperations`.

# End-to-end flux de travail
<a name="bedrock-marketplace-end-to-end-workflow"></a>

Après avoir configuré Amazon Bedrock Marketplace, vous pouvez utiliser l'exemple de code suivant dans votre end-to-end flux de travail. Si vous avez besoin de contexte supplémentaires vous pouvez lire les sections qui suivent le code.

```
from botocore.exceptions import ClientError
import pprint
from datetime import datetime
import json
import time
import sys
import boto3
import argparse

SM_HUB_NAME = 'SageMakerPublicHub'
DELIMITER = "\n\n\n\n================================================================================================"


class Bedrock:
    def __init__(self, region_name) -> None:
        self.region_name = region_name
        self.boto3_session = boto3.session.Session()
        self.sagemaker_client = self.boto3_session.client(
            service_name='sagemaker',
            region_name=self.region_name,
        )

        self.bedrock_client = self.boto3_session.client(
            service_name='bedrock',
            region_name=self.region_name
        )
        self.endpoint_paginator = self.bedrock_client.get_paginator('list_marketplace_model_endpoints')
        self.bedrock_runtime_client = self.boto3_session.client(
            service_name='bedrock-runtime',
            region_name=self.region_name)

    def list_models(self):
        SM_RESPONSE_FIELD_NAME = 'HubContentSummaries'
        SM_HUB_CONTENT_TYPE = 'Model'

        response = self.sagemaker_client.list_hub_contents(
            MaxResults=100,
            HubName=SM_HUB_NAME,
            HubContentType=SM_HUB_CONTENT_TYPE
        )

        all_models = Bedrock.extract_bedrock_models(response[SM_RESPONSE_FIELD_NAME])

        while ("NextToken" in response) and response["NextToken"]:
            response = self.sagemaker_client.list_hub_contents(
                MaxResults=100,
                HubName=SM_HUB_NAME,
                HubContentType=SM_HUB_CONTENT_TYPE,
                NextToken=response['NextToken']
            )
            extracted_models = Bedrock.extract_bedrock_models(response[SM_RESPONSE_FIELD_NAME])
            if not extracted_models:
                # Bedrock enabled models always appear first, therefore can return when results are empty.
                return all_models
            all_models.extend(extracted_models)
            time.sleep(1)
        return all_models

    def describe_model(self, hub_name: str, hub_content_name: str):
        return self.sagemaker_client.describe_hub_content(
            HubName=hub_name,
            HubContentType='Model',
            HubContentName=hub_content_name
        )

    def list_endpoints(self):
        for response in self.endpoint_paginator.paginate():
            for endpoint in response['marketplaceModelEndpoints']:
                yield endpoint

    def list_endpoints_for_model(self, hub_content_arn: str):
        for response in self.endpoint_paginator.paginate(
                modelSourceEquals=hub_content_arn):
            for endpoint in response['marketplaceModelEndpoints']:
                yield endpoint

    # acceptEula needed only for gated models
    def create_endpoint(self, model, endpoint_config, endpoint_name: str, tags = []):
        model_arn = model['HubContentArn']
        if self._requires_eula(model=model):
            return self.bedrock_client.create_marketplace_model_endpoint(
                modelSourceIdentifier=model_arn,
                endpointConfig=endpoint_config,
                endpointName=endpoint_name,
                acceptEula=True,
                tags=tags
            )
        else:
            return self.bedrock_client.create_marketplace_model_endpoint(
                modelSourceIdentifier=model_arn,
                endpointConfig=endpoint_config,
                endpointName=endpoint_name,
                tags=tags
            )

    def delete_endpoint(self, endpoint_arn: str):
        return self.bedrock_client.delete_marketplace_model_endpoint(endpointArn=endpoint_arn)

    def describe_endpoint(self, endpoint_arn: str):
        return self.bedrock_client.get_marketplace_model_endpoint(endpointArn=endpoint_arn)['marketplaceModelEndpoint']

    def update_endpoint(self, endpoint_arn: str, endpoint_config):
        return self.bedrock_client.update_marketplace_model_endpoint(endpointArn=endpoint_arn,
                                                                 endpointConfig=endpoint_config)

    def register_endpoint(self, endpoint_arn: str, model_arn: str):
        return self.bedrock_client.register_marketplace_model_endpoint(endpointIdentifier=endpoint_arn,
                                                                       modelSourceIdentifier=model_arn)['marketplaceModelEndpoint']['endpointArn']

    def deregister_endpoint(self, endpoint_arn: str):
        return self.bedrock_client.deregister_marketplace_model_endpoint(endpointArn=endpoint_arn)

    def invoke(self, endpoint_arn: str, body):
        response = self.bedrock_runtime_client.invoke_model(modelId=endpoint_arn, body=body,
                                                            contentType='application/json')
        return json.loads(response["body"].read())

    def invoke_with_stream(self, endpoint_arn: str, body):
        return self.bedrock_runtime_client.invoke_model_with_response_stream(modelId=endpoint_arn, body=body)

    def converse(self, endpoint_arn: str, conversation):
        return self.bedrock_runtime_client.converse(modelId=endpoint_arn, messages=conversation)

    def converse_with_stream(self, endpoint_arn: str, conversation):
        return self.bedrock_runtime_client.converse_stream(modelId=endpoint_arn, messages=conversation,
                                                           inferenceConfig={"maxTokens": 4096, "temperature": 0.5,
                                                                            "topP": 0.9})

    def wait_for_endpoint(self, endpoint_arn: str):
        endpoint = self.describe_endpoint(endpoint_arn=endpoint_arn)
        while endpoint['endpointStatus'] in ['Creating', 'Updating']:
            print(
                f"Endpoint {endpoint_arn} status is still {endpoint['endpointStatus']}. Waiting 10 seconds before continuing...")
            time.sleep(10)
            endpoint = self.describe_endpoint(endpoint_arn=endpoint_arn)
        print(f"Endpoint status: {endpoint['status']}")

    def _requires_eula(self, model):
        if 'HubContentDocument' in model:
            hcd = json.loads(model['HubContentDocument'])
            if ('HostingEulaUri' in hcd) and hcd['HostingEulaUri']:
                return True
        return False

    @staticmethod
    def extract_bedrock_models(hub_content_summaries):
        models = []
        for content in hub_content_summaries:
            if ('HubContentSearchKeywords' in content) and (
                    '@capability:bedrock_console' in content['HubContentSearchKeywords']):
                print(f"ModelName: {content['HubContentDisplayName']}, modelSourceIdentifier: {content['HubContentArn']}")
                models.append(content)
        return models


def run_script(sagemaker_execution_role: str, region: str):
    # Script params
    model_arn = 'arn:aws:sagemaker:Région AWS:aws:hub-content/SageMakerPublicHub/Model/example-model-name/hub-content-arn'
    model_name = 'example-model-name'
    sample_endpoint_name = f'test-ep-{datetime.now().strftime("%Y-%m-%d%H%M%S")}'
    sagemaker_execution_role = sagemaker_execution_role
    conversation = [
        {
            "role": "user",
            "content": [
                {
                    "text": "whats the best park in the US?"
                }
            ]
        }
    ]

    bedrock = Bedrock(region_name=region)

    ###
    ###  Model discovery
    ###

    # List all models - no new Bedrock Marketplace API here. Uses existing SageMaker APIs
    print(DELIMITER)
    print("All models:")
    all_models = bedrock.list_models()
    # Describe a model - no new Bedrock Marketplace API here. Uses existing SageMaker APIs
    # Examples:
    #     bedrock.describe_model("SageMakerPublicHub", "huggingface-llm-amazon-mistrallite")
    #     bedrock.describe_model("SageMakerPublicHub", "huggingface-llm-gemma-2b-instruct")
    print(DELIMITER)
    print(f'Describing model: {model_name}')
    model = bedrock.describe_model(SM_HUB_NAME, model_name)
    pprint.pprint(model)

    ## If customer wants to use a proprietary model, they need to subscribe to it first
    ## If customer wants to use a gated model, they need to accept EULA. Note: EULA Acceptance is on-creation, and needs
    ##     to be provided on every call. Cannot un-accept a EULA
    ## If customer wants to use an open weight model, they can proceed to deploy

    ###
    ###  Model deployment to create endpoints
    ###

    # # Create endpoint - uses Bedrock Marketplace API
    endpoint_arn = bedrock.create_endpoint(
        endpoint_name=sample_endpoint_name,
        endpoint_config={
            "sageMaker": {
                "initialInstanceCount": 1,
                "instanceType": "ml.g5.2xlarge",
                "executionRole": sagemaker_execution_role
                # Other fields:
                #   kmsEncryptionKey: KmsKeyId
                #   vpc: VpcConfig
            }
        },
        # Optional:
        # tags: TagList
        model=model
    )['marketplaceModelEndpoint']['endpointArn']

    # # Describe endpoint - uses Bedrock Marketplace API
    endpoint = bedrock.describe_endpoint(endpoint_arn=endpoint_arn)
    print(DELIMITER)
    print('Created endpoint:')
    pprint.pprint(endpoint)

    # Wait while endpoint is being created
    print(DELIMITER)
    bedrock.wait_for_endpoint(endpoint_arn=endpoint_arn)

    ###
    ###   Currently, customers cannot use self-hosted endpoints with Bedrock Runtime APIs and tools. They can only pass a model ID to the APIs.
    ###   Bedrock Marketplace will enable customers to use self-hosted endpoints through existing Bedrock Runtime APIs and tools
    ###   See below examples of calling invoke_model, invoke_model_with_response_stream, converse and converse_stream
    ###   Customers will be able to use the endpoints with Bedrock dev tools also (Guardrails, Model eval, Agents, Knowledge bases, Prompt flows, Prompt management) - examples not shown below
    ###

    # Prepare sample data for invoke calls by getting default payload in model metadata
    model_data = json.loads(bedrock.describe_model('SageMakerPublicHub', model_name)['HubContentDocument'])
    payload = list(model_data["DefaultPayloads"].keys())[0]
    invoke_body = model_data["DefaultPayloads"][payload]["Body"]
    invoke_content_field_name = 'generated_text'

    # Invoke model (text) - without stream - uses existing Bedrock Runtime API
    print(DELIMITER)
    print(f'Invoking model with body: {invoke_body}')
    invoke_generated_response = bedrock.invoke(endpoint_arn=endpoint_arn, body=json.dumps(invoke_body))
    print(f'Generated text:')
    print(invoke_generated_response[invoke_content_field_name])
    sys.stdout.flush()

    # Converse with model (chat) - without stream - uses existing Bedrock Runtime API
    print(DELIMITER)
    print(f'Converse model with conversation: {conversation}')
    print(bedrock.converse(endpoint_arn=endpoint_arn, conversation=conversation)['output'])

    ###
    ##  Other endpoint management operations
    ###

    # List all endpoints - uses Bedrock Marketplace API
    print(DELIMITER)
    print('Listing all endpoints')
    for endpoint in bedrock.list_endpoints():
        pprint.pprint(endpoint)

    # List endpoints for a model
    # Example: bedrock.list_endpoints_for_model(hub_content_arn='arn:aws:sagemaker:us-west-2:aws:hub-content/SageMakerPublicHub/Model/huggingface-textgeneration1-mpt-7b-storywriter-bf16/3.2.0')
    print(DELIMITER)
    print(f"Listing all endpoints for model: {model_arn}")
    for endpoint in bedrock.list_endpoints_for_model(hub_content_arn=model_arn):
        pprint.pprint(endpoint)

    # # Update endpoint - uses new API provided by Bedrock Marketplace
    updated_endpoint_arn = bedrock.update_endpoint(
        endpoint_arn=endpoint_arn,
        endpoint_config={
            "sageMaker": {
                "initialInstanceCount": 2,  # update to increase instance count
                "instanceType": "ml.g5.2xlarge",
                "executionRole": sagemaker_execution_role
                # Other fields:
                #   kmsEncryptionKey: KmsKeyId
                #   vpc: VpcConfig
            }
        # Optional:
        # tags: TagList
        }
    )['marketplaceModelEndpoint']['endpointArn']

    # Wait while endpoint is being updated
    print(DELIMITER)
    bedrock.wait_for_endpoint(endpoint_arn=updated_endpoint_arn)

    # Confirm endpoint update
    updated_endpoint = bedrock.describe_endpoint(endpoint_arn=updated_endpoint_arn)
    print(f'Updated endpoint: {updated_endpoint}')
    assert updated_endpoint['endpointConfig']['sageMaker']['initialInstanceCount'] == 2
    print(DELIMITER)
    print(f'Confirmed that updated endpoint\'s initialInstanceCount config changed from 1 to 2')

    # Wait while endpoint is being updated
    print(DELIMITER)
    bedrock.wait_for_endpoint(endpoint_arn=updated_endpoint_arn)

    # Deregister endpoint - uses Bedrock Marketplace API
    print(DELIMITER)
    print(f'De-registering endpoint: {updated_endpoint_arn}')
    bedrock.deregister_endpoint(endpoint_arn=updated_endpoint_arn)
    try:
        pprint.pprint(bedrock.describe_endpoint(endpoint_arn=updated_endpoint_arn))
    except ClientError as err:
        assert err.response['Error']['Code'] == 'ResourceNotFoundException'
        print(f"Confirmed that endpoint {updated_endpoint_arn} was de-registered")

    # Re-register endpoint - uses Bedrock Marketplace API
    print(DELIMITER)
    print(f'Registered endpoint: {bedrock.register_endpoint(endpoint_arn=updated_endpoint_arn, model_arn=model_arn)}')
    pprint.pprint(bedrock.describe_endpoint(endpoint_arn=updated_endpoint_arn))

    # Delete endpoint - uses Bedrock Marketplace API
    print(DELIMITER)
    print(f'Deleting endpoint: {updated_endpoint_arn}')
    bedrock.delete_endpoint(endpoint_arn=updated_endpoint_arn)
    try:
        pprint.pprint(bedrock.describe_endpoint(endpoint_arn=updated_endpoint_arn))
    except ClientError as err:
        assert err.response['Error']['Code'] == 'ResourceNotFoundException'
        print(f"Confirmed that endpoint {updated_endpoint_arn} was deleted")


if __name__ == '__main__':

    parser = argparse.ArgumentParser()

    parser.add_argument('--sagemaker-execution-role', required=True)
    parser.add_argument('--region', required=True)

    args = parser.parse_args()
    run_script(args.sagemaker_execution_role, args.region)
```

# Découverte d’un modèle
<a name="bedrock-marketplace-discover-a-model"></a>

Vous pouvez découvrir à la fois les modèles Amazon Bedrock Marketplace et les modèles sans serveur Amazon Bedrock dans le catalogue de modèles.

Utilisez la procédure suivante pour découvrir un modèle Amazon Bedrock Marketplace. 

**Pour découvrir un modèle Amazon Bedrock Marketplace**

1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock.

1. Dans la barre de recherche, spécifiez « Amazon Bedrock » et choisissez **Amazon Bedrock** dans la liste déroulante.

1. Dans le volet de navigation, choisissez **Catalogue de modèles**.

1. Filtre pour **Model Collection** = **Bedrock Marketplace** pour charger les modèles Amazon Bedrock Marketplace.

1. Vous pouvez également rechercher le nom d’un modèle directement dans la barre de recherche.

**Note**  
Vous devez vous abonner à des modèles propriétaires sur Amazon Bedrock Marketplace pour y accéder.

# Abonnement à un modèle
<a name="bedrock-marketplace-subscribe-to-a-model"></a>

Pour utiliser un modèle d’Amazon Bedrock Marketplace, vous devez vous abonner à ce modèle. Si vous utilisez un modèle accessible au public, tel qu'un HuggingFace modèle, vous n'avez pas besoin d'abonnement. Les modèles peuvent être accessibles au public ou propriétaires. Lorsque vous vous abonnez à un modèle, vous consultez et acceptez les prix et EULAs ceux du fournisseur du modèle.

**Note**  
Aucun abonnement n'est requis avant la première invocation. En raison de l'activation automatique, Amazon Bedrock lance automatiquement le processus d'abonnement en arrière-plan. Les appels d'API peuvent réussir temporairement pendant la finalisation de l'abonnement. Toutefois, si l'abonnement échoue, les demandes suivantes échoueront, voir[Accès aux modèles de fondation Amazon Bedrock](model-access.md).

**Pour s’abonner à un modèle**

1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock.

1. Dans la barre de recherche, spécifiez « Amazon Bedrock » et choisissez **Amazon Bedrock** dans la liste déroulante.

1. Dans le volet de navigation, choisissez Catalogue de modèles.

1. Spécifiez **Collection de modèles** = **Bedrock Marketplace** pour charger les modèles Amazon Bedrock Marketplace.

   1. Vous pouvez également rechercher le nom d’un modèle directement dans la barre de recherche.

1. Choisissez la carte de modèle pour ouvrir la page **détaillée du modèle**.

1. Choisissez **Afficher les options d’abonnement** pour ouvrir le modal d’abonnement.

1. Consultez les offres et les coûts.

1. Consultez les conditions juridiques générales.

1. Choisissez **Abonner**.

Le processus d’abonnement est généralement terminé en 10 à 15 minutes, mais peut varier en fonction des exigences du fournisseur.

Les coûts concernent uniquement les coûts liés aux logiciels. Un coût d'infrastructure d' SageMaker IA distinct vous sera facturé pour le type d'instance et le nombre d'instances que vous sélectionnez.

# Déployer un modèle
<a name="bedrock-marketplace-deploy-a-model"></a>

Une fois que vous vous êtes abonné à un modèle, vous le déployez sur un point de terminaison d' SageMaker IA. Vous effectuez des appels d’inférence vers le point de terminaison. Le modèle est hébergé par SageMaker AI. Pendant le processus de déploiement, vous devez fournir les informations suivantes :
+ Le nom du point de terminaison SageMaker AI
+ le nombre d’instances prenant des appels d’inférence vers le point de terminaison ;
+ le type d’instance du point de terminaison.

Vous pouvez également configurer des options avancées facultatives telles que les balises.

Un rôle de service d' SageMaker IA est automatiquement créé pour que l' SageMaker IA puisse assumer et exécuter des actions en votre nom. Pour plus d'informations sur les autorisations Amazon SageMaker AI, consultez [Comment utiliser les rôles d'exécution SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html ).

Vous pouvez également choisir un rôle existant ou en créer un nouveau. Pour savoir comment déployer un modèle Amazon Bedrock Marketplace, sélectionnez l’onglet correspondant à la méthode de votre choix et suivez les étapes.

**Pour déployer un modèle**

1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock.

1. Dans la barre de recherche, spécifiez « Amazon Bedrock » et choisissez **Amazon Bedrock** dans la liste déroulante.

1. Dans le volet de navigation, choisissez **Catalogue de modèles**.

1. Choisissez la carte de modèle pour le modèle que vous déployez.

1. Choisissez **Déployer**.

1. Pour **Nom du point de terminaison**, spécifiez le nom du point de terminaison.

1. Choisissez le nombre d’instances et sélectionnez le type d’instance.

1. Dans **Paramètres avancés**, vous pouvez éventuellement :

   1. Configurer votre VPC

   1. Configurer le rôle d’accès au service

   1. Personnaliser vos paramètres de chiffrement

   1. Ajout de balises

1. Choisissez **Deploy** pour déployer votre modèle Amazon Bedrock Marketplace sur un point de terminaison basé sur SageMaker l'IA. Ce processus prend généralement 10 à 15 minutes.

Utilisez l’opération `CreateMarketplaceModelEndpoint` pour créer un point de terminaison. Certains modèles disposent d’un contrat de licence d’utilisateur final (CLUF). Pour accepter le CLUF, vous devez définir le `AcceptEula` sur `True`.

L'exemple suivant utilise un exemple de AWS Command Line Interface commande pour créer un point de terminaison :

```
aws bedrock create-marketplace-model-endpoint --model-source-identifier HubContentArn --endpoint-config "{\"sageMaker\":{\"initialInstanceCount\":1,\"instanceType\":\"ml.g5.xlarge\",\"executionRole\":\"arn:aws:iam::111122223333:role/example-IAM-role\"}}" --endpoint-name "example-endpoint-name"
```

**Note**  
Les réponses aux opérations `CreateMarketplaceModelEndpoint`, `UpdateMarketplaceModelEndpoint` et `RegisterMarketplaceModelEndpoint` sont les mêmes.

```
{"marketplaceModelEndpoint":{"createdAt":"2024-11-12T02:31:58.201474085Z","endpoint":{"sageMaker":{"executionRole":"arn:aws:iam::111122223333:role/service-role/amazon-sagemaker-execution-role","initialInstanceCount":1,"instanceType":"ml.g5.2xlarge","kmsEncryptionKey":null,"vpc":null}},"endpointArn":"arn:aws:sagemaker:region:555555555555:endpoint/example-endpoint-name","endpointStatus":"Creating","endpointStatusMessage":"","modelSourceIdentifier":"arn:aws:sagemaker:region:aws:hub-content/SageMakerPublicHub/Model/example-model-name/1.2.2","status":"ACTIVE","statusMessage":"","updatedAt":"2024-11-12T02:31:58.201474085Z"}}
```

Vous pouvez modifier le point de terminaison dans Amazon Bedrock Marketplace et Amazon SageMaker AI. Nous recommandons de modifier uniquement le point de terminaison dans Amazon Bedrock. Si vous modifiez le point de terminaison dans SageMaker AI, il se peut que vous ne puissiez pas utiliser le point de terminaison dans Amazon Bedrock. Les modifications suivantes peuvent entraîner la défaillance du point de terminaison dans Amazon Bedrock :
+ Réglage [EnableNetworkIsolation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html#sagemaker-CreateModel-request-EnableNetworkIsolation)sur `False`
+ Modification de la définition du modèle dans l'[PrimaryContainer](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html#sagemaker-CreateModel-request-PrimaryContainer)objet

Pour que le point de terminaison soit opérationnel, il doit être enregistré et en service. Vous pouvez utiliser la AWS Command Line Interface commande suivante pour vérifier l'état du point de terminaison.

```
aws bedrock get-marketplace-model-endpoint --endpoint-arn arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint-name            
```

Le point de terminaison doit avoir le statut suivant pour que vous puissiez l’utiliser avec Amazon Bedrock :

```
endpointStatus: InService
status: REGISTERED
```

Si vous avez apporté une modification qui a entraîné l’échec du point de terminaison, vous pouvez annuler son enregistrement et le réenregistrer. Utilisez l’opération `DeregisterEndpoint` pour annuler l’enregistrement du point de terminaison. Utilisez l’opération `RegisterEndpoint` pour le réenregistrer.

```
aws bedrock deregister-marketplace-model-endpoint --endpoint-arn arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint-name
```

```
aws bedrock register-marketplace-model-endpoint --endpoint-identifier arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint-name --model-source-identifier
         HubContentArn
```

# Apportez votre propre point de terminaison
<a name="bedrock-marketplace-bring-your-own-endpoint"></a>

Vous pouvez enregistrer un point de terminaison hébergeant un modèle Amazon Bedrock AWS Marketplace que vous avez créé dans SageMaker AI. Au cours du processus d’enregistrement, la compatibilité des modèles avec les exigences d’Amazon Bedrock Marketplace est vérifiée. L’isolation réseau doit être activée sur vos points de terminaison. En outre, vous ne pouvez pas modifier les artefacts du modèle par rapport au modèle de base fourni par le fournisseur.

Pour plus d'informations sur l'enregistrement du point de terminaison, consultez [Utiliser vos JumpStart modèles d' SageMaker IA dans Amazon Bedrock](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-use-studio-updated-register-bedrock)

# Appeler le point de terminaison
<a name="bedrock-marketplace-call-the-endpoint"></a>

Vous pouvez commencer à utiliser votre modèle après l’avoir déployé sur un point de terminaison. Vous utilisez les opérations `Converse` ou `InvokeModel` pour appeler les modèles.

Pour obtenir la liste des modèles pris en charge par l’opération `Converse`, consultez [Compatibilité de modèle](bedrock-marketplace-model-reference.md). Pour plus d’informations sur les agents, consultez [Automatisation des tâches de votre application à l’aide d’agents d’IA](agents.md). Pour plus d’informations sur les bases de connaissances, consultez [Récupération de données et génération de réponses basées sur l’IA avec Amazon Bedrock Knowledge Bases](knowledge-base.md).

**Pour utiliser un modèle**

1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock.

1. Dans la barre de recherche, spécifiez « Amazon Bedrock » et choisissez **Amazon Bedrock** dans la liste déroulante.

1. Choisissez l’outil que vous utilisez. **Terrain de jeu** est le moyen le plus rapide d’accéder au modèle que vous avez déployé.

1. Choisissez **Sélectionner le modèle**.

1. Choisissez le point de terminaison de votre modèle.

Vous pouvez également utiliser les exemples de AWS Command Line Interface commandes suivants pour appeler le point de terminaison.

```
aws bedrock-runtime converse --model-id arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint-name --messages '[{"role": "user", "content": [{"text": "Describe the purpose of a \"hello world\" program in one line."}]}]'
```

```
aws bedrock-runtime invoke-model --model-id arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint-name --body '{"inputs": "Hello? How are you?", "parameters": {"details": true}}' --cli-binary-format raw-in-base64-out test.txt
```

# Gestion de vos points de terminaison
<a name="bedrock-marketplace-manage-your-endpoints"></a>

Vous pouvez consulter et gérer les points de terminaison de votre modèle Amazon Bedrock Marketplace de la manière suivante :
+ Modification du nombre d’instances ou de types d’instances
+ Modification des balises
+ Suppression d’un point de terminaison

Vous pouvez également enregistrer et désenregistrer les points de terminaison des modèles Amazon Bedrock Marketplace que vous avez créés SageMaker à partir de l'IA.

**Pour gérer vos points de terminaison**

1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock.

1. Dans la barre de recherche, spécifiez « Amazon Bedrock » et choisissez **Amazon Bedrock** dans la liste déroulante.

1. Choisissez **Déploiements Marketplace** sous **Modèles de fondation**

1. Choisissez **Enregistrer**, **Modifier** ou **Supprimer** dans la barre **Action**.

1. Pour afficher des informations supplémentaires, choisissez le point de terminaison.

Vous pouvez utiliser la AWS Command Line Interface commande suivante pour supprimer le point de terminaison.

```
aws bedrock delete-marketplace-model-endpoint --endpoint-arn "arn:aws:sagemaker:region:111122223333:endpoint/example-endpoint"
```

La commande précédente ne renvoie aucune réponse.

Vous pouvez utiliser la AWS Command Line Interface commande suivante pour mettre à jour le point de terminaison.

```
aws bedrock update-marketplace-model-endpoint --endpoint-config "{\"sageMaker\":{\"initialInstanceCount\":2,\"instanceType\":\"ml.g5.xlarge\",\"executionRole\":\"arn:aws:iam::111122223333:role/service-role/example-sagemaker-service-role\"}}" --endpoint-arn "arn:aws:sagemaker:region:account-number:endpoint/example-endpoint-name"
```

**Note**  
Les réponses aux opérations `CreateMarketplaceModelEndpoint`, `RegisterMarketplaceModelEndpoint` et `UpdateMarketplaceModelEndpoint` sont les mêmes.

# Compatibilité de modèle
<a name="bedrock-marketplace-model-reference"></a>

Tous les modèles peuvent utiliser l’opération `InvokeModel`. Certains modèles peuvent utiliser l’opération `Converse`. 

Pour les modèles Amazon Bedrock Marketplace, utilisez l’API [ApplyGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ApplyGuardrail.html) pour utiliser les barrières de protection Amazon Bedrock.

Le tableau suivant indique les modèles disponibles et indique s’ils peuvent utiliser l’opération `Converse` :


| Nom | API Converse pris en charge | Streaming pris en charge | 
| --- | --- | --- | 
|  Arcee Lite  |  Oui  |  Oui  | 
|  Arcee Nova  |  Oui  |  Oui  | 
|  Arcee SuperNova  |  Oui  |  Oui  | 
|  Arcee Virtuoso Small  |  Oui  |  Oui  | 
|  Aya 101  |  Non  |  Oui  | 
|  Bart Large CNN samsum  |  Non  |  Non  | 
|  Bloom 1b1  |  Non  |  Oui  | 
|  Bloom 1b7  |  Non  |  Oui  | 
|  Bloom 3B  |  Non  |  Oui  | 
|  Bloom 560m  |  Non  |  Oui  | 
|  Bloom 7B1  |  Non  |  Oui  | 
|  Bloomz 1b1  |  Non  |  Oui  | 
|  Bloomz 1b7  |  Non  |  Oui  | 
|  BloomZ 3B FP16  |  Non  |  Oui  | 
|  BloomZ 7B1 FP16  |  Non  |  Oui  | 
|  Bria 2.2HD Commercial  |  Non  |  Non  | 
|  Bria 2.3 Commercial   |  Non  |  Non  | 
|  Bria 2.3 Fast Commercial   |  Non  |  Non  | 
|  CyberAgentLM3-22B-Chat (CALM3-22B-Chat)  |  Oui  |  Oui  | 
|  DBRX Base  |  Non  |  Oui  | 
|  DBRX Instruct  |  Oui  |  Oui  | 
|  DeepSeek-R1-Distill-Llama-70B  |  Non  |  Oui  | 
|  DeepSeek-R1-Distill-Llama-8B  |  Non  |  Oui  | 
|  DeepSeek-R1-Distill-Qwen-32B  |  Non  |  Oui  | 
|  DeepSeek-R1-Distill-Qwen-14B  |  Non  |  Oui  | 
|  DeepSeek-R1-Distill-Qwen-7B  |  Non  |  Oui  | 
|  DeepSeek-R1-Distill-Qwen-1.5B  |  Non  |  Oui  | 
|  DeepSeek-R1  |  Non  |  Oui  | 
|  Distilbart CNN 12-6  |  Non  |  Non  | 
|  Distilbart CNN 6-6  |  Non  |  Non  | 
|  Distilbart xsum 12-3  |  Non  |  Non  | 
|  DistilGPT 2  |  Non  |  Oui  | 
|  Dolly V2 12b BF16  |  Non  |  Oui  | 
|  Dolly V2 3b BF16  |  Non  |  Oui  | 
|  Dolly V2 7b BF16  |  Non  |  Oui  | 
|  Dolphin 2.2.1 Mistral 7B  |  Oui  |  Oui  | 
|  Dolphin 2.5 Mixtral 8 7B  |  Oui  |  Oui  | 
|  EleutherAI GPT Neo 1.3B  |  Non  |  Oui  | 
|  EleutherAI GPT Neo 2.7B  |  Non  |  Oui  | 
|  ESM3-open  |  Non  |  Non  | 
|  EXAONE\$1v3.0 7.8B Instruct  |  Oui  |  Non  | 
|  Falcon 40B BF16  |  Non  |  Oui  | 
|  Falcon Lite  |  Non  |  Oui  | 
|  Falcon Lite 2  |  Non  |  Oui  | 
|  Falcon RW 1B  |  Non  |  Oui  | 
|  Falcon3 1B Instruct  |  Oui  |  Oui  | 
|  Falcon3 3B Base   |  Non  |  Oui  | 
|  Falcon3 3B Instruct  |  Oui  |  Oui  | 
|  Falcon3 7B Base  |  Non  |  Oui  | 
|  Falcon3 7B Instruct  |  Oui  |  Oui  | 
|  Falcon3 10B Base   |  Non  |  Oui  | 
|  Falcon3 10B Instruct  |  Oui  |  Oui  | 
|  Flan-T5 Base  |  Non  |  Oui  | 
|  Modèle de base Flan-T5 optimisé le jeu de données Samsum  |  Non  |  Oui  | 
|  Flan-T5 Large  |  Non  |  Oui  | 
|  Flan-T5 Small  |  Non  |  Oui  | 
|  Gemma 2 27B  |  Non  |  Oui  | 
|  Gemma 2 27B Instruct  |  Oui  |  Oui  | 
|  Gemma 2 2B  |  Non  |  Oui  | 
|  Gemma 2 2B Instruct  |  Oui  |  Oui  | 
|  Gemma 2 9B  |  Non  |  Oui  | 
|  Gemma 2 9B Instruct  |  Oui  |  Oui  | 
|  Gemma 2B  |  Non  |  Oui  | 
|  Gemma 2B Instruct  |  Oui  |  Oui  | 
|  Gemma 7B  |  Non  |  Oui  | 
|  Gemma 7B Instruct  |  Oui  |  Oui  | 
|  GPT 2  |  Non  |  Oui  | 
|  GPT NeoX 20B FP16  |  Non  |  Oui  | 
|  GPT-2 XL  |  Non  |  Oui  | 
|  GPT-J 6B  |  Non  |  Oui  | 
|  GPT-Neo 1.3B  |  Non  |  Oui  | 
|  GPT-Neo 125M  |  Non  |  Oui  | 
|  GPT-NEO 2.7B  |  Non  |  Oui  | 
|  Granite 3.0 2B Instruct  |  Oui  |  Oui  | 
|  Granite 3.0 8B Instruct  |  Oui  |  Oui  | 
|  Gretel Navigator Tabular  |  Oui  |  Oui  | 
|  IBM Granite 20B Code Instruct - 8K  |  Oui  |  Oui  | 
|  IBM Granite 34B Code Instruct - 8K  |  Oui  |  Oui  | 
|  IBM Granite 3B Code Instruct - 128K  |  Oui  |  Oui  | 
|  IBM Granite 8B Code Instruct - 128K  |  Oui  |  Oui  | 
|  KARAKURI LM 8x7b instruct  |  Non  |  Oui  | 
|  Liquid  |  Oui  |  Oui  | 
|  Llama 3.1 SuperNova Lite  |  Oui  |  Oui  | 
|  Llama Spark  |  Oui  |  Oui  | 
|  Llama-3-Varco-Offsetbias-8B  |  Non  |  Oui  | 
|  Llama3 8B SEA-Lion v2.1 Instruct  |  Oui  |  Oui  | 
|  MARS6  |  Non  |  Non  | 
|  Medical LLM - Medium  |  Non  |  Non  | 
|  Medical LLM - Small  |  Non  |  Non  | 
|  Medical Text Translation (EN-ES)  |  Non  |  Non  | 
|  Mistral 7B OpenOrca AWQ  |  Oui  |  Oui  | 
|  Mistral 7B OpenOrca GPTQ  |  Oui  |  Oui  | 
|  Mistral 7B SFT Alpha  |  Oui  |  Oui  | 
|  Mistral 7B SFT Beta  |  Oui  |  Oui  | 
|  Mistral Lite  |  Oui  |  Oui  | 
|  Mistral Nemo Base 2407  |  Non  |  Oui  | 
|  Mistral Nemo Instruct 2407  |  Oui  |  Oui  | 
|  Mistral Trix V1  |  Non  |  Oui  | 
|  MPT 7B BF16  |  Non  |  Oui  | 
|  MPT 7B Instruct BF16  |  Non  |  Oui  | 
|  MPT 7B StoryWriter-65k\$1 BF16  |  Non  |  Oui  | 
|  Multilingual GPT  |  Non  |  Oui  | 
|  NVIDIA Nemotron-4 15B NIM Microservice  |  Oui  |  Non  | 
|  Open Hermes 2 Mistral 7B  |  Oui  |  Oui  | 
|  Phi-2  |  Non  |  Oui  | 
|  Phi-3-Mini-128K-Instruct  |  Oui  |  Oui  | 
|  Phi-3-Mini-4K-Instruct  |  Oui  |  Oui  | 
|  Phi-3.5-mini-instruct  |  Oui  |  Oui  | 
|  Pixtral 12B 2409  |  Oui  |  Oui  | 
|  PLaMo API  |  Non  |  Oui  | 
|  Snowflake Arctic Instruct Vllm  |  Oui  |  Oui  | 
|  Solar Mini Chat  |  Oui  |  Oui  | 
|  Solar Mini Chat - Quant  |  Oui  |  Oui  | 
|  Solar Mini Chat ja  |  Oui  |  Oui  | 
|  Solar Mini Chat ja - Quant  |  Oui  |  Oui  | 
|  Solar Pro  |  Oui  |  Oui  | 
|  Solar Pro (Quantized)  |  Oui  |  Oui  | 
|  Stable Diffusion 3.5 Large  |  Non  |  Non  | 
|  Stockmark-LLM-13b  |  Non  |  Non  | 
|  Synthèse de texte  |  Non  |  Non  | 
|  VARCO LLM KO/EN-13B-IST  |  Oui  |  Non  | 
|  Whisper Large V3 Turbo  |  Non  |  Oui  | 
|  Widn Llama3-Tower Vesuvius  |  Oui  |  Oui  | 
|  Widn Tower Anthill  |  Oui  |  Oui  | 
|  Widn Tower Sugarloaf  |  Oui  |  Oui  | 
|  Writer Palmyra Small  |  Non  |  Oui  | 
|  Writer Palmyra-Fin-70B-32K  |  Oui  |  Oui  | 
|  Writer Palmyra-Med-70B-32K  |  Oui  |  Oui  | 
|  YARN Mistral 7B 128k  |  Non  |  Oui  | 
|  Yi-1.5-34B  |  Non  |  Oui  | 
|  Yi-1.5-34B-Chat  |  Oui  |  Oui  | 
|  Yi-1.5-6B  |  Non  |  Oui  | 
|  Yi-1.5-6B-Chat  |  Oui  |  Oui  | 
|  Yi-1.5-9B  |  Non  |  Oui  | 
|  Yi-1.5-9B-Chat  |  Oui  |  Oui  | 
|  Zephyr 7B Alpha  |  Non  |  Oui  | 
|  Zephyr 7B Beta  |  Non  |  Oui  | 
|  Zephyr 7B Gemma  |  Non  |  Oui  | 