Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
f6d03f2f
"git@developer.sourcefind.cn:OpenDAS/openpcdet.git" did not exist on "9ca83d4501395e5675feeb3e55367024173b086c"
Unverified
Commit
f6d03f2f
authored
May 01, 2025
by
Biswa Panda
Committed by
GitHub
May 01, 2025
Browse files
docs: update examples in document (#897)
parent
b627894a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
22 deletions
+40
-22
deploy/dynamo/sdk/README.md
deploy/dynamo/sdk/README.md
+40
-22
No files found.
deploy/dynamo/sdk/README.md
View file @
f6d03f2f
...
...
@@ -34,26 +34,33 @@ The code for the pipeline looks like this:
```
python
# filename: pipeline.py
from
dynamo.sdk
import
service
,
dynamo_endpoint
,
depends
from
fastapi
import
FastAPI
from
fastapi.responses
import
StreamingResponse
from
pydantic
import
BaseModel
from
dynamo.sdk
import
DYNAMO_IMAGE
,
depends
,
dynamo_endpoint
,
service
class
RequestType
(
BaseModel
):
text
:
str
@
service
(
resources
=
{
"cpu"
:
"1"
})
class
Frontend
:
middle
=
depends
(
Middle
)
@
api
async
def
generate
(
self
,
text
:
str
):
request
=
RequestType
(
text
=
text
)
async
for
response
in
self
.
middle
.
generate
(
request
.
model_dump_json
()):
yield
f
"Frontend:
{
response
}
"
class
ResponseType
(
BaseModel
):
text
:
str
@
service
(
dynamo
=
{
"enabled"
:
True
,
"namespace"
:
"inference"
},
)
class
Backend
:
@
dynamo_endpoint
()
async
def
generate
(
self
,
req
:
RequestType
):
text
=
f
"
{
req
.
text
}
-back"
for
token
in
text
.
split
():
yield
f
"Backend:
{
token
}
"
@
service
(
resources
=
{
"cpu"
:
"1"
},
dynamo
=
{
"enabled"
:
True
,
"namespace"
:
"inference"
}
dynamo
=
{
"enabled"
:
True
,
"namespace"
:
"inference"
},
)
class
Middle
:
backend
=
depends
(
Backend
)
...
...
@@ -61,19 +68,29 @@ class Middle:
@
dynamo_endpoint
()
async
def
generate
(
self
,
req
:
RequestType
):
text
=
f
"
{
req
.
text
}
-mid"
for
token
in
text
.
split
():
yield
f
"Mid:
{
token
}
"
next_request
=
RequestType
(
text
=
text
).
model_dump_json
()
async
for
response
in
self
.
backend
.
generate
(
next_request
):
yield
f
"Middle:
{
response
}
"
app
=
FastAPI
(
title
=
"Hello World!"
)
@
service
(
resources
=
{
"cpu"
:
"1
"
},
dynamo
=
{
"enabled"
:
True
,
"namespace"
:
"inference"
}
dynamo
=
{
"enabled"
:
True
,
"namespace"
:
"inference
"
},
app
=
app
,
)
class
Backend
:
@
dynamo_endpoint
()
async
def
generate
(
self
,
req
:
RequestType
):
text
=
f
"
{
req
.
text
}
-back"
for
token
in
text
.
split
():
yield
f
"Backend:
{
token
}
"
class
Frontend
:
middle
=
depends
(
Middle
)
@
dynamo_endpoint
(
is_api
=
True
)
async
def
generate
(
self
,
request
:
RequestType
):
async
def
content_generator
():
async
for
response
in
self
.
middle
.
generate
(
request
.
model_dump_json
()):
yield
f
"Frontend:
{
response
}
"
return
StreamingResponse
(
content_generator
())
```
You can run this pipeline locally by spinning up ETCD and NATS and then running the pipeline:
...
...
@@ -106,3 +123,4 @@ federer-mid-back
You can find in-depth documentation for the Dynamo SDK
[
here
](
./docs/sdk/README.md
)
and the Dynamo CLI
[
here
](
./docs/cli/README.md
)
Please refer to
[
hello_world
](
../../../examples/hello_world/README.md
)
and
[
llm
](
../../../examples/llm/README.md
)
for examples.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment