经 AI Skill Hub 精选评估,开源AI工作流 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
OpenChatBI是一款基于大语言模型的智能聊天式BI工具,提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力。
开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
OpenChatBI是一款基于大语言模型的智能聊天式BI工具,提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力。
开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install openchatbi
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install openchatbi
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/zhongyu09/openchatbi
cd openchatbi
pip install -e .
# 验证安装
python -c "import openchatbi; print('安装成功')"
# 命令行使用
openchatbi --help
# 基本用法
openchatbi input_file -o output_file
# Python 代码中调用
import openchatbi
# 示例
result = openchatbi.process("input")
print(result)
# openchatbi 配置文件示例(config.yml) app: name: "openchatbi" debug: false log_level: "INFO" # 运行时指定配置文件 openchatbi --config config.yml # 或通过环境变量配置 export OPENCHATBI_API_KEY="your-key" export OPENCHATBI_OUTPUT_DIR="./output"
OpenChatBI is an open source, chat-based intelligent BI tool powered by large language models, designed to help users query, analyze, and visualize data through natural language conversations. Built on LangGraph and LangChain ecosystem, it provides chat agents and workflows that support natural language to SQL conversion and streamlined data analysis.
Join the Slack channel to discuss: https://join.slack.com/t/openchatbicommunity/shared_invite/zt-3jpzpx9mv-Sk88RxpO4Up0L~YTZYf4GQ
<img src="https://github.com/zhongyu09/openchatbi/raw/main/example/demo.gif" alt="Demo" width="800">
OpenChatBI is built using a modular architecture with clear separation of concerns:
1. Natural Language Interaction: Get data analysis results by asking questions in natural language 2. Automatic SQL Generation: Convert natural language queries into SQL statements using advanced text2sql workflows with schema linking and well organized prompt engineering 3. Data Visualization: Generate intuitive data visualizations (via plotly) 4. Data Catalog Management: Automatically discovers and indexes database table structures, supports flexible catalog storage backends with vector-based or BM25-based retrieval, and easily maintains business explanations for tables and columns as well as optimizes Prompts. 5. Time Series Forecasting: Forecasting models deployed in-house that can be called as tools 6. Code Execution: Execute Python code for data analysis and visualization 7. Interactive Problem-Solving: Proactively ask users for more context when information is incomplete 8. Persistent Memory: Conversation management and user characteristic memory based on LangGraph checkpointing 9. MCP Support: Integration with MCP tools by configuration 10. Knowledge Base Integration: Answer complex questions by combining catalog based knowledge retrival and external knowledge base retrival (via MCP tools) 11. Web UI Interface: Provide 2 sample UI: simple and streaming web interfaces using Gradio and Streamlit, easy to integrate with other web applications
docker executor modeNote on Chinese Text Segmentation: For better Chinese text retrieval, jieba is used for word segmentation. However, jieba is not compatible with Python 3.12+. On Python 3.12 and higher, the system automatically falls back to simple punctuation-based segmentation for Chinese text.
git clone git@github.com:zhongyu09/openchatbi
uv sync
pip install openchatbi
git clone git@github.com:zhongyu09/openchatbi
uv sync --group dev
Optional: If you want to use pysqlite3 (newer SQLite builds), you can install it manually. If build fails, install SQLite first:
On macOS, try to install sqlite using Homebrew:
brew install sqlite
brew info sqlite
export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include" On Amazon Linux / RHEL / CentOS: sudo yum install sqlite-devel On Ubuntu / Debian: sudo apt-get update
sudo apt-get install libsqlite3-dev
OpenChatBI can integrate with a time series forecasting service for advanced predictive analytics. Follow these steps to set up the service:
See detailed instructions in timeseries_forecasting/README.md
Quick start:
cd timeseries_forecasting
./build_and_run.sh
In your bi.yaml, add constraints for the timeseries_forecast tool, e.g. if you are using timer-base-84m model:
extra_tool_use_rule: |
- timeseries_forecast tool requires at least 96 time points in input data. If no enough input data, set input_len to 96 to pad with zeros.
In your config.yaml: ```yaml
git checkout -b feature/fooBar)git commit -am 'Add some fooBar')git push origin feature/fooBar)Run demo using example dataset from spider dataset. You need to provide "YOUR OPENAI API KEY" or change config to use other LLM providers.
Note: The demo example includes embedding model configuration. If you want to run without an embedding model, you can remove the embedding_model section in the config - BM25 retrieval will be used automatically.
cp example/config.yaml openchatbi/config.yaml
sed -i 's/YOUR_API_KEY_HERE/[YOUR OPENAI API KEY]/g' openchatbi/config.yaml
python run_streamlit_ui.py
Copy the configuration template:
cp openchatbi/config.yaml.template openchatbi/config.yaml Or create an empty YAML file.
```yaml
The configuration template is provided at config.yaml.template. Key configuration sections include:
organization: Organization name (e.g., "Your Company")dialect: Database dialect (e.g., "presto")bi_config_file: Path to BI configuration file (e.g., "example/bi.yaml")catalog_store: Configuration for data catalog storagestore_type: Storage type (e.g., "file_system")data_path: Path to catalog data stored by file system (e.g., "./example")data_warehouse_config: Database connection settingsuri: Connection string for your databaseinclude_tables: List of tables to include in catalog, leave empty to include all tablesdatabase_name: Database name for catalogtoken_service: Token service URL (for data warehouse that need token authentication like Presto)user_name / password: Token service credentialsVarious LLMs are supported based on LangChain, see LangChain API Document(https://python.langchain.com/api_reference/reference.html#integrations) for full list that support chat_models. You can configure different LLMs for different tasks:
default_llm: Primary language model for general tasksembedding_model: (Optional) Model for embedding generation. If not configured, BM25-based text retrieval will be used as fallback, and the memory tools will not worktext2sql_llm: (Optional) Specialized model for SQL generation. If not configured, uses default_llmMultiple providers (optional):
llm_providers and select with default_llm: <provider_name>.sample_ui/streamlit_ui.py, a provider dropdown appears when llm_providers is configured.sample_api/async_api.py, pass provider in the /chat/stream request body.Commonly used LLM providers and their corresponding classes and installation commands:
langchain_anthropic.ChatAnthropic, pip install langchain-anthropiclangchain_openai.ChatOpenAI, pip install langchain-openailangchain_openai.AzureChatOpenAI, pip install langchain-openailangchain_google_vertexai.ChatVertexAI, pip install langchain-google-vertexailangchain_aws.ChatBedrock, pip install langchain-awslangchain_huggingface.ChatHuggingFace, pip install langchain-huggingfacelangchain_deepseek.ChatDeepSeek, pip install langchain-deepseeklangchain_ollama.ChatOllama, pip install langchain-ollamaOpenChatBI supports sophisticated customization through prompt engineering and catalog management features:
For detailed configuration options and examples, see the Advanced Features section.
You can choose rule-based or llm-based visualization or disable visualization. ```yaml
visualization_mode: llm ```
timeseries_forecasting_service_url: "http://localhost:8765"
**Important**: Adjust the URL based on your deployment scenario:
- **Local development** (OpenChatBI on host, Forecasting service in Docker): `http://localhost:8765`
- **Remote service**: `http://your-service-host:8765`
#### 4. Verify Service Health
Test the service is accessible:bash curl http://localhost:8765/health
Expected response:json { "status": "healthy", "model_initialized": true, "uptime_seconds": 123.45 } ```
OpenChatBI supports multiple execution environments for running Python code with different security and performance characteristics:
```yaml
python_executor: local # Options: "local", "restricted_local", "docker" ```
local (Default)restricted_localdockerFor production deployments or when running untrusted code, the Docker executor provides complete isolation:
python_executor: docker in your configDocker Executor Features: - Pre-installed data science libraries (pandas, numpy, matplotlib, seaborn) - Network isolation for security - Automatic container cleanup - Resource isolation from host system
OpenChatBI提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力,但仍需要进一步优化和完善。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:开源AI工作流 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | openchatbi |
| Topics | workflowaibipython |
| GitHub | https://github.com/zhongyu09/openchatbi |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-23 · 更新时间:2026-05-23 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端