Cohere Command Modelos da - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cohere Command Modelos da

Você faz solicitações de inferência para um Cohere Command modelo com InvokeModelou InvokeModelWithResponseStream(streaming). É necessário o ID do modelo que deseja usar. Para obter o ID do modelo, consulte Modelos de base compatíveis no Amazon Bedrock.

Solicitação e reposta

Request

A ferramenta Cohere Command os modelos têm os seguintes parâmetros de inferência.

{ "prompt": string, "temperature": float, "p": float, "k": float, "max_tokens": int, "stop_sequences": [string], "return_likelihoods": "GENERATION|ALL|NONE", "stream": boolean, "num_generations": int, "logit_bias": {token_id: bias}, "truncate": "NONE|START|END" }

Veja a seguir os parâmetros necessários.

  • prompt: (obrigatório) o texto de entrada que serve como ponto de partida para gerar a resposta.

    Veja os limites de texto por chamada e por caracteres.

Veja a seguir os parâmetros opcionais.

  • return_likelihoods: especifique como e se as probabilidades do token são retornadas com a resposta. É possível especificar as opções a seguir.

    • GENERATION: somente as probabilidades de retorno dos tokens gerados.

    • ALL: probabilidades de devolução de todos os tokens.

    • NONE: (padrão) não retornar nenhuma probabilidade.

  • stream — (Obrigatório para suportar streaming) Especifique true para retornar a resposta piece-by-piece em tempo real e false retornar a resposta completa após a conclusão do processo.

  • logit_bias: evita que o modelo gere tokens indesejados ou incentiva o modelo a incluir os tokens desejados. O formato é {token_id: bias}, em que o desvio é uma flutuação entre -10 e 10. Os tokens podem ser obtidos a partir de texto usando qualquer serviço de tokenização, como Coheredo Tokenize endpoint. Para ter mais informações, consulte Cohere documentação.

    Padrão Mínimo Máximo

    N/D

    -10 (para um desvio de token)

    10 (para um desvio de token)

  • num_generations: o número máximo de gerações que o modelo deve retornar.

    Padrão Mínimo Máximo

    1

    1

    5

  • truncate — Especifica como o API manipula entradas maiores do que o tamanho máximo do token. Use uma das seguintes opções:

    • NONE: retorna um erro quando a entrada excede o tamanho máximo do token de entrada.

    • START: descartar o início da entrada.

    • END: (padrão) descartar o final da entrada.

    Se você especificar START ou END, o modelo descartará a entrada até que a entrada restante tenha exatamente o tamanho máximo do token de entrada do modelo.

  • temperature: use um valor menor para reduzir a aleatoriedade na resposta.

    Padrão Mínimo Máximo

    0.9

    0

    5

  • P: Top P. Use um valor menor para ignorar opções menos prováveis. Defina como 0 ou 1,0 para desabilitar. Se p e k estiverem habilitados, p agirá depois de k.

    Padrão Mínimo Máximo

    0.75

    0

    1

  • k: Top K. Especifique o número de opções de token que o modelo usa para gerar o próximo token. Se p e k estiverem habilitados, p agirá depois de k.

    Padrão Mínimo Máximo

    0

    0

    500

  • max_tokens: especifique o número máximo de tokens a serem usados na resposta gerada.

    Padrão Mínimo Máximo

    20

    1

    4096

  • stop_sequences: configure até quatro sequências que o modelo reconhece. Depois de uma sequência de parada, o modelo para de gerar mais tokens. O texto retornado não contém a sequência de parada.

Response

A resposta tem os campos possíveis a seguir:

{ "generations": [ { "finish_reason": "COMPLETE | MAX_TOKENS | ERROR | ERROR_TOXIC", "id": string, "text": string, "likelihood" : float, "token_likelihoods" : [{"token" : string, "likelihood": float}], "is_finished" : true | false, "index" : integer } ], "id": string, "prompt": string }
  • generations: uma lista dos resultados gerados junto com as probabilidades dos tokens solicitados. (Sempre devolvido). Cada objeto de geração na lista contém os campos a seguir.

    • id: um identificador para a geração. (Sempre é retornado.)

    • likelihood: a probabilidade da saída. O valor é a média das probabilidades do token em token_likelihoods. Será retornado se você especificar o parâmetro de entrada return_likelihoods.

    • token_likelihoods: uma matriz de probabilidades por token. Será retornado se você especificar o parâmetro de entrada return_likelihoods.

    • finish_reason: o motivo pelo qual o modelo concluiu a geração de tokens. COMPLETE: o modelo enviou de volta uma resposta finalizada. MAX_TOKENS: a resposta foi cortada porque o modelo atingiu o número máximo de tokens para o tamanho do contexto. ERROR : algo deu errado ao gerar a resposta. ERROR_TOXIC: o modelo gerou uma resposta que foi considerada tóxica. finish_reason é retornado somente quando is_finished é igual a true. (Nem sempre é retornado).

    • is_finished: um campo booliano usado somente quando stream é true, indicando se há ou não tokens adicionais que serão gerados como parte da resposta de streaming. (Nem sempre é retornado)

    • text o texto gerado.

    • index: em uma resposta de streaming, use para determinar a qual geração um determinado token pertence. Quando apenas uma resposta é transmitida, todos os tokens pertencem à mesma geração e o índice não é retornado. Portanto, o index só é retornado em uma solicitação de streaming com um valor de num_generations maior que um.

  • prompt: o prompt da solicitação de entrada (sempre é retornado).

  • id: um identificador para a solicitação (sempre retornado).

Para obter mais informações, consulte Gerar no Cohere documentações.

Exemplo de código

Este exemplo mostra como chamar o Cohere Commandmodelo.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate text using a Cohere model. """ import json import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) def generate_text(model_id, body): """ Generate text using a Cohere model. Args: model_id (str): The model ID to use. body (str) : The reqest body to use. Returns: dict: The response from the model. """ logger.info("Generating text with Cohere model %s", model_id) accept = 'application/json' content_type = 'application/json' bedrock = boto3.client(service_name='bedrock-runtime') response = bedrock.invoke_model( body=body, modelId=model_id, accept=accept, contentType=content_type ) logger.info("Successfully generated text with Cohere model %s", model_id) return response def main(): """ Entrypoint for Cohere example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = 'cohere.command-text-v14' prompt = """Summarize this dialogue: "Customer: Please connect me with a support agent. AI: Hi there, how can I assist you today? Customer: I forgot my password and lost access to the email affiliated to my account. Can you please help me? AI: Yes of course. First I'll need to confirm your identity and then I can connect you with one of our support agents. """ try: body = json.dumps({ "prompt": prompt, "max_tokens": 200, "temperature": 0.6, "p": 1, "k": 0, "num_generations": 2, "return_likelihoods": "GENERATION" }) response = generate_text(model_id=model_id, body=body) response_body = json.loads(response.get('body').read()) generations = response_body.get('generations') for index, generation in enumerate(generations): print(f"Generation {index + 1}\n------------") print(f"Text:\n {generation['text']}\n") if 'likelihood' in generation: print(f"Likelihood:\n {generation['likelihood']}\n") print(f"Reason: {generation['finish_reason']}\n\n") except ClientError as err: message = err.response["Error"]["Message"] logger.error("A client error occurred: %s", message) print("A client error occured: " + format(message)) else: print(f"Finished generating text with Cohere model {model_id}.") if __name__ == "__main__": main()