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
-
body
Tanggapan dari panggilan ke InvokeModel
adalah sebagai berikut:
{
"outputs": [
{
"text": string,
"stop_reason": string
}
]
}
body
Tanggapan memiliki bidang-bidang berikut:
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()