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
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
0edb83b
AI chat UI overhaul
InAnYan Aug 21, 2024
65e6a70
Chat history and AI chat overhaul
InAnYan Aug 21, 2024
7981c21
Implement ingestion logic
InAnYan Aug 22, 2024
64af2b3
Implement ingestion logic
InAnYan Aug 22, 2024
a2a7553
Accept list of entries
InAnYan Aug 23, 2024
29875c1
Group chat history logic
InAnYan Aug 23, 2024
e68ccab
Move components to folders and introduce AiPrivacyNoticeGuardedComponent
InAnYan Aug 23, 2024
b944293
Move components to folders and introduce AiPrivacyNoticeGuardedComponent
InAnYan Aug 23, 2024
120c8c2
Introduce EmbeddingModelGuardedComponent
InAnYan Aug 23, 2024
d561039
SummaryComponent overhaul
InAnYan Aug 23, 2024
4910d12
Summarization logic overhaul
InAnYan Aug 23, 2024
9e40ba9
Finish work on refactoring the summarization
InAnYan Aug 24, 2024
d403502
Introduce group chats
InAnYan Aug 24, 2024
3a3c1ae
Introduce group chat
InAnYan Aug 24, 2024
37cb80e
Refactor AI code
InAnYan Aug 26, 2024
0b720b7
AI chat UI overhaul
InAnYan Aug 21, 2024
53f82a8
Chat history and AI chat overhaul
InAnYan Aug 21, 2024
9e0702a
Implement ingestion logic
InAnYan Aug 22, 2024
d74de97
Implement ingestion logic
InAnYan Aug 22, 2024
9a8c5c5
Accept list of entries
InAnYan Aug 23, 2024
cdb0d43
Group chat history logic
InAnYan Aug 23, 2024
800775f
Move components to folders and introduce AiPrivacyNoticeGuardedComponent
InAnYan Aug 23, 2024
2fecf92
Move components to folders and introduce AiPrivacyNoticeGuardedComponent
InAnYan Aug 23, 2024
6432ac3
Introduce EmbeddingModelGuardedComponent
InAnYan Aug 23, 2024
dadb1e9
SummaryComponent overhaul
InAnYan Aug 23, 2024
1873ca2
Summarization logic overhaul
InAnYan Aug 23, 2024
5626313
Finish work on refactoring the summarization
InAnYan Aug 24, 2024
2a75d1a
Introduce group chats
InAnYan Aug 24, 2024
b2788c1
Introduce group chat
InAnYan Aug 24, 2024
a688566
Refactor AI code
InAnYan Aug 26, 2024
8ce2747
Merge remote-tracking branch 'origin/chat-with-groups' into chat-with…
InAnYan Aug 26, 2024
4f4eacb
Merge branch 'refs/heads/upstream-main' into chat-with-groups
InAnYan Aug 26, 2024
69748f3
Fix GenerateEmbeddingsTask
InAnYan Aug 26, 2024
3806d51
Merge branch 'refs/heads/upstream-main' into chat-with-groups
InAnYan Aug 29, 2024
9f7e5b1
Introduce windows
InAnYan Aug 29, 2024
43a01f4
Refactor notifications
InAnYan Aug 29, 2024
55ec98f
No linting errors occurring
koppor Aug 29, 2024
3384698
Improve chat history component
InAnYan Aug 29, 2024
4448b09
Discard changes to src/main/java/module-info.java
koppor Aug 29, 2024
d9907a0
Merge branch 'chat-with-groups' of github.com:InAnYan/jabref into cha…
koppor Aug 29, 2024
e8ab1ff
Refine JavaDoc
koppor Aug 29, 2024
00e0504
Fix for https://github.com/InAnYan/jabref/issues/173
InAnYan Aug 29, 2024
7093f17
Fix for https://github.com/InAnYan/jabref/issues/171
InAnYan Aug 29, 2024
1b2a35c
Fix from code review
InAnYan Aug 29, 2024
d18ba30
Merge remote-tracking branch 'origin/chat-with-groups' into chat-with…
InAnYan Aug 29, 2024
e816e43
Fix checkers
InAnYan Aug 29, 2024
9671739
Merge branch 'refs/heads/upstream-main' into chat-with-groups
InAnYan Aug 31, 2024
513e9d1
Fix for https://github.com/InAnYan/jabref/issues/175 and https://gith…
InAnYan Aug 31, 2024
ccb7369
Follow-up for https://github.com/InAnYan/jabref/issues/175
InAnYan Aug 31, 2024
9d87a7b
Fix for https://github.com/InAnYan/jabref/issues/166
InAnYan Aug 31, 2024
7b5f23a
Fix for https://github.com/InAnYan/jabref/issues/164
InAnYan Aug 31, 2024
89cc9d4
Fix checkers
InAnYan Aug 31, 2024
ea037a7
Fix from code review
InAnYan Sep 1, 2024
a1dee14
Merge branch 'main' into chat-with-groups
InAnYan Sep 1, 2024
70519dd
Merge branch 'main' into chat-with-groups
koppor Sep 3, 2024
dcbc549
Update src/main/java/org/jabref/gui/ai/components/aichat/AiChatGuarde…
InAnYan Sep 4, 2024
2c8650f
Fix for https://github.com/InAnYan/jabref/issues/166 and fix for http…
InAnYan Sep 4, 2024
c007615
Merge remote-tracking branch 'origin/chat-with-groups' into chat-with…
InAnYan Sep 4, 2024
830e97f
Might be fix for https://github.com/InAnYan/jabref/issues/178
InAnYan Sep 4, 2024
ccab8b2
Migrate from AbstractGroup to GroupTreeNode
InAnYan Sep 4, 2024
69d78f3
Fix for https://github.com/InAnYan/jabref/issues/170
InAnYan Sep 4, 2024
0894ccd
Fix for https://github.com/InAnYan/jabref/issues/164
InAnYan Sep 4, 2024
5ed0665
https://github.com/InAnYan/jabref/issues/177
InAnYan Sep 4, 2024
f448f48
Fix for https://github.com/InAnYan/jabref/issues/180
InAnYan Sep 4, 2024
ffa2449
Fix checkers
InAnYan Sep 4, 2024
646aaf4
Fix the system message
InAnYan Sep 4, 2024
536e0c3
Fix for https://github.com/InAnYan/jabref/issues/180
InAnYan Sep 4, 2024
d58ae6c
Fix context menu order
InAnYan Sep 4, 2024
181fe71
Fix `startsWith`
InAnYan Sep 4, 2024
c6e90d4
Fix system message
InAnYan Sep 4, 2024
14626ae
Fix for ProgressCounter
InAnYan Sep 4, 2024
b8fba29
Fix for system message
InAnYan Sep 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -181,5 +181,6 @@
requires mslinks;
requires org.antlr.antlr4.runtime;
requires org.libreoffice.uno;
requires org.checkerframework.checker.qual;
InAnYan marked this conversation as resolved.
Show resolved Hide resolved
// endregion
}
2 changes: 1 addition & 1 deletion src/main/java/org/jabref/gui/JabRefGUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ public void initialize() {
JabRefGUI.clipBoardManager = new ClipBoardManager();
Injector.setModelOrService(ClipBoardManager.class, clipBoardManager);

JabRefGUI.aiService = new AiService(preferencesService.getAiPreferences(), Injector.instantiateModelOrService(AiApiKeyProvider.class), dialogService, taskExecutor);
JabRefGUI.aiService = new AiService(preferencesService, Injector.instantiateModelOrService(AiApiKeyProvider.class), dialogService, taskExecutor);
koppor marked this conversation as resolved.
Show resolved Hide resolved
Injector.setModelOrService(AiService.class, aiService);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,66 @@
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<?import org.jabref.gui.icon.JabRefIconView?>

<?import com.dlsc.gemsfx.ExpandingTextArea?>
<fx:root spacing="10.0" type="javafx.scene.layout.VBox" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.jabref.gui.ai.components.aichat.AiChatComponent">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
<children>
<StackPane fx:id="stackPane" VBox.vgrow="ALWAYS">
<children>
<ScrollPane fx:id="scrollPane" fitToWidth="true" style="-fx-border-color: black;">
<content>
<VBox fx:id="chatVBox" spacing="10.0">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
</VBox>
</content>
</ScrollPane>
</children>
</StackPane>
<HBox fx:id="promptHBox" alignment="CENTER" spacing="10.0">
<children>
<ExpandingTextArea fx:id="userPromptTextArea" HBox.hgrow="ALWAYS" />
<Button fx:id="submitButton" mnemonicParsing="false" onAction="#onSendMessage" text="%Submit" />
</children>
</HBox>
<HBox alignment="CENTER" spacing="50">
<Label fx:id="noticeText" text="%Current AI model: %0. The AI may generate inaccurate or inappropriate responses. Please verify any information provided." BorderPane.alignment="CENTER" />

<Button alignment="CENTER" onAction="#onClearChatHistory" styleClass="icon-button,narrow" textAlignment="CENTER">
<graphic>
<JabRefIconView glyph="DELETE_ENTRY"/>
</graphic>
<tooltip>
<Tooltip text="%Clear chat history" />
</tooltip>
</Button>
</HBox>

</children>
<?import org.jabref.gui.ai.components.loadable.Loadable?>
<?import org.jabref.gui.ai.components.chathistory.ChatHistoryComponent?>
<?import org.jabref.gui.ai.components.chatprompt.ChatPromptComponent?>

<?import org.controlsfx.control.PopOver?>

<?import org.kordamp.ikonli.javafx.FontIcon?>
<fx:root
type="javafx.scene.layout.VBox"
spacing="10"
xmlns="http://javafx.com/javafx/17.0.2-ea"
xmlns:fx="http://javafx.com/fxml/1"
fillWidth="true"
fx:controller="org.jabref.gui.ai.components.aichat.AiChatComponent">
<padding>
<Insets bottom="10.0"
left="10.0"
right="10.0"
top="10.0"/>
</padding>
<children>
<Loadable fx:id="uiLoadableChatHistory" VBox.vgrow="ALWAYS">
<ChatHistoryComponent fx:id="uiChatHistory" VBox.vgrow="ALWAYS" fitToWidth="true" />
</Loadable>

<HBox spacing="10">
<Button alignment="CENTER"
fx:id="notificationsButton"
styleClass="icon-button,narrow"
textAlignment="CENTER">
<tooltip>
<Tooltip
text="%Notifications"/>
</tooltip>
</Button>
<ChatPromptComponent fx:id="chatPrompt" HBox.hgrow="ALWAYS" />
</HBox>

<HBox alignment="CENTER"
spacing="50">
<Label fx:id="noticeText"
text="%Current AI model: %0. The AI may generate inaccurate or inappropriate responses. Please verify any information provided."
BorderPane.alignment="CENTER"/>

<Button alignment="CENTER"
onAction="#onClearChatHistory"
styleClass="icon-button,narrow"
textAlignment="CENTER">
<graphic>
<JabRefIconView
glyph="DELETE_ENTRY"/>
</graphic>
<tooltip>
<Tooltip
text="%Clear chat history"/>
</tooltip>
</Button>
</HBox>
</children>
</fx:root>
Loading
Loading