[PR #589] feat(pipeline): add DBGPT integration pipeline #477

Open
opened 2026-10-18 21:06:28 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/pipelines/pull/589
Author: @hjwei0305
Created: 1/13/2026
Status: 🔄 Open

Base: main ← Head: feat/dbgpt-integration-pipeline


📝 Commits (1)

  • 15b57e2 feat(pipeline): add DBGPT integration pipeline

📊 Changes

1 file changed (+204 additions, -0 deletions)

View changed files

➕ examples/pipelines/integrations/dbgpt_pipeline.py (+204 -0)

📄 Description

Summary

This PR introduces a new DBGPT integration pipeline for OpenWebUI.

The pipeline enables OpenWebUI to use a self-hosted DBGPT service as an external
AI backend, with a focus on enterprise stability, text-to-SQL workflows,
and robust error handling.


Key Features

  • DBGPT integration

    • Supports DBGPT /api/v1/chat/completions endpoint
    • Designed for self-hosted / private deployments
  • Blocking-only execution model

    • Although DBGPT may stream internally, this pipeline always returns a finalized response
    • Prevents partial responses and shields frontend from backend exceptions
    • Proven to be more stable for demos and production environments
  • Output normalization

    • Cleans mixed DBGPT responses (text, <think>, internal JSON, <chart-view />)
    • Preserves chart-view output while ensuring clean natural-language responses
  • Exception shielding

    • Prevents backend parsing / SQL-generation errors from propagating to the OpenWebUI frontend
    • Ensures user-facing responses remain consistent even on backend failures

Why Blocking Instead of Streaming?

In real-world enterprise scenarios (especially text-to-SQL and BI use cases),
streaming responses can expose intermediate or malformed outputs that break
frontend rendering or user experience.

This pipeline intentionally adopts a blocking execution model to:

  • Improve reliability
  • Simplify frontend handling
  • Provide consistent, production-safe responses

Scope & Compatibility

  • Fully self-contained integration under pipelines/integrations/
  • Does not modify any existing pipelines or core logic
  • Follows existing pipeline structure (e.g. dify_pipeline.py)
  • Optional inlet / outlet hooks preserved for extensibility

Notes

This pipeline is intended as an integration example rather than a provider
replacement. Configuration values (API URL, app code, model name) can be adjusted
by users according to their DBGPT deployment.

Feedback and suggestions are very welcome!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/pipelines/pull/589 **Author:** [@hjwei0305](https://github.com/hjwei0305) **Created:** 1/13/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/dbgpt-integration-pipeline` --- ### 📝 Commits (1) - [`15b57e2`](https://github.com/open-webui/pipelines/commit/15b57e22f0cae61eb52cc7ab9e7e9b1dcfbfffca) feat(pipeline): add DBGPT integration pipeline ### 📊 Changes **1 file changed** (+204 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `examples/pipelines/integrations/dbgpt_pipeline.py` (+204 -0) </details> ### 📄 Description ### Summary This PR introduces a new **DBGPT integration pipeline** for OpenWebUI. The pipeline enables OpenWebUI to use a self-hosted DBGPT service as an external AI backend, with a focus on **enterprise stability**, **text-to-SQL workflows**, and **robust error handling**. --- ### Key Features - **DBGPT integration** - Supports DBGPT `/api/v1/chat/completions` endpoint - Designed for self-hosted / private deployments - **Blocking-only execution model** - Although DBGPT may stream internally, this pipeline always returns a finalized response - Prevents partial responses and shields frontend from backend exceptions - Proven to be more stable for demos and production environments - **Output normalization** - Cleans mixed DBGPT responses (text, `<think>`, internal JSON, `<chart-view />`) - Preserves chart-view output while ensuring clean natural-language responses - **Exception shielding** - Prevents backend parsing / SQL-generation errors from propagating to the OpenWebUI frontend - Ensures user-facing responses remain consistent even on backend failures --- ### Why Blocking Instead of Streaming? In real-world enterprise scenarios (especially text-to-SQL and BI use cases), streaming responses can expose intermediate or malformed outputs that break frontend rendering or user experience. This pipeline intentionally adopts a **blocking execution model** to: - Improve reliability - Simplify frontend handling - Provide consistent, production-safe responses --- ### Scope & Compatibility - Fully self-contained integration under `pipelines/integrations/` - Does not modify any existing pipelines or core logic - Follows existing pipeline structure (e.g. `dify_pipeline.py`) - Optional `inlet` / `outlet` hooks preserved for extensibility --- ### Notes This pipeline is intended as an **integration example** rather than a provider replacement. Configuration values (API URL, app code, model name) can be adjusted by users according to their DBGPT deployment. Feedback and suggestions are very welcome! --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
open-webui/pipelines#477
No description provided.