@@ -14,18 +14,19 @@ it provides chat agents and workflows that support natural language to SQL conve
14143 . ** Data Visualization** : Generate intuitive data visualizations (via plotly)
15154 . ** Data Catalog Management** : Automatically discovers and indexes database table structures, supports flexible catalog
1616 storage backends, and easily maintains business explanations for tables and columns as well as optimizes Prompts.
17- 5 . ** Knowledge Base Integration** : Answer complex questions by combining catalog based knowledge retrival and external
18- knowledge base retrival (via MCP tools)
17+ 5 . ** Time Series Forecasting** : Forecasting models deployed in-house that can be called as tools
19186 . ** Code Execution** : Execute Python code for data analysis and visualization
20197 . ** Interactive Problem-Solving** : Proactively ask users for more context when information is incomplete
21208 . ** Persistent Memory** : Conversation management and user characteristic memory based on LangGraph checkpointing
22219 . ** MCP Support** : Integration with MCP tools by configuration
23- 10 . ** Web UI Interface** : Provide 2 sample UI: simple and streaming web interfaces using Gradio and Streamlit, easy to
22+ 10 . ** Knowledge Base Integration** : Answer complex questions by combining catalog based knowledge retrival and external
23+ knowledge base retrival (via MCP tools)
24+ 11 . ** Web UI Interface** : Provide 2 sample UI: simple and streaming web interfaces using Gradio and Streamlit, easy to
2425 integrate with other web applications
2526
2627## Roadmap
2728
28- 1 . ** Time Series Forecasting ** : Forecasting models deployed in-house
29+ 1 . ** Anomaly Detection Algorithm ** : Time series anomaly detection
29302 . ** Root Cause Analysis Algorithm** : Multi-dimensional drill-down capabilities for anomaly investigation
3031
3132# Getting started
@@ -219,6 +220,7 @@ OpenChatBI supports sophisticated customization through prompt engineering and c
219220- ** Prompt Engineering Configuration** : Customize system prompts, business glossaries, and data warehouse introductions
220221- ** Data Catalog Management** : Configure table metadata, column descriptions, and SQL generation rules
221222- ** Business Rules** : Define table selection criteria and domain-specific SQL constraints
223+ - ** Forecasting Service** : Configure the forecasting service url and prompt based on your own deployment
222224
223225For detailed configuration options and examples, see the [ Advanced Features] ( #advanced-features ) section.
224226
@@ -264,16 +266,21 @@ openchatbi/
264266│ ├── constants.py # Application constants
265267│ ├── agent_graph.py # Main LangGraph workflow
266268│ ├── graph_state.py # State definition for workflows
269+ │ ├── context_config.py # Context management configuration
270+ │ ├── context_manager.py # Context window and token management
271+ │ ├── text_segmenter.py # Text segmentation utilities
267272│ ├── utils.py # Utility functions
268273│ ├── catalog/ # Data catalog management
269274│ │ ├── __init__.py # Package initialization
270275│ │ ├── catalog_loader.py # Catalog loading logic
271276│ │ ├── catalog_store.py # Catalog storage interface
272- │ │ ├── entry.py # Catalog entry points
273277│ │ ├── factory.py # Catalog factory patterns
274278│ │ ├── helper.py # Catalog helper functions
279+ │ │ ├── retrival_helper.py # Retrieval helper utilities
275280│ │ ├── schema_retrival.py # Schema retrieval logic
276- │ │ └── token_service.py # Token service integration
281+ │ │ ├── token_service.py # Token service integration
282+ │ │ └── store/ # Catalog storage implementations
283+ │ │ └── file_system.py # File system-based catalog storage
277284│ ├── code/ # Code execution framework
278285│ │ ├── __init__.py # Package initialization
279286│ │ ├── executor_base.py # Base executor interface
@@ -290,7 +297,8 @@ openchatbi/
290297│ │ ├── system_prompt.py # System prompt management
291298│ │ ├── summary_prompt.md # Summary conversation prompts
292299│ │ ├── table_selection_prompt.md # Table selection prompts
293- │ │ └── text2sql_prompt.md # Text-to-SQL prompts
300+ │ │ ├── text2sql_prompt.md # Text-to-SQL prompts
301+ │ │ └── sql_dialect/ # SQL dialect-specific prompts
294302│ ├── text2sql/ # Text-to-SQL conversion pipeline
295303│ │ ├── __init__.py # Package initialization
296304│ │ ├── data.py # Data and retriever for Text-to-SQL
@@ -306,7 +314,8 @@ openchatbi/
306314│ ├── mcp_tools.py # MCP (Model Context Protocol) integration
307315│ ├── run_python_code.py # Configurable Python code execution
308316│ ├── save_report.py # Report saving functionality
309- │ └── search_knowledge.py # Knowledge base search
317+ │ ├── search_knowledge.py # Knowledge base search
318+ │ └── timeseries_forecast.py # Time series forecasting tool
310319├── sample_api/ # API implementations
311320│ └── async_api.py # Asynchronous FastAPI example
312321├── sample_ui/ # Web interface implementations
@@ -325,6 +334,9 @@ openchatbi/
325334│ ├── sql_example.yaml # SQL examples for retrieval
326335│ ├── table_selection_example.csv # Table selection examples
327336│ └── tracking_orders.sqlite # Sample SQLite database
337+ ├── timeseries_forecasting/ # Time series forecasting service
338+ │ ├── README.md # Forecasting service documentation
339+ │ └── ... # Forecasting service implementation
328340├── tests/ # Test suite
329341│ ├── __init__.py # Package initialization
330342│ ├── conftest.py # Test configuration
@@ -489,6 +501,9 @@ The file system catalog store organizes metadata across multiple files for maint
489501 ORDER BY date;
490502 ` ` `
491503
504+ # ## Time Series Forecasting Service Setup
505+ 1. Setup forecasting docker container, see [README](timeseries_forecasting/README.md)
506+ 2. Config the `timeseries_forecast` tool prompt
492507
493508# ## Python Code Execution Configuration
494509
@@ -535,7 +550,6 @@ For production deployments or when running untrusted code, the Docker executor p
535550- Automatic container cleanup
536551- Resource isolation from host system
537552
538-
539553# # Development & Testing
540554
541555# ## Code Quality Tools
0 commit comments