

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

# Referensi API
<a name="nova-sagemaker-inference-api-reference"></a>

Model Amazon Nova SageMaker menggunakan SageMaker Runtime API standar untuk inferensi. Untuk dokumentasi API yang lengkap, lihat [Menguji model yang diterapkan](https://docs.aws.amazon.com//sagemaker/latest/dg/realtime-endpoints-test-endpoints.html).

## Pemanggilan titik akhir
<a name="nova-sagemaker-inference-api-invocation"></a>

Model Amazon Nova SageMaker mendukung dua metode pemanggilan:
+ **Pemanggilan sinkron**: Gunakan [InvokeEndpoint](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)API untuk permintaan inferensi non-streaming real-time.
+ **Pemanggilan streaming**: Gunakan [InvokeEndpointWithResponseStream](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpointWithResponseStream.html)API untuk permintaan inferensi streaming waktu nyata.

## Format permintaan
<a name="nova-sagemaker-inference-api-request"></a>

Model Amazon Nova mendukung dua format permintaan:

**Format penyelesaian obrolan**

Gunakan format ini untuk interaksi percakapan:

```
{
  "messages": [
    {"role": "user", "content": "string"}
  ],
  "max_tokens": integer,
  "max_completion_tokens": integer,
  "stream": boolean,
  "temperature": float,
  "top_p": float,
  "top_k": integer,
  "logprobs": boolean,
  "top_logprobs": integer,
  "reasoning_effort": "low" | "high",
  "allowed_token_ids": [integer],
  "truncate_prompt_tokens": integer,
  "stream_options": {
    "include_usage": boolean
  }
}
```

**Format penyelesaian teks**

Gunakan format ini untuk pembuatan teks sederhana:

```
{
  "prompt": "string",
  "max_tokens": integer,
  "stream": boolean,
  "temperature": float,
  "top_p": float,
  "top_k": integer,
  "logprobs": integer,
  "allowed_token_ids": [integer],
  "truncate_prompt_tokens": integer,
  "stream_options": {
    "include_usage": boolean
  }
}
```

**Format penyelesaian obrolan multimodal**

Gunakan format ini untuk input gambar dan teks:

```
{
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "What's in this image?"},
        {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}
      ]
    }
  ],
  "max_tokens": integer,
  "temperature": float,
  "top_p": float,
  "stream": boolean
}
```

**Parameter permintaan**
+ `messages`(array): Untuk format penyelesaian obrolan. Array objek pesan dengan `role` dan `content` bidang. Konten dapat berupa string untuk text-only atau array untuk input multimodal.
+ `prompt`(string): Untuk format penyelesaian teks. Teks masukan untuk menghasilkan dari.
+ `max_tokens`(integer): Jumlah maksimum token yang akan dihasilkan dalam respons. Rentang: 1 atau lebih besar.
+ `max_completion_tokens`(integer): Alternatif untuk max\$1tokens untuk penyelesaian obrolan. Jumlah maksimum token penyelesaian yang akan dihasilkan.
+ `temperature`(float): Mengontrol keacakan dalam generasi. Rentang: 0,0 hingga 2,0 (0,0 = deterministik, 2,0 = keacakan maksimum).
+ `top_p`(mengambang): Ambang pengambilan sampel nukleus. Rentang: 1e-10 hingga 1.0.
+ `top_k`(integer): Membatasi pemilihan token ke token K teratas yang paling mungkin. Rentang: -1 atau lebih besar (-1 = tidak ada batas).
+ `stream`(boolean): Apakah akan mengalirkan respons. Setel ke `true` untuk streaming, `false` untuk non-streaming.
+ `logprobs`(boolean/integer): Untuk penyelesaian obrolan, gunakan boolean. Untuk penyelesaian teks, gunakan bilangan bulat untuk jumlah probabilitas log untuk kembali. Rentang: 1 hingga 20.
+ `top_logprobs`(integer): Jumlah token yang paling mungkin untuk mengembalikan probabilitas log untuk (hanya penyelesaian obrolan).
+ `reasoning_effort`(string): Tingkat upaya penalaran. Opsi: “rendah”, “tinggi” (penyelesaian obrolan hanya untuk model khusus Nova 2 Lite).
+ `allowed_token_ids`(array): Daftar token IDs yang diizinkan untuk dihasilkan. Membatasi output ke token tertentu.
+ `truncate_prompt_tokens`(integer): Pangkas prompt ke banyak token ini jika melebihi batas.
+ `stream_options`(objek): Opsi untuk respons streaming. Berisi `include_usage` boolean untuk menyertakan penggunaan token dalam respons streaming.

## Format respons
<a name="nova-sagemaker-inference-api-response"></a>

Format respons tergantung pada metode pemanggilan dan jenis permintaan:

**Respons penyelesaian obrolan (non-streaming)**

Untuk permintaan penyelesaian obrolan sinkron:

```
{
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! I'm doing well, thank you for asking. How can I help you today?",
        "refusal": null,
        "reasoning": null,
        "reasoning_content": null
      },
      "logprobs": {
        "content": [
          {
            "token": "Hello",
            "logprob": -0.31725305,
            "bytes": [72, 101, 108, 108, 111],
            "top_logprobs": [
              {
                "token": "Hello",
                "logprob": -0.31725305,
                "bytes": [72, 101, 108, 108, 111]
              },
              {
                "token": "Hi",
                "logprob": -1.3190403,
                "bytes": [72, 105]
              }
            ]
          }
        ]
      },
      "finish_reason": "stop",
      "stop_reason": null,
      "token_ids": [9906, 0, 358, 2157, 1049, 11, 1309, 345, 369, 6464, 13]
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  },
  "prompt_token_ids": [9906, 0, 358]
}
```

**Respons penyelesaian teks (non-streaming)**

Untuk permintaan penyelesaian teks sinkron:

```
{
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "Paris, the capital and most populous city of France.",
      "logprobs": {
        "tokens": ["Paris", ",", " the", " capital"],
        "token_logprobs": [-0.31725305, -0.07918124, -0.12345678, -0.23456789],
        "top_logprobs": [
          {
            "Paris": -0.31725305,
            "London": -1.3190403,
            "Rome": -2.1234567
          },
          {
            ",": -0.07918124,
            " is": -1.2345678
          }
        ]
      },
      "finish_reason": "stop",
      "stop_reason": null,
      "prompt_token_ids": [464, 6864, 315, 4881, 374],
      "token_ids": [3915, 11, 279, 6864, 323, 1455, 95551, 3363, 315, 4881, 13]
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 11,
    "total_tokens": 16,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  }
}
```

**Respons streaming penyelesaian obrolan**

Untuk permintaan penyelesaian obrolan streaming, tanggapan dikirim sebagai Server-Sent Events (SSE):

```
data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {
        "role": "assistant",
        "content": "Hello",
        "refusal": null,
        "reasoning": null,
        "reasoning_content": null
      },
      "logprobs": {
        "content": [
          {
            "token": "Hello",
            "logprob": -0.31725305,
            "bytes": [72, 101, 108, 108, 111],
            "top_logprobs": [
              {
                "token": "Hello",
                "logprob": -0.31725305,
                "bytes": [72, 101, 108, 108, 111]
              }
            ]
          }
        ]
      },
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null,
  "prompt_token_ids": null
}

data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "! I'm"
      },
      "logprobs": null,
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {},
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  }
}

data: [DONE]
```

**Respons streaming penyelesaian teks**

Untuk permintaan penyelesaian teks streaming:

```
data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "Paris",
      "logprobs": {
        "tokens": ["Paris"],
        "token_logprobs": [-0.31725305],
        "top_logprobs": [
          {
            "Paris": -0.31725305,
            "London": -1.3190403
          }
        ]
      },
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": ", the capital",
      "logprobs": null,
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "",
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 11,
    "total_tokens": 16
  }
}

data: [DONE]
```

**Penjelasan bidang respons**
+ `id`: Pengidentifikasi unik untuk penyelesaian
+ `object`: Jenis objek yang dikembalikan (“chat.completion”, “text\$1completion”, “chat.completion.chunk”)
+ `created`: Stempel waktu Unix saat penyelesaian dibuat
+ `model`: Model yang digunakan untuk penyelesaian
+ `choices`: Array pilihan penyelesaian
+ `usage`: Informasi penggunaan token termasuk prompt, penyelesaian, dan total token
+ `logprobs`: Log informasi probabilitas untuk token (bila diminta)
+ `finish_reason`: Alasan mengapa model berhenti menghasilkan (“stop”, “length”, “content\$1filter”)
+ `delta`: Konten tambahan dalam respons streaming
+ `reasoning`: Konten penalaran saat reasing\$1effort digunakan
+ `token_ids`: Array token IDs untuk teks yang dihasilkan

Untuk dokumentasi API selengkapnya, lihat [Referensi InvokeEndpoint InvokeEndpointWithResponseStream API](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) [dan referensi API](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpointWithResponseStream.html).