

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

# OpenSearch Templat kerangka kerja alur layanan
<a name="ml-workflow-framework"></a>

Templat kerangka kerja alur OpenSearch Layanan Amazon memungkinkan Anda mengotomatiskan tugas penyiapan dan pra-pemrosesan OpenSearch Layanan yang kompleks dengan menyediakan templat untuk kasus penggunaan umum. Misalnya, Anda dapat menggunakan templat kerangka kerja alur untuk mengotomatiskan tugas penyiapan pembelajaran mesin. Templat kerangka kerja alur OpenSearch Layanan Amazon memberikan deskripsi ringkas tentang proses penyiapan dalam dokumen JSON atau YAMAL. Template ini menjelaskan konfigurasi alur kerja otomatis untuk obrolan percakapan atau pembuatan kueri, konektor AI, alat, agen, dan komponen lain yang mempersiapkan OpenSearch Layanan untuk penggunaan backend untuk model generatif.

Templat kerangka kerja alur OpenSearch Layanan Amazon dapat disesuaikan untuk memenuhi kebutuhan spesifik Anda. Untuk melihat contoh template kerangka alur kustom, lihat [flow-framework](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json). Untuk templat yang disediakan OpenSearch Layanan, lihat templat [alur kerja](https://opensearch.org/docs/2.13/automating-configurations/workflow-templates/). Untuk dokumentasi komprehensif, termasuk langkah-langkah terperinci, referensi API, dan referensi dari semua pengaturan yang tersedia, lihat [mengotomatisasi konfigurasi](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json) dalam OpenSearch dokumentasi sumber terbuka.

**catatan**  
Flow-framework tidak mendukung pemfilteran peran backend untuk Service 2.17. OpenSearch 

# Membuat konektor ML di OpenSearch Layanan
<a name="ml-create"></a>

Templat kerangka kerja alur OpenSearch Layanan Amazon memungkinkan Anda mengonfigurasi dan menginstal konektor ML dengan memanfaatkan API buat konektor yang ditawarkan di ml-commons. Anda dapat menggunakan konektor ML untuk menghubungkan OpenSearch Layanan ke AWS layanan lain atau platform pihak ketiga. Untuk informasi selengkapnya tentang hal ini, lihat [Membuat konektor untuk platform ML pihak ketiga](https://opensearch.org/docs/2.13/ml-commons-plugin/remote-models/connectors/). Framework Framework Amazon OpenSearch Service API memungkinkan Anda mengotomatiskan tugas penyiapan dan pra-pemrosesan OpenSearch Layanan dan dapat digunakan untuk membuat konektor ML. 

Sebelum Anda dapat membuat konektor di OpenSearch Layanan, Anda harus melakukan hal berikut:
+ Buat domain Amazon SageMaker AI.
+ Buat peran IAM.
+ Konfigurasikan izin peran lulus.
+ Petakan peran flow-framework dan ml-commons di Dasbor. OpenSearch 

Untuk informasi selengkapnya tentang cara mengatur konektor ML untuk AWS layanan, lihat [konektor Amazon OpenSearch Service MLuntuk AWS layanan](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq). Untuk mempelajari selengkapnya tentang penggunaan konektor OpenSearch Service ML dengan platform pihak ketiga, lihat [konektor Amazon OpenSearch Service ML untuk platform pihak ketiga](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).

## Membuat konektor melalui layanan flow-framework
<a name="ml-workflow"></a>

Untuk membuat template flow-framework dengan konektor, Anda harus mengirim `POST` permintaan ke endpoint domain OpenSearch Service Anda. Anda dapat menggunakan cURL, contoh klien Python, Postman, atau metode lain untuk mengirim permintaan yang ditandatangani. `POST`Permintaan mengambil format berikut:

```
POST /_plugins/_flow_framework/workflow 
{
  "name": "Deploy Claude Model",
  "description": "Deploy a model using a connector to Claude",
  "use_case": "PROVISION",
  "version": {
    "template": "1.0.0",
    "compatibility": [
      "2.12.0",
      "3.0.0"
    ]
  },
  "workflows": {
    "provision": {
      "nodes": [
        {
          "id": "create_claude_connector",
          "type": "create_connector",
          "user_inputs": {
            "name": "Claude Instant Runtime Connector",
            "version": "1",
            "protocol": "aws_sigv4",
            "description": "The connector to Bedrock service for Claude model",
            "actions": [
              {
                "headers": {
                  "x-amz-content-sha256": "required",
                  "content-type": "application/json"
                },
                "method": "POST",
                "request_body": "{ \"prompt\":\"${parameters.prompt}\", \"max_tokens_to_sample\":${parameters.max_tokens_to_sample}, \"temperature\":${parameters.temperature},  \"anthropic_version\":\"${parameters.anthropic_version}\" }",
                "action_type": "predict",
                "url": "https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke"
              }
            ],
            "credential": {
                "roleArn": "arn:aws:iam::account-id:role/opensearch-secretmanager-role" 
             },
            "parameters": {
              "endpoint": "bedrock-runtime.us-west-2.amazonaws.com",
              "content_type": "application/json",
              "auth": "Sig_V4",
              "max_tokens_to_sample": "8000",
              "service_name": "bedrock",
              "temperature": "0.0001",
              "response_filter": "$.completion",
              "region": "us-west-2",
              "anthropic_version": "bedrock-2023-05-31"
            }
          }
        }
      ]
    }
  }
}
```

Jika domain Anda berada dalam cloud pribadi virtual (Amazon VPC), Anda harus terhubung ke VPC Amazon agar permintaan berhasil membuat konektor AI. Mengakses VPC Amazon bervariasi menurut konfigurasi jaringan, tetapi biasanya melibatkan koneksi ke VPN atau jaringan perusahaan. Untuk memastikan bahwa Anda dapat mencapai domain OpenSearch Layanan, `https://your-vpc-domain.region.es.amazonaws.com` navigasikan ke browser web dan verifikasi bahwa Anda menerima respons JSON default. (Ganti *placeholder text* dengan nilai Anda sendiri.

### Contoh klien Python
<a name="ml-python-sample"></a>

Klien Python lebih mudah diotomatisasi daripada `HTTP` permintaan dan memiliki kegunaan ulang yang lebih baik. Untuk membuat konektor AI dengan klien Python, simpan kode contoh berikut ke file Python. [Klien memerlukan [AWS SDK untuk paket Python (Boto3), requests:HTTP for Humans](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq)[, dan requests-aws4auth 1.2.3](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).](https://pypi.org/project/requests-aws4auth/)

```
import boto3
import requests 
from requests_aws4auth import AWS4Auth

host = 'domain-endpoint/'
region = 'region'
service = 'es'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

path = '_plugins/_flow_framework/workflow'
url = host + path

payload = {
  "name": "Deploy Claude Model",
  "description": "Deploy a model using a connector to Claude",
  "use_case": "PROVISION",
  "version": {
    "template": "1.0.0",
    "compatibility": [
      "2.12.0",
      "3.0.0"
    ]
  },
  "workflows": {
    "provision": {
      "nodes": [
        {
          "id": "create_claude_connector",
          "type": "create_connector",
          "user_inputs": {
            "name": "Claude Instant Runtime Connector",
            "version": "1",
            "protocol": "aws_sigv4",
            "description": "The connector to Bedrock service for Claude model",
            "actions": [
              {
                "headers": {
                  "x-amz-content-sha256": "required",
                  "content-type": "application/json"
                },
                "method": "POST",
                "request_body": "{ \"prompt\":\"${parameters.prompt}\", \"max_tokens_to_sample\":${parameters.max_tokens_to_sample}, \"temperature\":${parameters.temperature},  \"anthropic_version\":\"${parameters.anthropic_version}\" }",
                "action_type": "predict",
                "url": "https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke"
              }
            ],
            "credential": {
                "roleArn": "arn:aws:iam::account-id:role/opensearch-secretmanager-role" 
             },
            "parameters": {
              "endpoint": "bedrock-runtime.us-west-2.amazonaws.com",
              "content_type": "application/json",
              "auth": "Sig_V4",
              "max_tokens_to_sample": "8000",
              "service_name": "bedrock",
              "temperature": "0.0001",
              "response_filter": "$.completion",
              "region": "us-west-2",
              "anthropic_version": "bedrock-2023-05-31"
            }
          }
        }
      ]
    }
  }
}

headers = {"Content-Type": "application/json"}

r = requests.post(url, auth=awsauth, json=payload, headers=headers)
print(r.status_code)
print(r.text)
```

#### Templat alur kerja yang telah ditentukan sebelumnya
<a name="ml-predefined"></a>

Amazon OpenSearch Service menyediakan beberapa templat alur kerja untuk beberapa kasus penggunaan machine learning (ML) umum. Menggunakan template menyederhanakan pengaturan yang kompleks dan memberikan banyak nilai default untuk kasus penggunaan seperti pencarian semantik atau percakapan. Anda dapat menentukan template alur kerja saat memanggil Create Workflow API.
+ Untuk menggunakan templat alur kerja yang disediakan OpenSearch Layanan, tentukan kasus penggunaan templat sebagai parameter `use_case` kueri. 
+ Untuk menggunakan template alur kerja kustom, berikan template lengkap di badan permintaan. Untuk contoh template kustom, lihat contoh template JSON atau contoh template YAMAL.

#### Kasus Penggunaan Template
<a name="templates"></a>

Tabel ini memberikan gambaran umum tentang berbagai templat yang tersedia, deskripsi templat, dan parameter yang diperlukan.


| Kasus penggunaan templat | Deskripsi | Parameter yang Diperlukan | 
| --- | --- | --- | 
| `bedrock_titan_embedding_model_deploy` | Membuat dan menerapkan model penyematan Amazon Bedrock (secara default, `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `bedrock_titan_embedding_model_deploy` | Membuat dan menerapkan model penyematan multimodal Amazon Bedrock (secara default, `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `cohere_embedding_model_deploy` | Membuat dan menerapkan model penyematan Cohere (secara default, embed-english-v 3.0). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `cohere_chat_model_deploy` | Membuat dan menerapkan model obrolan Cohere (secara default, Cohere Command). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `open_ai_embedding_model_deploy` | Membuat dan menerapkan model penyematan OpenAI (secara default text-embedding-ada, -002). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `openai_chat_model_deploy` | Membuat dan menerapkan model obrolan OpenAI (secara default, gpt-3.5-turbo). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding` | Mengonfigurasi pencarian semantik dan menerapkan model penyematan Cohere. Anda harus menyediakan kunci API untuk model Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding_query_enricher` | Mengonfigurasi pencarian semantik dan menerapkan model penyematan Cohere. Menambahkan prosesor pencarian query\$1enricher yang menetapkan ID model default untuk kueri saraf. Anda harus menyediakan kunci API untuk model Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `multimodal_search_with_bedrock_titan` | Menerapkan model multimodal Amazon Bedrock dan mengonfigurasi pipeline konsumsi dengan prosesor text\$1image\$1embedding dan indeks k-NN untuk pencarian multimodal. Anda harus menyediakan AWS kredensial. | `create_connector.credential.roleArn` | 

**catatan**  
Untuk semua template yang memerlukan ARN rahasia, defaultnya adalah menyimpan rahasia dengan nama kunci “kunci” di AWS Secrets Manager.

## Template default dengan model yang telah dilatih sebelumnya
<a name="ml-pretrained-default"></a>

Amazon OpenSearch Service menawarkan dua templat alur kerja default tambahan yang tidak tersedia di Layanan opensource. OpenSearch 


| Kasus penggunaan templat | Deskripsi | 
| --- | --- | 
| `semantic_search_with_local_model` | Mengonfigurasi [pencarian semantik](https://opensearch.org/docs/2.14/search-plugins/semantic-search/) dan menerapkan model () yang telah dilatih sebelumnya. `msmarco-distilbert-base-tas-b` Menambahkan prosesor [https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/](https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/)pencarian yang menetapkan ID model default untuk kueri saraf dan membuat indeks K-nN tertaut yang disebut ''. my-nlp-index | 
| `hybrid_search_with_local_model` | Mengonfigurasi [pencarian hybrid](https://opensearch.org/docs/2.14/search-plugins/hybrid-search/) dan menerapkan model () yang telah dilatih sebelumnya. `msmarco-distilbert-base-tas-b` Menambahkan prosesor [https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/](https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/)pencarian yang menetapkan ID model default untuk kueri saraf dan membuat indeks K-nN tertaut yang disebut ''. my-nlp-index | 

# Mengatur Konfigurasi Izin
<a name="flow-framework-permissions"></a>

Jika Anda membuat domain baru dengan versi 2.13 atau yang lebih baru, izin sudah ada. Jika Anda mengaktifkan kerangka kerja alur pada domain OpenSearch Layanan yang sudah ada sebelumnya dengan versi 2.11 atau versi sebelumnya yang kemudian Anda tingkatkan ke versi 2.13 atau yang lebih baru, Anda harus menentukan peran tersebut. `flow_framework_manager` Pengguna non-admin harus dipetakan ke peran ini untuk mengelola indeks hangat pada domain menggunakan kontrol akses berbutir halus. Untuk membuat secara manual peran `flow_framework_manager`, lakukan langkah-langkah berikut:

1. Di OpenSearch Dasbor, buka **Keamanan** dan pilih **Izin**.

1. Pilih **Buat grup tindakan** dan konfigurasi grup-grup berikut:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/flow-framework-permissions.html)

1. Pilih **Peran** dan **Buat peran**.

1. Beri nama peran **flow\$1framework\$1manager**.

1. Untuk **Izin klaster, **pilih `flow_framework_full_access` dan `flow_framework_read_access`.

1. Untuk **Indeks**, ketik `*`.

1. Untuk **Izin indeks**, pilih `indices:admin/aliases/get`, `indices:admin/mappings/get`, dan `indices_monitor`.

1. Pilih **Buat**.

1. Setelah Anda membuat peran, [petakan](fgac.md#fgac-mapping) ke setiap pengguna atau peran backend yang akan mengelola indeks kerangka alur.