# Backport
This will backport the following commits from `main` to `8.13`:
- [[DOCS] Fixes incorrect internal link
(#177256)](https://github.com/elastic/kibana/pull/177256)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Franಠ_ಠis
Conil","email":"frconil@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-03-19T20:51:51Z","message":"[DOCS]
Fixes incorrect internal link
(#177256)","sha":"b7c3c49bac961378ff9cb670fc1ed7c6f2ed813b","branchLabelMapping":{"^v8.14.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","docs","Feature:Actions/ConnectorTypes","v8.11.5","v8.14.0","v8.12.3","v8.13.1"],"title":"fixes
incorrect internal
link","number":177256,"url":"https://github.com/elastic/kibana/pull/177256","mergeCommit":{"message":"[DOCS]
Fixes incorrect internal link
(#177256)","sha":"b7c3c49bac961378ff9cb670fc1ed7c6f2ed813b"}},"sourceBranch":"main","suggestedTargetBranches":["8.11","8.12","8.13"],"targetPullRequestStates":[{"branch":"8.11","label":"v8.11.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.14.0","branchLabelMappingKey":"^v8.14.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/177256","number":177256,"mergeCommit":{"message":"[DOCS]
Fixes incorrect internal link
(#177256)","sha":"b7c3c49bac961378ff9cb670fc1ed7c6f2ed813b"}},{"branch":"8.12","label":"v8.12.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.13","label":"v8.13.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Franಠ_ಠis Conil <frconil@users.noreply.github.com>
~This PR still needs work (tests, mainly), so keeping it in draft for
now, but feel free to take it for a spin.~
Implements Bedrock support, specifically for the Claude models.
Architecturally, this introduces LLM adapters: one for OpenAI (which is
what we already have), and one for Bedrock/Claude. The Bedrock/Claude
adapter does the following things:
- parses data from a SerDe (an AWS concept IIUC) stream using
`@smithy/eventstream-serde-node`.
- Converts function requests and results into XML and back (to some
extent)
- some slight changes to existing functionality to achieve _some_ kind
of baseline performance with Bedrock + Claude.
Generally, GPT seems better at implicit tasks. Claude needs explicit
tasks, otherwise it will take things too literally. For instance, I had
to use a function for generating a title because Claude was too eager to
add explanations. For the `classify_esql` function, I had to add extra
instructions to stop it from requesting information that is not there.
It is prone to generating invalid XML.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>