Make `dora-message` a dependency of `dora-core`, instead of the other way around. This way, we can continue to freely bump the version of `dora-core` with the other workspace crates, without introducing errors such as #708.
In order to get the best performance from Qwenvl2, we need to temporary
add this piece of code that is going to unqueue qwenvl queue.
This is directly linked to: https://github.com/dora-rs/dora/pull/652
which is that we currently having a queue issue within nodes for
`queue_size: 1` where the queue is actually pending older data and not
the newest one.
You will find in this pull request a quick implementation of an openAI
server makes it possible to make request from an openai endpoint client
and receive it within the dataflow.
Note that I have only implemented chat completion and this is still
experimental.
Get started with:
```bash
cd examples/openai-server
dora build dataflow.yml
dora start dataflow.yml
# In a separate terminal
python openai_api_client.py
```
Hi! I took a look at our `examples` directory, and while reading through
some dataflows, I noticed that there are a lot of outdated node
syntaxes:
```YML
nodes:
- id: rust-node
custom:
build: cargo build -p benchmark-example-node --release
source: ../../target/release/benchmark-example-node
```
I think it would be better if we avoided using deprecated syntax in our
example folder, as it will be one of the first things people look at.
In order to simplify testing with a terminal, I have added couple of
simple nodes in the node-hub.
To use:
```bash
cd examples/terminal-dataflow
dora build dataflow.yml
dora start dataflow.yml
# Terminal A
terminal-print
# Terminal B
pyarrow-sender
```
Note that there might be issues with stopping the dataflow and you might
need to use `dora destroy`
# Video example
[Screencast from 2024-08-09
12-41-17.webm](https://github.com/user-attachments/assets/04db8e4f-652e-42a9-a42e-6c49d2ff9fae)