Repository navigation
[ZEPPELIN-6733] Add AI assistant chat to notebooks (server-side) - #5547
Conversation
There was a problem hiding this comment.
I found two issues that appear to be causing the CI failures.
First, the transitive dependencies from openai-java conflict with existing dependency versions, causing Maven dependency convergence checks to fail. Second, ASSISTANT_SEND_MESSAGE and ASSISTANT_EVENT, which were added to the Java side, are missing from the TypeScript SDK, so the WebSocket contract check stops the E2E job before Playwright starts.
I prepared a reference implementation covering both issues:
With this approach, Maven dependency convergence, the WebSocket contract check, the SDK contract typecheck, and all 28 assistant-related server tests pass locally. Please feel free to use it as a reference.
f3ea6a5 to
749832f
Compare
d698333 to
bab263f
Compare
| return builder.build(); | ||
| } | ||
|
|
||
| // TODO(seung-00) replace with pattern matching (Java 16+) |
|
|
||
| private final ExecutorService executorService = Executors.newFixedThreadPool(10); | ||
|
|
||
| private final ExecutorService assistantExecutor = new ThreadPoolExecutor( |
There was a problem hiding this comment.
It would be better to locate it on AssistantService.
jongyoul
left a comment
There was a problem hiding this comment.
LGTM. Thank you for this complicated job. I left comments but all are not blockers to merge this PR. We could handle it with another PR.
bab263f to
398cb79
Compare
398cb79 to
5c2c52d
Compare
|
Merged into master (de1d7a9). |
What is this PR for?
This PR adds the server-side implementation of an AI assistant for notebooks.
Motivation
AI can help with coding and data analysis, but using it with Zeppelin requires users to move code and results between the notebook and a separate chat. A built-in assistant can reduce this effort. It can also make notebook operations and other tasks easier through tools.
Decisions
Model adaptor
Data structure
File path
$ZEPPELIN_HOME/assistant/<noteId>/<conversationId>.jsonPermissions
See the proposal for more details.
Direction
zeppelin.notebook.assistant.enable. Enabling it by default is planned once the feature is stable.list_paragraphs, just returns paragraph metadata. More tools are needed to make the assistant more capable. Contributions are welcome.What type of PR is it?
Feature
What is the Jira issue?
How should this be tested?
Questions: