DDB-GPTSource ↗
Get started with the Flow API

Flow

Get started with the Flow API

Chat Flow

POST /api/v2/chat/completions

Examples

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Stream Chat Flow

<Tabs defaultValue="python" groupId="chat" values={[ {label: 'Curl', value: 'curl'}, {label: 'Python', value: 'python'}, {label: 'Python(OpenAI SDK)', value: 'openai-sdk'}, ] }>

DBGPT_API_KEY=dbgpt
FLOW_ID={YOUR_FLOW_ID}

curl -X POST "http://localhost:5670/api/v2/chat/completions" \
    -H "Authorization: Bearer $DBGPT_API_KEY" \
    -H "accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{\"messages\":\"Hello\",\"model\":\"gpt-4o\", \"chat_mode\": \"chat_flow\", \"chat_param\": \"$FLOW_ID\"}"

from dbgpt_client import Client

DBGPT_API_KEY = "dbgpt"
FLOW_ID="{YOUR_FLOW_ID}"

client = Client(api_key=DBGPT_API_KEY)
async for data in client.chat_stream(
    messages="Introduce AWEL", 
    model="gpt-4o", 
    chat_mode="chat_flow", 
    chat_param=FLOW_ID
):
    print(data)
from openai import OpenAI

DBGPT_API_KEY = "dbgpt"
FLOW_ID="{YOUR_FLOW_ID}"

client = OpenAI(
    api_key=DBGPT_API_KEY,
    base_url="http://localhost:5670/api/v2"
)
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "user",
            "content": "Hello",
        },
    ],
    extra_body={
        "chat_mode": "chat_flow",
        "chat_param": FLOW_ID,
    },
    stream=True,
    max_tokens=2048,
)

for chunk in response:
    delta_content = chunk.choices[0].delta.content
    print(delta_content, end="", flush=True)

Chat Completion Stream Response

data: {"id": "579f8862-fc4b-481e-af02-a127e6d036c8", "created": 1710918094, "model": "gpt-4o", "choices": [{"index": 0, "delta": {"role": "assistant", "content": "\n\n"}}]}

Create Flow

POST /api/v2/serve/awel/flows

Request body

Request Flow Object

Response body

Return Flow Object

Update Flow

PUT /api/v2/serve/awel/flows

Request body

Request Flow Object

Response body

Return Flow Object

Delete Flow

DELETE /api/v2/serve/awel/flows

<Tabs defaultValue="curl_update_flow" groupId="chat1" values={[ {label: 'Curl', value: 'curl_update_flow'}, {label: 'Python', value: 'python_update_flow'}, ] }>

DBGPT_API_KEY=dbgpt
FLOW_ID={YOUR_FLOW_ID}
 
 curl -X DELETE "http://localhost:5670/api/v2/serve/awel/flows/$FLOW_ID" \
    -H "Authorization: Bearer $DBGPT_API_KEY" \

from dbgpt_client import Client
from dbgpt_client.flow import delete_flow

DBGPT_API_KEY = "dbgpt"
flow_id = "{your_flow_id}"

client = Client(api_key=DBGPT_API_KEY)
res = await delete_flow(client=client, flow_id=flow_id)

Delete Parameters


uid string Required

flow id


Response body

Return Flow Object

Get Flow

GET /api/v2/serve/awel/flows/{flow_id}

<Tabs defaultValue="curl_get_flow" groupId="chat1" values={[ {label: 'Curl', value: 'curl_get_flow'}, {label: 'Python', value: 'python_get_flow'}, ] }>

DBGPT_API_KEY=dbgpt
FLOW_ID={YOUR_FLOW_ID}

curl -X GET "http://localhost:5670/api/v2/serve/awel/flows/$FLOW_ID" -H "Authorization: Bearer $DBGPT_API_KEY"

from dbgpt_client import Client
from dbgpt_client.flow import get_flow

DBGPT_API_KEY = "dbgpt"
flow_id = "{your_flow_id}"

client = Client(api_key=DBGPT_API_KEY)
res = await get_flow(client=client, flow_id=flow_id)

Query Parameters


uid string Required

flow id


Response body

Return Flow Object

List Flow

GET /api/v2/serve/awel/flows

<Tabs defaultValue="curl_list_flow" groupId="chat1" values={[ {label: 'Curl', value: 'curl_list_flow'}, {label: 'Python', value: 'python_list_flow'}, ] }>

DBGPT_API_KEY=dbgpt

curl -X GET "http://localhost:5670/api/v2/serve/awel/flows" -H "Authorization: Bearer $DBGPT_API_KEY"

from dbgpt_client import Client
from dbgpt_client.flow import list_flow

DBGPT_API_KEY = "dbgpt"

client = Client(api_key=DBGPT_API_KEY)
res = await list_flow(client=client)

Response body

Return Flow Object

The Flow Object


uid string

The unique id for the flow.


name string

The name of the flow.


description string

The description of the flow.


label string

The label of the flow.


flow_category string

The category of the flow. Default is FlowCategory.COMMON.


flow_data object

The flow data.


state string

The state of the flow.Default is INITIALIZING.


error_message string

The error message of the flow.


source string

The source of the flow. Default is DBGPT-WEB.


source_url string

The source url of the flow.


version string

The version of the flow. Default is 0.1.0.


editable boolean

Whether the flow is editable. Default is True.


user_name string

The user name of the flow.


sys_code string

The system code of the flow.


dag_id string

The dag id of the flow.


gmt_created string

The created time of the flow.


gmt_modified string

The modified time of the flow.



Source: docs/docs/api/flow.md

Generated by smolify with deterministic-repository-import-v2 · 1 source file