This guide details how to use and integrate Coral Server with your application
Docker (recommended)
application.yaml
file in the path provided to it via the CONFIG_PATH
environment variable. When running from docker that path defaults to /config/
.For that reason - to be able to configure Coral Server, you should create a config folder & mount that to /config
when running:application.yaml
- it will hot reload your changes!executable
runtime - and must use Docker orchestration instead.This is intended, as Docker orchestration is more stable, reproducible & portable - thus more production-ready.Linux
/var/run/docker.sock
should be enough to give the server the ability to spin up containers.macOS
~/.colima/docker.sock
:~/.docker/run/docker.sock
to the container:/var/run/docker.sock
inside the container, so we don’t need
to set DOCKER_SOCKET
Windows
//var/run/docker.sock
://./pipe/docker_engine
, and point to it with the DOCKER_SOCKET
environment variable:Java
application.yaml
file in the path provided to it via the CONFIG_PATH
environment variable. When unset, that path defaults to ./src/main/resources/
, to make it easy in development.For production, we recommended you set CONFIG_PATH
to somewhere more easily accessible (and not in the cloned repo folder):application.yaml
- it will hot reload your changes!/sessions
), and custom tools.
/sessions
, with a JSON body containing your session parameters. Here are some sample request bodies:
application.yaml
)application.yaml
)a
, b
& c
can all interact, and agents c
& d
can interact. Agents a
& b
however, cannot interact with agent d
.request-input
, and respond-to-input
(you can call them whatever you like)
The flow would look (roughly) like:
request-input
when they’re ready - which hangs until there is user input.
request-input
would propagate this input request to your frontend, and resolve it once the user enters something (in say a chat style UI).respond-to-input
, with the answer/response as input.
respond-to-input
would then carry that response to the frontend - to display to your end user./sessions
body) could look like the following: