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

Chat with groups + AI chat UI and logic overhaul #11666

Merged
merged 72 commits into from
Sep 4, 2024

Conversation

InAnYan
Copy link
Collaborator

@InAnYan InAnYan commented Aug 22, 2024

Changes include:

  1. AI chat UI - separated to components (easier to handle and modify AI chat code)
  2. Any kinds of errors while chatting and file ingestion are now stored in notifications (button in AI chat in lower left corner) - simplifies code, user flow and will be useful for groups.
  3. Chat history is maintained differently. It's now a simple ObservableList<ChatMessage>, so for every BibEntry there is a chat, and it's easy to get that chat. So chat history is separated in a facade ChatHistoryService, that works fine while running JabRef, and an implementation ChatHistoryImplementation, implementation is responsible for loading and storing chat history.
  4. Introduced ProcessingInfo<I, O> for easy tracking of background processes (ingestion and summarization)
  5. Things, that use serialization, were separated and split into an interface (...Storage) and implementation (MVStore...Storage). For each of the implementation there are tests
  6. Now we can chat with a group of papers!

How to use the new "Chat with group" feature:

  1. Enable AI features in the preferences at "File > Preferences > AI > General > Enable AI functionality"
  2. Have a group with multiple entries with attached files.
  3. Right-Click the group
  4. Click the "Chat with group" button

New UI:

Group chat:
image

Notifications:
image

Mandatory checks

  • Change in CHANGELOG.md described in a way that is understandable for the average user (if applicable)
  • Tests created for changes (if applicable)
  • Manually tested changed features in running JabRef (always required)
  • Screenshots added in PR description (for UI changes)
  • Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
  • Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.

@Siedlerchr
Copy link
Member

can you show some screenshots?

Copy link
Member

@koppor koppor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just first mall comments. 1k lines need more time to review

@InAnYan InAnYan changed the title AI chat UI and logic overhaul AI chat UI and logic overhaul WIP Aug 23, 2024
@InAnYan
Copy link
Collaborator Author

InAnYan commented Aug 23, 2024

I'm only one step towards chat with groups. The last push won't compile, just because, I need some rest :)

@subhramit subhramit changed the title AI chat UI and logic overhaul WIP [WIP] AI chat UI and logic overhaul Aug 23, 2024
@InAnYan
Copy link
Collaborator Author

InAnYan commented Aug 24, 2024

Okay, now PR is working.

When I finally add this group chat window I will refine the PR.

(Just one step left)

@koppor koppor marked this pull request as draft August 24, 2024 12:46
@koppor
Copy link
Member

koppor commented Aug 24, 2024

Is this missing task icon an issue of this PR or a general JabRef one?

image

@InAnYan
Copy link
Collaborator Author

InAnYan commented Aug 24, 2024

Is this missing task icon an issue of this PR or a general JabRef one?

image

it's a general issue (I think) #11572

@InAnYan InAnYan changed the title [WIP] AI chat UI and logic overhaul Chat with groups + AI chat UI and logic overhaul Aug 24, 2024
@InAnYan
Copy link
Collaborator Author

InAnYan commented Aug 24, 2024

Okay, chat with groups is here.

Now, the PR should be tested thoroughly and polished...

@InAnYan
Copy link
Collaborator Author

InAnYan commented Aug 26, 2024

Yay, more new code!

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your code currently does not meet JabRef's code guidelines.
We use Checkstyle to identify issues.
The tool reviewdog already placed comments on GitHub to indicate the places. See the tab "Files" in you PR.
Please carefully follow the setup guide for the codestyle.
Afterwards, please run checkstyle locally and fix the issues.

You can check review dog's comments at the tab "Files changed" of your pull request.

@InAnYan
Copy link
Collaborator Author

InAnYan commented Sep 4, 2024

The PR's number is # 11 666

@InAnYan InAnYan marked this pull request as ready for review September 4, 2024 12:19
@koppor koppor added this pull request to the merge queue Sep 4, 2024
Merged via the queue into JabRef:main with commit 7f7726e Sep 4, 2024
22 checks passed
@koppor koppor deleted the chat-with-groups branch September 4, 2024 13:44
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