-
-
Notifications
You must be signed in to change notification settings - Fork 160
[Chat] Introduce Chat::branch and multi-session support
#821
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
|
open for finishing this PR? |
|
Yes, need to rebase it and finish the work, shouldn't be too long 🙂 |
b7ae118 to
20a4270
Compare
1c9bea5 to
b4240fa
Compare
This PR was merged into the main branch. Discussion ---------- [Chat] Fix keys access for `Cloudflare` | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | Docs? | no | Issues | Detected via #821 | License | MIT After the `reset`, if the element has the key `12`, the final array will keep it as it, need to reindex the array before returning it 😓 Commits ------- 6450054 ref
Chat::forkChat::fork and multi-session support
|
All bridges need to require ^0.2 of symfony/ai-chat |
5a955ba to
32e6968
Compare
|
Hi @OskarStark @chr-hertel 👋🏻 I'm opening this PR for reviews as the CI errors are irrelevant for the review of the PR, I prefer to discuss the implementation before fixing the tests / static analysis, it would be easier to lock an implementation then fix the CI than the other way around 😅 I'm letting you reviewing it when you have time 🙂 |
|
Wouldn't "clone" be more self explanatory? 🤔 |
|
Agree but it's close to |
|
Branch() ? |
|
Hum, interesting, sounds like a git branch, make sense 🤔 |
c4e93d8 to
3c56296
Compare
Chat::fork and multi-session supportChat::branch and multi-session support
|
Friendly ping @OskarStark, I'm facing a small issue when testing bridges, it looks like the
Any idea? 🤔 |

Hi 👋🏻
This PR aims to introduce a new method
forkvia a custom interface (for message store and a custom method for the chat), this method aim to allow to "switch" between chats / messages like discussed in #254 with @welcoMattic, the logic behind is pretty much the same but allows to "create a new branch" in a chat and rollback to the primary one if needed (the main inspiration is the capability from "current chats like OpenAI" to create new conversations while fetching old messages).As the
Chatdepends on theMessageStoreimplementation, a new method is added to stores using a new interface.