能力标签
⚙️
Agent工作流

开源AI工作流

基于 Python · 无代码搭建完整 AI 自动化流程
英文名:openchatbi
⭐ 562 Stars 🍴 70 Forks 💻 Python 📄 MIT 🏷 AI 7.5分
7.5AI 综合评分
workflowaibipython
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,开源AI工作流 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。

📚 深度解析
开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

开源AI工作流 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 7.5 分,是同类 Agent 工作流中的精选推荐。
📋 工具概览

OpenChatBI是一款基于大语言模型的智能聊天式BI工具,提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力。

开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 562
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
正常维护,社区驱动
开源协议
MIT
AI 综合评分
7.5 分
工具类型
Agent工作流
Forks
70
📖 中文文档
以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

OpenChatBI是一款基于大语言模型的智能聊天式BI工具,提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力。

开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一: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('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
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"
📑 README 深度解析 真实文档 完整度 67/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

OpenChatBI

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">

Architecture Overview

OpenChatBI is built using a modular architecture with clear separation of concerns:

  1. LangGraph Workflows: Core orchestration using state machines for complex multi-step processes
  2. Catalog Management: Flexible data catalog system with intelligent retrieval (vector-based or BM25 fallback)
  3. Text2SQL Pipeline: Advanced natural language to SQL conversion with schema linking
  4. Code Execution: Sandboxed Python execution environment for data analysis
  5. Tool Integration: Extensible tool system for human interaction and knowledge search
  6. Persistent Memory: SQLite-based conversation state management

Core Features

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

Advanced Features

Prerequisites

  • Python 3.11 or higher
  • Access to a supported LLM provider (OpenAI, Anthropic, etc.)
  • Data Warehouse (Database) credentials (like Presto, PostgreSQL, MySQL, etc.)
  • (Optional) Embedding model for vector-based retrieval - if not available, BM25-based retrieval will be used
  • (Optional) Docker - required only for docker executor mode

Note 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.

Getting started

Installation & Setup

Installation

  1. Using uv (recommended):
git clone git@github.com:zhongyu09/openchatbi
uv sync
  1. Using pip:
pip install openchatbi
  1. For development:
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

Time Series Forecasting Service Setup

OpenChatBI can integrate with a time series forecasting service for advanced predictive analytics. Follow these steps to set up the service:

1. Build and Run the Forecasting Service

See detailed instructions in timeseries_forecasting/README.md

Quick start:

cd timeseries_forecasting
./build_and_run.sh

2. Configure Tool Usage Rules

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.

3. Configure Service URL

In your config.yaml: ```yaml

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

Run Demo

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

Configuration

  1. Create configuration file

Copy the configuration template:

cp openchatbi/config.yaml.template openchatbi/config.yaml
Or create an empty YAML file.

  1. Configure your LLMs:

```yaml

Configuration Instructions

The configuration template is provided at config.yaml.template. Key configuration sections include:

Basic Settings

  • 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

  • catalog_store: Configuration for data catalog storage
  • store_type: Storage type (e.g., "file_system")
  • data_path: Path to catalog data stored by file system (e.g., "./example")

Data Warehouse Configuration

  • data_warehouse_config: Database connection settings
  • uri: Connection string for your database
  • include_tables: List of tables to include in catalog, leave empty to include all tables
  • database_name: Database name for catalog
  • token_service: Token service URL (for data warehouse that need token authentication like Presto)
  • user_name / password: Token service credentials

LLM Configuration

Various 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 tasks
  • embedding_model: (Optional) Model for embedding generation. If not configured, BM25-based text retrieval will be used as fallback, and the memory tools will not work
  • text2sql_llm: (Optional) Specialized model for SQL generation. If not configured, uses default_llm

Multiple providers (optional):

  • Configure multiple providers under llm_providers and select with default_llm: <provider_name>.
  • In sample_ui/streamlit_ui.py, a provider dropdown appears when llm_providers is configured.
  • In sample_api/async_api.py, pass provider in the /chat/stream request body.

Commonly used LLM providers and their corresponding classes and installation commands:

  • Anthropic: langchain_anthropic.ChatAnthropic, pip install langchain-anthropic
  • OpenAI: langchain_openai.ChatOpenAI, pip install langchain-openai
  • Azure OpenAI: langchain_openai.AzureChatOpenAI, pip install langchain-openai
  • Google Vertex AI: langchain_google_vertexai.ChatVertexAI, pip install langchain-google-vertexai
  • Bedrock: langchain_aws.ChatBedrock, pip install langchain-aws
  • Huggingface: langchain_huggingface.ChatHuggingFace, pip install langchain-huggingface
  • Deepseek: langchain_deepseek.ChatDeepSeek, pip install langchain-deepseek
  • Ollama: langchain_ollama.ChatOllama, pip install langchain-ollama

Advanced Configuration

OpenChatBI supports sophisticated customization through prompt engineering and catalog management features:

  • Prompt Engineering Configuration: Customize system prompts, business glossaries, and data warehouse introductions
  • Data Catalog Management: Configure table metadata, column descriptions, and SQL generation rules
  • Business Rules: Define table selection criteria and domain-specific SQL constraints
  • Forecasting Service: Configure the forecasting service url and prompt based on your own deployment

For detailed configuration options and examples, see the Advanced Features section.

Visualization configuration

You can choose rule-based or llm-based visualization or disable visualization. ```yaml

Options: "rule" (rule-based), "llm" (LLM-based), or null (skip visualization)

visualization_mode: llm ```

Time Series Forecasting Service Configuration

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 } ```

Python Code Execution Configuration

OpenChatBI supports multiple execution environments for running Python code with different security and performance characteristics:

```yaml

Python Code Execution Configuration

python_executor: local # Options: "local", "restricted_local", "docker" ```

Executor Types

  • local (Default)
  • Performance: Fastest execution
  • Security: Least secure (code runs in current Python process)
  • Capabilities: Full Python capabilities and library access
  • Use Case: Development environments, trusted code execution
  • restricted_local
  • Performance: Moderate execution speed
  • Security: Moderate security with RestrictedPython sandboxing
  • Capabilities: Limited Python features (no imports, file access, etc.)
  • Use Case: Semi-trusted environments with controlled execution
  • docker
  • Performance: Slower due to container overhead
  • Security: Highest security with complete process isolation
  • Capabilities: Full Python capabilities within isolated container
  • Use Case: Production environments, untrusted code execution
  • Requirements: Docker must be installed and running

Docker Executor Setup

For production deployments or when running untrusted code, the Docker executor provides complete isolation:

  1. Install Docker: Download and install Docker Desktop or Docker Engine
  2. Configure executor: Set python_executor: docker in your config
  3. Automatic setup: OpenChatBI will automatically build the required Docker image
  4. Fallback behavior: If Docker is unavailable, automatically falls back to local executor

Docker Executor Features: - Pre-installed data science libraries (pandas, numpy, matplotlib, seaborn) - Network isolation for security - Automatic container cleanup - Resource isolation from host system

🎯 aiskill88 AI 点评 A 级 2026-05-23

OpenChatBI提供了智能化的数据分析和可视化功能,提高了工作效率和数据决策能力,但仍需要进一步优化和完善。

⚡ 核心功能
👥 适合人群
自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队
🎯 使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
⚖️ 优点与不足
✅ 优点
  • +MIT 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合
❓ 常见问题 FAQ
详见README.md
💡 AI Skill Hub 点评

AI Skill Hub 点评:开源AI工作流 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ MIT 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 开源AI工作流
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 openchatbi
Topics workflowaibipython
GitHub https://github.com/zhongyu09/openchatbi
License MIT
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/zhongyu09/openchatbi 🌐 官方网站  https://zhongyu09.github.io/openchatbi/

收录时间:2026-05-23 · 更新时间:2026-05-23 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。