@@ -9,6 +9,24 @@ permalink: /zh/guide/DataFlow-AgentPipelineOrchestration/
99
1010本指南将帮助您快速上手 DataFlow Agent 平台的5个核心功能模块。
1111
12+
13+ ## 安装
14+
15+ ``` bash
16+ git clone https://github.com/OpenDCAI/DataFlow-Agent.git
17+ cd DataFlow-Agent
18+ pip install -r requirements.txt
19+ pip install -e .
20+ ```
21+
22+ ## 启动Web界面
23+
24+ ``` bash
25+ python gradio_app/app.py
26+ ```
27+
28+ 访问 ` http://127.0.0.1:7860 ` 开始使用
29+
1230## 目录
1331
14321 . [ 管线推荐] ( #1-管线推荐 )
@@ -89,11 +107,17 @@ permalink: /zh/guide/DataFlow-AgentPipelineOrchestration/
89107
90108### 使用步骤
91109
92- 1 . 在"目标描述"框中输入您的需求
93- 2 . 配置 API 信息(URL、Key、模型)
94- 3 . (可选)配置嵌入模型和调试选项
95- 4 . 点击"生成 Pipeline"按钮
96- 5 . 查看生成的代码和执行结果
110+ ![ pipeline_rec] ( /pipeline_rec.png )
111+
112+ 1 . ` step1: ` 选择管线推荐子页面
113+ 2 . ` step2: ` 在"目标描述"框中输入您的需求
114+ 3 . ` step3: ` 输入需要处理jsonl文件
115+ 4 . ` step4: ` 配置 API 信息(URL、Key、模型)
116+ 5 . ` step5: ` (可选)配置嵌入模型和调试选项
117+ 6 . ` step6: ` 选择是否需要自动更新向量索引(如果出现算子不在注册机里,则需要勾选)
118+ 7 . ` step7: ` 选择是否使用debug模式(debug模式会自动运行管线,直到自大迭代轮次)
119+ 8 . ` step8: ` 右侧 查看生成的代码和执行结果
120+
97121
98122---
99123
@@ -197,13 +221,13 @@ class YourOperator(Operator):
197221
198222### 使用步骤
199223
200- 1 . 在"目标描述"中详细说明算子功能
201- 2 . 选择合适的算子类别
202- 3 . 配置 API 信息
203- 4 . (可选)启用调试模式以自动修复错误
204- 5 . 点击"生成算子"按钮
205- 6 . 查看生成的代码和测试结果
206- 7 . 如需修改,可调整参数后重新生成
224+ ![ op_write ] ( /op_write.png )
225+
226+ 1 . ` step1: ` 在"目标描述"中详细说明算子功能
227+ 2 . ` step2: ` 选择合适的算子类别,配置 API 信息
228+ 3 . ` step3: ` (可选)启用调试模式以自动修复错误
229+ 4 . ` step4: ` 设置debug轮次
230+ 5 . ` step5: ` 设置输出jsonl文件路径
207231
208232---
209233
@@ -267,7 +291,7 @@ class YourOperator(Operator):
267291- 算子会被添加到 Pipeline 序列中
268292
269293** 步骤 4: 调整顺序**
270- - 在 Pipeline 可视化区域,拖拽算子卡片调整顺序
294+ - 在 Pipeline 可视化区域,可以检查算子前后key是否对其
271295- 系统会自动重新编号
272296
273297** 步骤 5: 自动链接**
@@ -306,20 +330,49 @@ class YourOperator(Operator):
306330
307331#### 3. 生成的代码
308332``` python
309- # 完整的 Pipeline 执行代码
310- from dataflow import Dataset
311- from dataflow.operators import *
312-
313- # 加载数据
314- dataset = Dataset.load(" input.jsonl" )
315-
316- # 执行 Pipeline
317- dataset = TextCleanerOperator(... ).run(dataset, ... )
318- dataset = DeduplicatorOperator(... ).run(dataset, ... )
319- ...
333+ class RecommendPipeline (PipelineABC ):
334+ def __init__ (self ):
335+ super ().__init__ ()
336+ # -------- FileStorage --------
337+ self .storage = FileStorage(
338+ first_entry_file_name = " /tmp/test_sample_10.jsonl" ,
339+ cache_path = " dataflow_cache" ,
340+ file_name_prefix = " dataflow_cache_step" ,
341+ cache_type = " jsonl" ,
342+ )
343+ # -------- LLM Serving (Remote) --------
344+ self .llm_serving = APILLMServing_request(
345+ api_url = " http://123.129.219.111:3000/v1/chat/completions" ,
346+ key_name_of_api_key = " DF_API_KEY" ,
347+ model_name = " gpt-4o" ,
348+ max_workers = 100 ,
349+ )
350+ # -------- Operators --------
351+ self .condor_generator = CondorGenerator(llm_serving = self .llm_serving, llm_serving = self .llm_serving, num_samples = 15 , use_task_diversity = True )
352+ self .prompted_generator = PromptedGenerator(llm_serving = self .llm_serving, llm_serving = self .llm_serving, system_prompt = ' 分析样本数据,识别与可再生能源相关的关键主题和趋势。' , json_schema = None )
353+ self .task2_vec_dataset_evaluator = Task2VecDatasetEvaluator(llm_serving = self .llm_serving, device = ' cuda' , sample_nums = 10 , sample_size = 1 , method = ' montecarlo' , model_cache_dir = ' ./dataflow_cache' )
354+
355+ def forward (self ):
356+ self .condor_generator.run(
357+ storage = self .storage.step(),
358+ input_key = ' raw_content' ,
359+ output_key = ' generated_content_1'
360+ )
361+ self .prompted_generator.run(
362+ storage = self .storage.step(),
363+ input_key = ' generated_content_1' ,
364+ output_key = ' generated_content_2'
365+ )
366+ self .task2_vec_dataset_evaluator.run(
367+ storage = self .storage.step(),
368+ input_key = ' generated_content_2'
369+ )
370+
371+ if __name__ == " __main__" :
372+ pipeline = RecommendPipeline()
373+ pipeline.compile()
374+ pipeline.forward()
320375
321- # 保存结果
322- dataset.save(" output.jsonl" )
323376```
324377
325378#### 4. 处理结果数据 (前 100 条)
@@ -336,15 +389,18 @@ dataset.save("output.jsonl")
336389
337390### 使用步骤
338391
339- 1 . 配置 API 信息和输入文件路径
340- 2 . 选择算子分类和具体算子
341- 3 . 编辑 ` __init__() ` 和 ` run() ` 参数(JSON 格式)
342- 4 . 点击"➕ 添加算子到 Pipeline"
343- 5 . 重复步骤 2-4 添加更多算子
344- 6 . 拖拽调整算子顺序(可选)
345- 7 . 检查自动链接状态,确保参数正确
346- 8 . 点击"🚀 运行 Pipeline"
347- 9 . 查看生成的代码和执行结果
392+ ![ op_assemble] ( /op_assemble.png )
393+
394+ 1 . ` step1: ` 配置 API 信息和输入文件路径
395+ 2 . ` step2: ` 配置APIKey
396+ 3 . ` step3: ` 配置模型
397+ 4 . ` step4: ` 选择待处理文件路径
398+ 5 . ` step5: ` 选择要组合的算子类别
399+ 6 . ` step6: ` 选择要组合的算子
400+ 7 . ` step7: ` 如果算子提供了prompttemplate需要选择
401+ 8 . ` step8: ` 编辑算子输入和输出key!!
402+ 9 . ` step9: ` 运行
403+ 10 . ` step10: ` 可以查看组装的代码,和处理结果数据,以及输出文件路径
348404
349405### 高级技巧
350406
@@ -383,7 +439,6 @@ PromptAgent 前端,用于生成和优化算子的 Prompt 模板,支持多轮
383439- ** 算子名称 (op-name)** (必需)
384440 - Prompt 类的名称
385441 - 示例:` SentimentAnalysisPrompt `
386- - 示例:` MarketingCopywriterPrompt `
387442
388443- ** 输出格式** (可选)
389444 - 指定 Prompt 输出的格式
@@ -451,8 +506,6 @@ PromptAgent 前端,用于生成和优化算子的 Prompt 模板,支持多轮
451506
452507#### 6. Prompt 代码预览
453508``` python
454- from dataflow_agent.promptstemplates import PromptTemplate
455-
456509class SentimentAnalysisPrompt (PromptTemplate ):
457510 """ 情感分析 Prompt 模板"""
458511
@@ -465,22 +518,6 @@ class SentimentAnalysisPrompt(PromptTemplate):
465518 return self .user_prompt_template.format(text = text)
466519```
467520
468- #### 7. 测试代码预览
469- ``` python
470- import json
471- from your_prompt import SentimentAnalysisPrompt
472-
473- # 加载测试数据
474- with open (" test_data.jsonl" ) as f:
475- test_data = [json.loads(line) for line in f]
476-
477- # 测试 Prompt
478- prompt = SentimentAnalysisPrompt()
479- for item in test_data:
480- result = prompt.format(** item)
481- print (result)
482- ```
483-
484521### 多轮改写功能
485522
486523在右侧对话区域,您可以:
@@ -510,6 +547,14 @@ for item in test_data:
510547
511548### 使用步骤
512549
550+ ![ prompt_agent] ( /prompt_agent.png )
551+
552+ 1 . ` step1: ` 选择你要复用的带有prompttemplate的算子名称
553+ 2 . ` step2: ` 输入你想修改的提示词内容
554+ 3 . ` step3: ` 点击“生成提示词模板”
555+ 4 . ` step4: ` 右侧预览生成的“输出文件路径,测试数据,提示词模板代码,测试代码”
556+
557+
513558#### 初次生成
5145591 . 配置 API 信息(URL、Key、模型)
5155602 . 填写任务描述、算子名称
@@ -717,16 +762,18 @@ downloaded_data/
717762
718763### 使用步骤
719764
765+ ![ web_agent] ( /web_agent.png )
766+
720767#### 基础使用
721- 1 . 在"目标描述"中详细说明要收集的数据类型
722- 2 . 选择数据类别(PT 或 SFT)
723- 3 . 配置数据集数量和大小限制
724- 4 . 配置 LLM API 信息
725- 5 . (可选)配置 Kaggle、Tavily 等服务的密钥
726- 6 . 点击"开始网页采集与转换"按钮
727- 7 . 实时查看执行日志
728- 8 . 等待完成后查看结果摘要
729- 9 . 在下载目录中查看采集的数据
768+ 1 . ` step1: ` 在"目标描述"中详细说明要收集的数据类型
769+ 2 . ` step2: ` 选择数据类别(PT 或 SFT)
770+ 3 . ` step3: ` 配置数据集数量和大小限制
771+ 4 . ` step4: ` 配置 LLM API 信息
772+ 5 . ` step5: ` (可选)配置 Kaggle、Tavily 等服务的密钥
773+ 6 . ` step6: ` 点击"开始网页采集与转换"按钮
774+ 7 . ` step7: ` 实时查看执行日志
775+ 8 . ` step8: ` 等待完成后查看结果摘要
776+ 9 . ` step9: ` 在下载目录中查看采集的数据
730777
731778#### 高级使用
7327791 . 展开"⚙️ 高级配置"区域
@@ -792,4 +839,4 @@ downloaded_data/
792839- ** 管线推荐** : 可以直接运行,但建议先在测试数据上验证
793840- ** 算子编写** : 建议先测试,必要时手动调整
794841- ** 手动编排** : 生成的代码已经过测试,可以直接使用
795- - ** Prompt 模板** : 建议多轮优化后再用于生产环境
842+ - ** Prompt 模板** : 建议多轮优化后再用于生产环境
0 commit comments