Skip to content

feat/plotchat-sdk#4

Merged
DYung26 merged 11 commits into
mainfrom
feat/plotchat-sdk
Oct 31, 2025
Merged

feat/plotchat-sdk#4
DYung26 merged 11 commits into
mainfrom
feat/plotchat-sdk

Conversation

@DYung26
Copy link
Copy Markdown
Owner

@DYung26 DYung26 commented Oct 31, 2025

This pull request introduces a new modular plot_chat subsystem for PlotSense, enabling advanced AI-powered chat, audio, file, and real-time interactions for data visualization and analysis. The changes add specialized clients for chat streaming, audio transcription and speech, file management, function calls, and real-time session handling, all orchestrated by a central PlotChatClient. Additionally, the plot generation module is refactored to support both basic and smart generators.

Major new PlotChat subsystem:

  • Added PlotChatClient as the main entrypoint, aggregating chat, audio, file, and real-time clients for PlotSense AI-powered chat features (plotsense/plot_chat/client.py).
  • Implemented ChatClient for streaming chat with extension support (e.g., plot generation), including AI-driven content block assembly and chat title generation (plotsense/plot_chat/chat.py).
  • Added ActionClient for handling plot generation requests via AI prompt extraction, DataFrame parsing, and dynamic image streaming/upload (plotsense/plot_chat/action.py).
  • Created AudioClient for audio transcription and speech synthesis using OpenAI models, supporting streaming and MP3 output (plotsense/plot_chat/audio.py).
  • Added FileClient for file upload and deletion, and RealtimeClient for ephemeral key generation for real-time sessions (plotsense/plot_chat/file.py, plotsense/plot_chat/realtime.py). [1] [2]

Function call orchestration and prompt improvements:

  • Introduced FunctionCallClient to orchestrate OpenAI multi-tool function calls for plot generation, explanation, and recommendations, with tool registration and result serialization (plotsense/plot_chat/function_calls.py).
  • Added system and helper prompts for PlotChat, including a comprehensive system prompt and chat title generation instructions (plotsense/plot_chat/prompts.py).

Plot generation module refactor:

  • Refactored plot generator import to expose both BasicPlotGenerator and SmartPlotGenerator for improved flexibility (plotsense/__init__.py).

Module initialization:

  • Registered PlotChatClient in the main plot_chat package for easy access (plotsense/plot_chat/__init__.py).

@DYung26 DYung26 merged commit 25da9e3 into main Oct 31, 2025
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.

1 participant