Mistral AIpenyelesaian teks - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mistral AIpenyelesaian teks

API penyelesaian Mistral AI teks memungkinkan Anda menghasilkan teks dengan Mistral AI model.

Anda membuat permintaan inferensi ke Mistral AI model dengan InvokeModelatau InvokeModelWithResponseStreaming (streaming).

Mistral AImodel tersedia di bawah lisensi Apache 2.0. Untuk informasi selengkapnya tentang penggunaan Mistral AI model, lihat Mistral AIdokumentasi.

Model yang didukung

Anda dapat menggunakan Mistral AI model berikut.

  • Mistral 7B Instruct

  • Mixtral 8X7B Instruct

  • Mistral Large

  • Mistral Small

Anda memerlukan ID model untuk model yang ingin Anda gunakan. Untuk mendapatkan ID model, lihatModel Amazon Bedrock IDs.

Permintaan dan Tanggapan

Request

Mistral AIModel memiliki parameter inferensi berikut.

{ "prompt": string, "max_tokens" : int, "stop" : [string], "temperature": float, "top_p": float, "top_k": int }

Berikut ini adalah parameter yang diperlukan.

  • prompt - (Wajib) Prompt yang ingin Anda lewatkan ke model, seperti yang ditunjukkan pada contoh berikut.

    <s>[INST] What is your favourite condiment? [/INST]

    Contoh berikut menunjukkan cara memformat adalah prompt multi-putaran.

    <s>[INST] What is your favourite condiment? [/INST] Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!</s> [INST] Do you have mayonnaise recipes? [/INST]

    Teks untuk peran pengguna ada di dalam [INST]...[/INST] token, teks di luar adalah peran asisten. Awal dan akhir string diwakili oleh token <s> (awal string) dan </s> (akhir string). Untuk informasi tentang mengirim prompt obrolan dalam format yang benar, lihat Templat obrolan di Mistral AI dokumentasi.

Berikut ini adalah parameter opsional.

  • max_tokens — Tentukan jumlah maksimum token yang akan digunakan dalam respons yang dihasilkan. Model memotong respons setelah teks yang dihasilkan melebihi. max_tokens

    Default Minimum Maksimum

    Mistral 7B Instruct— 512

    Mixtral 8X7B Instruct— 512

    Mistral Large— 8,192

    Mistral Small— 8,192

    1

    Mistral 7B Instruct— 8,192

    Mixtral 8X7B Instruct— 4.096

    Mistral Large— 8,192

    Mistral Small— 8,192

  • stop — Daftar urutan berhenti yang jika dihasilkan oleh model, menghentikan model dari menghasilkan output lebih lanjut.

    Default Minimum Maksimum

    0

    0

    10

  • suhu — Mengontrol keacakan prediksi yang dibuat oleh model. Untuk informasi selengkapnya, lihat Mempengaruhi generasi respons dengan parameter inferensi.

    Default Minimum Maksimum

    Mistral 7B Instruct— 0.5

    Mixtral 8X7B Instruct— 0.5

    Mistral Large— 0.7

    Mistral Small— 0.7

    0

    1

  • top_p — Mengontrol keragaman teks yang dihasilkan model dengan menetapkan persentase kandidat yang paling mungkin dipertimbangkan model untuk token berikutnya. Untuk informasi selengkapnya, lihat Mempengaruhi generasi respons dengan parameter inferensi.

    Default Minimum Maksimum

    Mistral 7B Instruct— 0.9

    Mixtral 8X7B Instruct— 0.9

    Mistral Large— 1

    Mistral Small— 1

    0

    1

  • top_k — Mengontrol jumlah kandidat yang paling mungkin yang dipertimbangkan model untuk token berikutnya. Untuk informasi selengkapnya, lihat Mempengaruhi generasi respons dengan parameter inferensi.

    Default Minimum Maksimum

    Mistral 7B Instruct— 50

    Mixtral 8X7B Instruct— 50

    Mistral Large— dinonaktifkan

    Mistral Small— dinonaktifkan

    1

    200

Response

bodyTanggapan dari panggilan ke InvokeModel adalah sebagai berikut:

{ "outputs": [ { "text": string, "stop_reason": string } ] }

bodyTanggapan memiliki bidang-bidang berikut:

  • output — Daftar output dari model. Setiap output memiliki bidang berikut.

    • teks — Teks yang dihasilkan model.

    • stop_reason — Alasan mengapa respon berhenti menghasilkan teks. Kemungkinan nilainya adalah:

      • stop — Model telah selesai menghasilkan teks untuk prompt input. Model berhenti karena tidak memiliki konten lagi untuk dihasilkan atau jika model menghasilkan salah satu urutan berhenti yang Anda tentukan dalam parameter stop permintaan.

      • panjang — Panjang token untuk teks yang dihasilkan melebihi nilai max_tokens dalam panggilan ke InvokeModel (InvokeModelWithResponseStream, jika Anda streaming output). Respons terpotong menjadi token. max_tokens

Contoh kode

Contoh ini menunjukkan cara memanggil Mistral 7B Instruct model.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate text using a Mistral AI 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 Mistral AI model. Args: model_id (str): The model ID to use. body (str) : The request body to use. Returns: JSON: The response from the model. """ logger.info("Generating text with Mistral AI model %s", model_id) bedrock = boto3.client(service_name='bedrock-runtime') response = bedrock.invoke_model( body=body, modelId=model_id ) logger.info("Successfully generated text with Mistral AI model %s", model_id) return response def main(): """ Entrypoint for Mistral AI example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") try: model_id = 'mistral.mistral-7b-instruct-v0:2' prompt = """<s>[INST] In Bash, how do I list all text files in the current directory (excluding subdirectories) that have been modified in the last month? [/INST]""" body = json.dumps({ "prompt": prompt, "max_tokens": 400, "temperature": 0.7, "top_p": 0.7, "top_k": 50 }) response = generate_text(model_id=model_id, body=body) response_body = json.loads(response.get('body').read()) outputs = response_body.get('outputs') for index, output in enumerate(outputs): print(f"Output {index + 1}\n----------") print(f"Text:\n{output['text']}\n") print(f"Stop reason: {output['stop_reason']}\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 Mistral AI model {model_id}.") if __name__ == "__main__": main()