Skip to content

Commit

Permalink
Minor fix
Browse files Browse the repository at this point in the history
  • Loading branch information
haixuanTao committed Apr 2, 2024
1 parent c382aa5 commit 09340b7
Show file tree
Hide file tree
Showing 6 changed files with 5 additions and 126 deletions.
105 changes: 2 additions & 103 deletions examples/python-operator-dataflow/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ cargo run --example python-operator-dataflow
## Installation

```bash
conda create -n example_env python=3.12
conda create -n example_env python=3.11
pip install -r requirements.txt
```

Expand Down Expand Up @@ -48,109 +48,8 @@ send 200 200 200 400 to topic line
record
```

```bash
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/keyboard_op.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/microphone_op.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/whisper_op.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/sentence_transformers_op.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/llm_op.py
wget https://raw.githubusercontent.com/dora-rs/dora/v0.3.2/examples/python-operator-dataflow/file_saver_op.py
```

and adding the following to the dataflow configuration:

```yaml
nodes:
- id: webcam
operator:
python: webcam.py
inputs:
tick: dora/timer/millis/50
outputs:
- image

- id: object_detection
operator:
python: object_detection.py
inputs:
image: webcam/image
outputs:
- bbox

- id: plot
operator:
python: plot.py
inputs:
image: webcam/image
bbox: object_detection/bbox
line: llm/line
keyboard_buffer: keyboard/buffer
user_message: keyboard/submitted
assistant_message: llm/assistant_message

## Speech to text
- id: keyboard
custom:
source: keyboard_op.py
outputs:
- buffer
- submitted
- record
- ask
- send
- change
inputs:
recording: whisper/text

- id: microphone
operator:
python: microphone_op.py
inputs:
record: keyboard/record
outputs:
- audio

- id: whisper
operator:
python: whisper_op.py
inputs:
audio: microphone/audio
outputs:
- text

## Code Modifier
- id: vectordb
operator:
python: sentence_transformers_op.py
inputs:
query: keyboard/change
saved_file: file_saver/saved_file
outputs:
- raw_file

- id: llm
operator:
python: llm_op.py
inputs:
code_modifier: vectordb/raw_file
assistant: keyboard/ask
message_sender: keyboard/send
outputs:
- modified_file
- line
- assistant_message

- id: file_saver
operator:
python: file_saver_op.py
inputs:
file: llm/modified_file
outputs:
- saved_file
```
The keyboard, microphone, whisper node, works in a very similar fashion as the object detection dataflow and I'll let you check it out by yourself.

The code modification flow works by first comparing an instruction with a vectordb of operators source code and then feeding the most similar operator to an llm with the instruction for code modification.

The end result is then saved using the file saver
The end result is then saved using a file saver.
2 changes: 1 addition & 1 deletion examples/python-operator-dataflow/dataflow_llm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ nodes:
inputs:
file: llm/modified_file
outputs:
- saved_file
- saved_file
12 changes: 0 additions & 12 deletions examples/python-operator-dataflow/merge.py

This file was deleted.

2 changes: 1 addition & 1 deletion examples/python-operator-dataflow/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ transformers
pylcs
accelerate
optimum
auto-gptq>=0.7.1
auto-gptq>=0.7.1
8 changes: 0 additions & 8 deletions examples/python-operator-dataflow/sentence_transformers_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,9 @@
from dora import DoraStatus
import os
import sys
import inspect
import torch
import pyarrow as pa

SHOULD_NOT_BE_INCLUDED = [
"utils.py",
"sentence_transformers_op.py",
"chatgpt_op.py",
"llm_op.py",
]

SHOULD_BE_INCLUDED = [
"webcam.py",
"object_detection.py",
Expand Down
2 changes: 1 addition & 1 deletion examples/python-operator-dataflow/webcam.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def on_event(
else:
print("received unexpected event:", event_type)

if time.time() - self.start_time < 200 or CI != "true":
if time.time() - self.start_time < 20 or CI != "true":
return DoraStatus.CONTINUE
else:
return DoraStatus.STOP
Expand Down

0 comments on commit 09340b7

Please sign in to comment.