我想在dbgpt中搭建一个简单的工作流,,实现:在对话框中输入一种动物的名称,工作流会返回针对这种动物的介绍给我
时间: 2025-06-18 20:21:20 浏览: 10
<think>好的,用户想在DB-GPT中创建一个工作流,当用户输入动物名称时,系统能返回该动物的简介。我需要根据提供的引用内容来指导他们如何操作。首先,引用[1]提到在AWEL工作流界面复制流程进行编辑,所以可能需要先复制现有的工作流,比如db_expert_assistant,然后进行修改。接着,用户需要创建或调整组件,可能需要数据库查询功能。引用[2]提到Vanna可以简化SQL查询,这里可能需要连接数据库,用自然语言生成SQL查询来获取动物信息。然后,需要将输入参数绑定到SQL查询,再处理结果返回给用户。可能需要测试和调整流程,确保输入正确触发查询并返回简介。最后保存并发布工作流,让用户使用。还需要考虑是否要添加错误处理,比如动物不存在的情况。可能需要分步骤指导用户操作界面,点击复制、修改名称、拖拽组件、绑定参数等。确保用户按照步骤一步步完成,并验证结果是否正确。</think>### 分步构建动物简介工作流的步骤
1. **复制现有工作流模板**
- 进入AWEL工作流界面,找到`db_expert_assistant`模板
- 点击右上角【复制】按钮,自定义名称如`animal_intro_workflow`[^1]
2. **创建数据库查询组件**
```python
from dbgpt.core.awel import DAG, HttpTrigger, TransformStream
from vanna import VannaAI
# 初始化Vanna AI组件(需提前配置API密钥)
vanna = VannaAI(api_key="your_key", model="gpt-3.5-turbo")
# 创建数据库连接组件
@TransformStream()
def connect_db(animal_name: str):
# 这里替换为实际数据库连接配置
return {"animal": animal_name, "conn": "postgresql://user:pass@host/db"}
```
3. **构建自然语言转SQL模块**
```python
@TransformStream()
def generate_sql(inputs: dict):
query = f"请生成查询{inputs['animal']}简介的SQL"
sql = vanna.generate_sql(query) # 示例输出:SELECT info FROM animals WHERE name = ?
return {"sql": sql, "params": (inputs['animal'],)}
```
4. **添加数据库执行组件**
```python
@TransformStream()
def execute_query(inputs: dict):
with psycopg2.connect(inputs['conn']) as conn:
cursor = conn.cursor()
cursor.execute(inputs['sql'], inputs['params'])
return {"result": cursor.fetchone()[0]}
```
5. **配置工作流连接关系**
```python
with DAG("animal_introduction_workflow") as dag:
trigger = HttpTrigger("/animal_query")
db_conn = connect_db()
sql_gen = generate_sql()
query_exec = execute_query()
trigger >> db_conn >> sql_gen >> query_exec
```
6. **设置输出格式化**
```python
@TransformStream()
def format_output(result: dict):
return f"您查询的{result['animal']}信息:\n{result['result']}"
```
7. **测试与部署**
- 在测试界面输入`老虎`
- 预期输出包含老虎的栖息地、特征等数据库存储信息
- 点击【发布】按钮完成工作流部署
阅读全文
相关推荐



















