Skip to content

Commit

Permalink
Creates new page detailing Bedrock connector setup (#5148)
Browse files Browse the repository at this point in the history
* Creates new page detailing Bedrock connector setup

* Update docs/assistant/connect-to-bedrock.asciidoc

Co-authored-by: Joe Peeples <[email protected]>

* Update docs/assistant/connect-to-bedrock.asciidoc

Co-authored-by: Joe Peeples <[email protected]>

* Update docs/assistant/connect-to-bedrock.asciidoc

Co-authored-by: Joe Peeples <[email protected]>

* Update docs/assistant/connect-to-bedrock.asciidoc

Co-authored-by: Joe Peeples <[email protected]>

* adds information about provisioned throughput

* sentence edits

* incorporates Charles' review

* adds context to each section

* adds video embeds

* Update docs/assistant/connect-to-bedrock.asciidoc

* Update docs/assistant/connect-to-bedrock.asciidoc

* Update docs/assistant/connect-to-bedrock.asciidoc

* Update docs/assistant/connect-to-bedrock.asciidoc

* minor format fix

* update heading

* Update docs/assistant/connect-to-bedrock.asciidoc

* Formatting fix

---------

Co-authored-by: Joe Peeples <[email protected]>
(cherry picked from commit 61ee1ad)
  • Loading branch information
benironside authored and mergify[bot] committed May 3, 2024
1 parent f12dc4f commit 35436f8
Show file tree
Hide file tree
Showing 2 changed files with 180 additions and 0 deletions.
179 changes: 179 additions & 0 deletions docs/assistant/connect-to-bedrock.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
[[assistant-connect-to-bedrock]]
= Connect to Amazon Bedrock

This page provides step-by-step instructions for setting up an Amazon Bedrock connector for the first time. This connector type enables you to leverage large language models (LLMs) within {kib}. You'll first need to configure AWS, then configure the connector in {kib}.

NOTE: Only Amazon Bedrock's `Anthropic` models are supported: `Claude` and `Claude instant`.

[discrete]
== Configure AWS

[discrete]
=== Configure an IAM policy

First, configure an IAM policy with the necessary permissions:

. Log into the AWS console and search for Identity and Access Management (IAM).
. From the **IAM** menu, select **Policies** → **Create policy**.
. To provide the necessary permissions, paste the following JSON into the **Specify permissions** menu.
+
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": "*"
}
]
}
```
+
NOTE: These are the minimum required permissions. IAM policies with additional permissions are also supported.
+
. Click **Next**. Name your policy.

The following video demonstrates these steps.

=======
++++
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/ek6NpHaj6u4keZyEjPWXcT.jpg"
data-uuid="ek6NpHaj6u4keZyEjPWXcT"
data-v="4"
data-type="inline"
/>
</br>
++++
=======


[discrete]
=== Configure an IAM User

Next, assign the policy you just created to a new user:

. Return to the **IAM** menu. Select **Users** from the navigation menu, then click **Create User**.
. Name the user, then click **Next**.
. Select **Attach policies directly**.
. In the **Permissions policies** field, search for the policy you created earlier, select it, and click **Next**.
. Review the configuration then click **Create user**.

The following video demonstrates these steps.

=======
++++
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/5BQb2P818SMddRo6gA79hd.jpg"
data-uuid="5BQb2P818SMddRo6gA79hd"
data-v="4"
data-type="inline"
/>
</br>
++++
=======

[discrete]
=== Create an access key

Create the access keys that will authenticate your Elastic connector:

. Return to the **IAM** menu. Select **Users** from the navigation menu.
. Search for the user you just created, and click its name.
. Go to the **Security credentials** tab.
. Under **Access keys**, click **Create access key**.
. Select **Third-party service**, check the box under **Confirmation**, click **Next**, then click **Create access key**.
. Click **Download .csv file** to download the key. Store it securely.

The following video demonstrates these steps.

=======
++++
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/8oXgP1fbaQCqjWUgncF9at.jpg"
data-uuid="8oXgP1fbaQCqjWUgncF9at"
data-v="4"
data-type="inline"
/>
</br>
++++
=======

[discrete]
=== Enable model access

Make sure the supported Amazon Bedrock LLMs are enabled:

. Search the AWS console for Amazon Bedrock.
. From the Amazon Bedrock page, click **Get started**.
. Select **Model access** from the left navigation menu, then click **Manage model access**.
. Check the boxes for **Claude** and/or **Claude Instant**, depending which model or models you plan to use.
. Click **Save changes**.

The following video demonstrates these steps.

=======
++++
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/Z7zpHq4N9uvUxegBUMbXDj.jpg"
data-uuid="Z7zpHq4N9uvUxegBUMbXDj"
data-v="4"
data-type="inline"
/>
</br>
++++
=======

[discrete]
== Configure the Amazon Bedrock connector

Finally, configure the connector in {kib}:

. Log in to {kib}.
. Go to **Stack Management → Connectors → Create connector → Amazon Bedrock**.
. Name your connector.
. (Optional) Configure the Amazon Bedrock connector to use a different AWS region where Anthropic models are supported by editing the **URL** field, for example by changing `us-east-1` to `eu-central-1`.
. (Optional) Add one of the following strings if you want to use a model other than the default:
.. For Haiku: `anthropic.claude-3-haiku-20240307-v1:0`
.. For Sonnet: `anthropic.claude-3-sonnet-20240229-v1:0`
.. For Opus: `anthropic.claude-3-opus-20240229-v1:0`
. Enter the **Access Key** and **Secret** that you generated earlier, then click **Save**.
+
Your LLM connector is now configured. For more information on using Elastic AI Assistant, refer to <<security-assistant, AI Assistant>>.

IMPORTANT: If you're using https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html[provisioned throughput], your ARN becomes the model ID, and the connector settings **URL** value must be https://www.urlencoder.org/[encoded] to work. For example, if the non-encoded ARN is `arn:aws:bedrock:us-east-2:123456789102:provisioned-model/3Ztr7hbzmkrqy1`, the encoded ARN would be `arn%3Aaws%3Abedrock%3Aus-east-2%3A123456789102%3Aprovisioned-model%2F3Ztr7hbzmkrqy1`.


The following video demonstrates these steps.

=======
++++
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script>
<img
style="width: 100%; margin: auto; display: block;"
class="vidyard-player-embed"
src="https://play.vidyard.com/QJe4RcTJbp6S6m9CkReEXs.jpg"
data-uuid="QJe4RcTJbp6S6m9CkReEXs"
data-v="4"
data-type="inline"
/>
</br>
++++
=======
1 change: 1 addition & 0 deletions docs/assistant/security-assistant.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,4 @@ In addition to practical advice, AI Assistant can offer conceptual advice, tips,


include::ai-alert-triage.asciidoc[leveloffset=+1]
include::connect-to-bedrock.asciidoc[leveloffset=+1]

0 comments on commit 35436f8

Please sign in to comment.