[Feature]: Add session persistence for AWS Bedrock
#443 added session persistence for Gemini, but other providers were left unimplemented.
We should add similar implementation of Initialize() to load chat history for AWS Bedrock. This can happen in gollm/bedrock.go and will likely follow a similar flow to Gemini, where we convert api messages to the provider-specific messages and add them to the history.
Adding tests is also very welcomed. Basic flows like saving and loading sessions, creating a new session, deleting a session, and listing sessions should be covered. Edge cases like invalid session ID and corrupted save file should also be covered.
@noahlwest I have picked this up and others in this category. I am facing some issues in Bedrock provider connectivity itself, so a bit stuck here. I plan to put in something by by EoW.
Is this issue still being worked on? I am currently working on what is essentially a stateless router that sends the full conversation history to bedrock.go, but its Initialize method does not seem to publicly support non-text history in its current state. Assuming resolving this parent issue would involve adding said non-text support to Initialize.
Ignore the last message, this has fallen off my context for the last few days. I am looking into this and respond asap
@willy0416 I am assuming that you mean images, document files, links pointing to online resources, etc. I am curious if there is a specific non-text input that you are looking to get supported through that - what could be the use case?
@nisranjan Sorry, let me be more clear. I am referring to the fact that the Initialize method of bedrock.go does not support historical tool results or tool uses in the message history used to initialize the conversation, which would be a useful feature for any client applications passing entire message histories to use bedrock.go in a stateless manner.