-
Notifications
You must be signed in to change notification settings - Fork 614
Add comprehensive agentic memory API documentation for OpenSearch 3.3 #11169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Thank you for submitting your PR. The PR states are In progress (or Draft) -> Tech review -> Doc review -> Editorial review -> Merged. Before you submit your PR for doc review, make sure the content is technically accurate. If you need help finding a tech reviewer, tag a maintainer. When you're ready for doc review, tag the assignee of this PR. The doc reviewer may push edits to the PR directly or leave comments and editorial suggestions for you to address (let us know in a comment if you have a preference). The doc reviewer will arrange for an editorial review. |
@dhrubo-os Thank you for the PR! When you connect it to an issue, you have to leave "Closes", "Fixes", or "Resolves" so it's properly linked (in this case, |
Hey @dhrubo-os , let me know when this PR is ready for doc review. We have 3 days left before the release. |
Yes please start reviewing the PR. Thanks |
|
||
## Path parameters | ||
|
||
| Parameter | Data type | Description | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently we have a separate column Required/Optional
, can we follow the same format?
{: .warning} | ||
|
||
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can create a memory in one of the following modes (controlled by the `infer` parameter): | ||
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can create memories in two types: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can create memories in two types: | |
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can provide memory payload in two types: |
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can create a memory in one of the following modes (controlled by the `infer` parameter): | ||
Use this API to add an agentic memory to a [memory container]({{site.url}}{{site.baseurl}}/ml-commons-plugin/api/agentic-memory-apis/create-memory-container). You can create memories in two types: | ||
|
||
- **Conversation memory** -- Stores conversational messages between users and assistants. Can be processed (when `infer` is `true`) to extract facts or stored as raw messages. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- **Conversation memory** -- Stores conversational messages between users and assistants. Can be processed (when `infer` is `true`) to extract facts or stored as raw messages. | |
- **conversational** -- Stores conversational messages between users and assistants. |
|
||
- **Conversation memory** -- Stores conversational messages between users and assistants. Can be processed (when `infer` is `true`) to extract facts or stored as raw messages. | ||
|
||
- **Data memory** -- Stores structured, non-conversational data such as agent state, checkpoints, or reference information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- **Data memory** -- Stores structured, non-conversational data such as agent state, checkpoints, or reference information. | |
- **data** -- Stores extra messages, structured, non-conversational data such as agent state, checkpoints, or reference information. |
|
||
Memory processing modes (controlled by the `infer` parameter): | ||
|
||
- Fact memory -- A processed representation of the message. The large language model (LLM) associated with the memory container extracts and stores key factual information or knowledge from the original text. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Fact memory -- A processed representation of the message. The large language model (LLM) associated with the memory container extracts and stores key factual information or knowledge from the original text. | |
- **infer=true** -- Use large language model (LLM) to extract key information or knowledge from the messages. |
|
||
- Fact memory -- A processed representation of the message. The large language model (LLM) associated with the memory container extracts and stores key factual information or knowledge from the original text. | ||
|
||
- Raw message memory -- The unprocessed message content. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- **infer=false** -- Only store raw messages and data in working memory. |
`session_id` | String | Optional | The session ID associated with the memory. | ||
`agent_id` | String | Optional | The agent ID associated with the memory. | ||
`infer` | Boolean | Optional | Controls whether the LLM infers context from messages. Default is `true`. When `true`, the LLM extracts factual information from the original text and stores it as the memory. When `false`, the memory contains the unprocessed message and you must explicitly specify the `role` in each message. | ||
`messages` | List | Conditional | A list of messages for conversation memory. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `memory_type` of `conversation`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`messages` | List | Conditional | A list of messages for conversation memory. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `memory_type` of `conversation`. | |
`messages` | List | Conditional | A list of messages for conversational payload. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `payload_type` of `conversational`. |
`agent_id` | String | Optional | The agent ID associated with the memory. | ||
`infer` | Boolean | Optional | Controls whether the LLM infers context from messages. Default is `true`. When `true`, the LLM extracts factual information from the original text and stores it as the memory. When `false`, the memory contains the unprocessed message and you must explicitly specify the `role` in each message. | ||
`messages` | List | Conditional | A list of messages for conversation memory. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `memory_type` of `conversation`. | ||
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. | |
`structured_data` | Map<String, Object> | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a new row for binary_data
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And metadata
also?
`infer` | Boolean | Optional | Controls whether the LLM infers context from messages. Default is `true`. When `true`, the LLM extracts factual information from the original text and stores it as the memory. When `false`, the memory contains the unprocessed message and you must explicitly specify the `role` in each message. | ||
`messages` | List | Conditional | A list of messages for conversation memory. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `memory_type` of `conversation`. | ||
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. | ||
`memory_type` | String | Required | The type of memory: `conversation` or `data`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`memory_type` | String | Required | The type of memory: `conversation` or `data`. | |
`payload_type` | String | Required | The type of payload: `conversational` or `data`. |
`messages` | List | Conditional | A list of messages for conversation memory. Each message requires `content` and may include a `role` (commonly, `user` or `assistant`) when `infer` is set to `true`. Required for `memory_type` of `conversation`. | ||
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. | ||
`memory_type` | String | Required | The type of memory: `conversation` or `data`. | ||
`namespace` | Object | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`namespace` | Object | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). | |
`namespace` | List<String> | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explain more details
If session_id
not exists in namespace
will create a new session and use the new session's id
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. | ||
`memory_type` | String | Required | The type of memory: `conversation` or `data`. | ||
`namespace` | Object | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). | ||
`metadata` | Object | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`metadata` | Object | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). | |
`metadata` | Map<String, String> | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the code looks like it's Map<String, Object>
`memory_type` | String | Required | The type of memory: `conversation` or `data`. | ||
`namespace` | Object | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). | ||
`metadata` | Object | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). | ||
`session_id` | String | Optional | The session ID associated with the memory. Deprecated in favor of using `namespace.session_id`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove these two lines: 45, 46
`metadata` | Object | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). | ||
`session_id` | String | Optional | The session ID associated with the memory. Deprecated in favor of using `namespace.session_id`. | ||
`agent_id` | String | Optional | The agent ID associated with the memory. Deprecated in favor of using `namespace.agent_id`. | ||
`infer` | Boolean | Optional | Controls whether the LLM infers context from messages. Default is `true` for conversation memory, `false` for data memory. When `true`, the LLM extracts factual information from the original text and stores it as the memory. When `false`, the memory contains the unprocessed message and you must explicitly specify the `role` in each message. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`infer` | Boolean | Optional | Controls whether the LLM infers context from messages. Default is `true` for conversation memory, `false` for data memory. When `true`, the LLM extracts factual information from the original text and stores it as the memory. When `false`, the memory contains the unprocessed message and you must explicitly specify the `role` in each message. | |
`infer` | Boolean | Optional | Controls whether use LLM to extract key information from messages. Default is `false`. When `true`, the LLM extracts key information from the original text and stores it as the memory. |
`structured_data` | Object | Conditional | Structured data content for data memory. Required for `memory_type` of `data`. | ||
`memory_type` | String | Required | The type of memory: `conversation` or `data`. | ||
`namespace` | Object | Optional | Namespace context for organizing memories (e.g., `user_id`, `session_id`, `agent_id`). | ||
`metadata` | Object | Optional | Additional metadata for the memory (e.g., `status`, `branch`, custom fields). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a new row for tags
## Example request | ||
## Example requests | ||
|
||
### Conversation memory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Conversation memory | |
### Conversational payload |
`embedding_model_id` | String | Optional | The embedding model ID. | ||
`embedding_dimension` | Integer | Optional | The dimension of the embedding model. Required if `embedding_model_type` is `TEXT_EMBEDDING`. | ||
`llm_id` | String | Optional | The LLM model ID for processing and inference. | ||
`index_prefix` | String | Optional | Custom prefix for the memory indices. If not specified, a default prefix is used: if `use_system_index` is `true`, use `default` as index prefix; if `use_system_index` is `false`, use 8 bit random UUID as index prefix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also support such fields
- disable_history, bool
- disable_session, bool
- max_infer_size: int ,
- index_settings , Map<String, Map<String, Object>>
Example of index_settings
"index_settings": {
"session_index" : {
"index": {
"number_of_shards": "2",
"number_of_replicas": "2"
}
},
"short_term_memory_index" : {
"index": {
"number_of_shards": "2",
"number_of_replicas": "2"
}
},
"long_term_memory_index" : {
"index": {
"number_of_shards": "2",
"number_of_replicas": "2"
}
},
"long_term_memory_history_index" : {
"index": {
"number_of_shards": "2",
"number_of_replicas": "2"
}
}
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
Field | Data type | Required/Optional | Description | ||
:--- | :--- | :--- | :--- | ||
`type` | String | Required | The strategy type: `SEMANTIC`, `USER_PREFERENCE`, or `SUMMARY`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add enabled
field, bool type, optional
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
- Add long-term memory APIs: search, update, delete - Add memory history APIs: search, delete - Add general memory APIs: get, update, delete, search by type - Update add-memory API to include data type memory and structured data - Update index with complete API structure - Support for conversation memory, data memory, and trace data - Include namespace-based organization and tagging system - Remove experimental warning as agentic memory is GA in 3.3 Signed-off-by: Dhrubo Saha <[email protected]>
- Remove redundant API files in favor of unified memory APIs - Delete legacy files: delete-long-term-memory.md, delete-memory-history.md, search-long-term-memory.md, search-memory-history.md, update-long-term-memory.md, search-memory.md, delete-memory.md, update-memory.md, get-memory.md - Enhance unified APIs with comprehensive examples for all memory types (sessions, working, long-term, history) - Add metadata field documentation to add-memory.md and get-memory-by-type.md - Update response examples and field documentation with actual API responses - Update index.md to reflect clean unified API structure - Fix memory type parameter names (sessions vs session) for consistency Signed-off-by: Dhrubo Saha <[email protected]>
- Add missing update-memory-container.md and search-memory-container.md files - Update create-memory-container.md with advanced features from Postman collection: * Multiple strategy support (SEMANTIC, USER_PREFERENCE, SUMMARY) * Strategy configuration with llm_result_path * Index configuration (index_prefix, use_system_index) * Remove experimental warning (GA in 3.3) - Remove experimental feature reference from index.md - All APIs now match actual implementation from Postman collection Signed-off-by: Dhrubo Saha <[email protected]>
- Add default llm_result_path value: $.output.message.content[0].text (Bedrock Converse format) - Document LLM connector requirement for system_prompt and user_prompt parameters - Reference ml-commons PR opensearch-project#4283 for standardized connector format - Clarify that default is optimized for Bedrock Converse API Signed-off-by: Dhrubo Saha <[email protected]>
- Update add-memory.md terminology: memory_type -> payload_type, conversational/data types - Add Required/Optional column format to parameter tables - Update version labels from 3.2 to 3.3 for new unified APIs - Add binary_data and tags fields with correct data types - Fix metadata field representation as string in response examples - Add detailed explanations for namespace session creation behavior - Update create-memory-container.md with system_prompt and llm_id strategy fields - Add detailed index_prefix default behavior explanation - Show multiple namespace field examples in strategy configuration Signed-off-by: Dhrubo Saha <[email protected]>
- Add plugins.ml_commons.agentic_memory_enabled setting to cluster-settings.md - Enables/disables agentic memory functionality for AI agents - Includes session, working, long-term memory, and memory history features Signed-off-by: Dhrubo Saha <[email protected]>
Signed-off-by: Dhrubo Saha <[email protected]>
|
||
| Field | Data type | Description | | ||
| :--- | :--- | :--- | | ||
| `additional_info` | Object | Additional metadata to associate with the session. Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The summary
field is updatable
|
||
| Field | Data type | Description | | ||
| :--- | :--- | :--- | | ||
| `memory` | String | The updated memory content. Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guide user that update memory
field will cause embedding automatically updated?
| Field | Data type | Description | | ||
| :--- | :--- | :--- | | ||
| `messages` | Array | Updated conversation messages (for conversation type). Optional. | | ||
| `structured_data` | Object | Updated structured data content (for data type). Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
metadata
, binary_data
also can be updated
|
||
| Field | Data type | Required/Optional | Description | | ||
| :--- | :--- | :--- | :--- | | ||
| `name` | String | Optional | The updated name of the memory container. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
llm_id
, backend_roles
, and [strategies
, embedding_model_id
, embedding_model_type
, embedding_dimension
] fields inside configuration
object all can be updated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the meantime, update strategies
with id
will only update that specific strategy, if we specified a strategy without id
, a new strategy will be created
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding new backend_roles in backend_roles
will let grant new user read or write access with that backend_roles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
backend_roles
and namespace
field (inside strategies
) are update by overwritten, so user need to make sure that original field is included if he wants to keep it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
embedding_model_id
, embedding_model_type
, embedding_dimension
fields are only allowed to update if the long-term memory index has not created for this memory container yet. That means once we have a long-term memory index with the index_prefix specified in this memory container created, embedding_model_id
, embedding_model_type
, embedding_dimension
cannot be updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
|
||
Field | Data type | Required/Optional | Description | ||
:--- | :--- | :--- | :--- | ||
`type` | String | Required | The strategy type: `SEMANTIC`, `USER_PREFERENCE`, or `SUMMARY`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Memory strategy also support enabled
field
### Setting | ||
|
||
```yaml | ||
plugins.ml_commons.max_memories_per_container: 10000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this, we don't have this setting
### Setting | ||
|
||
```yaml | ||
plugins.ml_commons.max_memory_containers_per_user: 100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this, we don't have this setting
| Field | Data type | Required/Optional | Description | | ||
| :--- | :--- | :--- | :--- | | ||
| `name` | String | Optional | The updated name of the memory container. | | ||
| `description` | String | Optional | The updated description of the memory container. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we support more fields in update container API. @b4sjoo can you help review?
|
||
The request fields vary depending on the memory type being updated: | ||
|
||
### For session memory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
| Field | Data type | Description | | ||
| :--- | :--- | :--- | | ||
| `additional_info` | Object | Additional metadata to associate with the session. Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We support updating these fields for session
- summary
- metadata
- agents
- additional_info
| Field | Data type | Description | | ||
| :--- | :--- | :--- | | ||
| `messages` | Array | Updated conversation messages (for conversation type). Optional. | | ||
| `structured_data` | Object | Updated structured data content (for data type). Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add new row for
binary_data
metadata
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also added these
| `messages` | Array | Updated conversation messages (for conversation type). Optional. | | ||
| `structured_data` | Object | Updated structured data content (for data type). Optional. | | ||
| `tags` | Object | Updated tags for categorization. Optional. | | ||
| `additional_info` | Object | Additional metadata. Optional. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this line
Signed-off-by: Dhrubo Saha <[email protected]>
`messages` | List | Conditional | A list of messages for conversational payload. Each message requires `content`. Required for `payload_type` of `conversational`. | ||
`structured_data` | Map<String, Object> | Conditional | Structured data content for data memory. Required for `payload_type` of `data`. | ||
`binary_data` | String | Optional | Binary data content encoded as base64 string for binary payloads. | ||
`payload_type` | String | Required | The type of payload: `conversational` or `data`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is optional, default is conversational
Field | Data type | Required/Optional | Description | ||
:--- |:---------------------| :--- | :--- | ||
`messages` | List | Conditional | A list of messages for conversational payload. Each message requires `content`. Required for `payload_type` of `conversational`. | ||
`structured_data` | Map<String, Object> | Conditional | Structured data content for data memory. Required for `payload_type` of `data`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is optional, even for data
type.
|
||
Use this API to create a memory container to hold agentic memories. The container can have two model types associated with it: | ||
|
||
- A text embedding model for vectorizing the message so it can be searched. Use a text embedding model for dense vector embeddings or a sparse encoding model for sparse vector formats. If no embedding model is specified, messages are stored but cannot be used for vector-based searches. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Long term memory requires both an LLM model and embedding model to be configured.
|
||
### LLM | ||
|
||
Currently, agentic memory supports only the Anthropic Claude model for LLM capabilities. Starting with OpenSearch 3.3, this feature will be generally available and will include support for additional LLM providers, such as OpenAI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this line? Or tune it, as we do support multiple LLMs in 3.3
"function_name": "remote", | ||
"description": "test model", | ||
"connector": { | ||
"name": "Amazon Bedrock Connector: embedding", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This name is not correct, not embedding
"content-type": "application/json" | ||
}, | ||
"url": "https://bedrock-runtime.${parameters.region}.amazonaws.com/model/${parameters.model}/invoke", | ||
"request_body": """{ "system": "${parameters.system_prompt}", "anthropic_version": "${parameters.anthropic_version}", "max_tokens": ${parameters.max_tokens}, "temperature": ${parameters.temperature}, "messages": ${parameters.messages} }""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change the request body
"headers": { | ||
"content-type": "application/json" | ||
}, | ||
"url": "https://bedrock-runtime.${parameters.region}.amazonaws.com/model/${parameters.model}/invoke", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to use converse API ? The default llm_result_path is for bedrock converse API
Description
Describe what this change achieves.
Issues Resolved
Closes #11162
Version
3.3
Frontend features
If you're submitting documentation for an OpenSearch Dashboards feature, add a video that shows how a user will interact with the UI step by step. A voiceover is optional.
Checklist
For more information on following Developer Certificate of Origin and signing off your commits, please check here.