Skip to content
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

Save chat history WIP #10191

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft

Save chat history WIP #10191

wants to merge 8 commits into from

Conversation

abidlabs
Copy link
Member

Very simple prototype of how we could implement chat history, cc @dawoodkhan82

Screen.Recording.2024-12-12.at.4.39.04.PM.mov

@abidlabs abidlabs marked this pull request as draft December 13, 2024 00:40
@gradio-pr-bot
Copy link
Collaborator

gradio-pr-bot commented Dec 13, 2024

🪼 branch checks and previews

Name Status URL
Spaces ready! Spaces preview
Website ready! Website preview
🦄 Changes detected! Details

Install Gradio from this PR

pip install https://gradio-pypi-previews.s3.amazonaws.com/02caf948b14df4d9c1abad885d97e34174133783/gradio-5.9.1-py3-none-any.whl

Install Gradio Python Client from this PR

pip install "gradio-client @ git+https://github.com/gradio-app/gradio@02caf948b14df4d9c1abad885d97e34174133783#subdirectory=client/python"

Install Gradio JS Client from this PR

npm install https://gradio-npm-previews.s3.amazonaws.com/02caf948b14df4d9c1abad885d97e34174133783/gradio-client-1.8.0.tgz

Use Lite from this PR

<script type="module" src="https://gradio-lite-previews.s3.amazonaws.com/02caf948b14df4d9c1abad885d97e34174133783/dist/lite.js""></script>

@gradio-pr-bot
Copy link
Collaborator

gradio-pr-bot commented Dec 13, 2024

🦄 change detected

This Pull Request includes changes to the following packages.

Package Version
gradio minor
  • Maintainers can select this checkbox to manually select packages to update.

With the following changelog entry.

Save chat history WIP

Maintainers or the PR author can modify the PR title to modify this entry.

Something isn't right?

  • Maintainers can change the version label to modify the version bump.
  • If the bot has failed to detect any changes, or if this pull request needs to update multiple packages to different versions or requires a more comprehensive changelog entry, maintainers can update the changelog file directly.

@dawoodkhan82
Copy link
Collaborator

@abidlabs I'll replace gr.State() here with gr.BrowserState(), and update the styling of the html "sidebar". Is that what you had in mind?

@abidlabs
Copy link
Member Author

Yes exactly. We also need to actually save the chat history to the browser state, that functionality is currently not implemented

@abidlabs
Copy link
Member Author

You may find this PR useful: #10245 (or maybe not, not sure)

abidlabs and others added 5 commits December 23, 2024 16:58
* Declare exports

* add changeset

* type fixes

* more type fixes

* add changeset

* notebooks

* changes

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: Freddy Boulton <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>
* changes

* changes

* add changeset

* format

* changes

---------

Co-authored-by: gradio-pr-bot <[email protected]>
@dawoodkhan82
Copy link
Collaborator

@abidlabs Did a first pass, and the functionality for chat conversation history should work, if you can test. Will push some changes to tweak the UI.

@abidlabs
Copy link
Member Author

Will take a look soon!

@abidlabs
Copy link
Member Author

Nice @dawoodkhan82! Core functionality to save to browser state is working for me and I like that the first message automatically becomes the title of the saved first chat. Some issues I noticed:

(1) Clicking on the trash button in Chatbot causes the history to error out. And in a permanent way: if you refresh the page, you'll see that none of the chats in the history remain and you actually need to restart the Gradio server to get the chat history working again:

Screen.Recording.2024-12-26.at.11.26.28.PM.mov

(2) Uploading an image breaks the chat history feature as well:

Screen.Recording.2024-12-26.at.11.27.45.PM.mov

(3) When you load the chat from the history, its not synchronized with the chat state, so that if you send a subsequent message, it wipes out the chat history instead of "resuming" from the last message:

Screen.Recording.2024-12-26.at.11.29.40.PM.mov

(4) Also, the final chat that is stored to history seems to be used as the value for all of the chats. So if you click through the chats, all of them will have the same value actually:

Screen.Recording.2024-12-26.at.11.31.17.PM.mov

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants