mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-05-28 19:05:31 +02:00
commit
0b4048b61b
10 changed files with 64 additions and 19 deletions
|
|
@ -164,3 +164,6 @@ Before running RowBoat, ensure you have:
|
|||
|
||||
3. **Sign-in Button Not Appearing**
|
||||
- If the sign-in button does not appear in the UI, ensure the Auth0 domain in your `.env` file is prefixed with `https://`.
|
||||
|
||||
## Attribution
|
||||
Our agents framework is built on top of [OpenAI Swarm](https://github.com/openai/swarm) with custom enhancements and improvements. Check the [NOTICE](https://github.com/rowboatlabs/rowboat/blob/main/apps/agents/NOTICE.md) for attribution and license.
|
||||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
## 📝 Overview
|
||||
- RowBoat Agents is a multi-agent framework that powers conversations using agentic workflows.
|
||||
- Built on top of [OpenAI Swarm](https://github.com/openai/swarm) with custom enhancements and improvements. Check the `NOTICE.md` for attribution and licensing details (MIT license).
|
||||
- Built on top of [OpenAI Swarm](https://github.com/openai/swarm) with custom enhancements and improvements. Check the [NOTICE](https://github.com/rowboatlabs/rowboat/blob/main/apps/agents/NOTICE.md) for attribution and licensing details (MIT license).
|
||||
|
||||
---
|
||||
|
||||
## 🕸️ Graph-based Framework
|
||||
- Multi-agent systems are represented as graphs, where each agent is a node in the graph.
|
||||
- RowBoat Agents accepts Directed Acyclic Graph (DAG) workflows, which define agents, tools, and their connections.
|
||||
- Configure workflows using the RowBoat Studio (UI) with the help of an AI copilot. Setup instructions can be found in the [main README](https://github.com/rowboatlabs/rowboat/tree/dev).
|
||||
- Configure workflows using the RowBoat Studio (UI) with the help of an AI copilot. Setup instructions can be found in the [main README](https://github.com/rowboatlabs/rowboat).
|
||||
- The framework is stateless, meaning that it requires the upstream service to pass in the current `state` and `messages` in every turn.
|
||||
- At each conversation turn:
|
||||
- The agents are initialized using the current `state`.
|
||||
|
|
|
|||
BIN
apps/docs/docs/img/project-page.png
Normal file
BIN
apps/docs/docs/img/project-page.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
BIN
apps/docs/docs/img/re-test-chat.png
Normal file
BIN
apps/docs/docs/img/re-test-chat.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 326 KiB |
BIN
apps/docs/docs/img/start-agent.png
Normal file
BIN
apps/docs/docs/img/start-agent.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
BIN
apps/docs/docs/img/testing-chat.png
Normal file
BIN
apps/docs/docs/img/testing-chat.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 255 KiB |
BIN
apps/docs/docs/img/update-agent.png
Normal file
BIN
apps/docs/docs/img/update-agent.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 341 KiB |
BIN
apps/docs/docs/img/use-copilot.png
Normal file
BIN
apps/docs/docs/img/use-copilot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
|
|
@ -35,11 +35,31 @@ Refer to our [Github Readme for Local Development](https://github.com/rowboatlab
|
|||
### Testing Studio
|
||||
|
||||
1. Once you are set up, you should be able to login to the Studio (default local URL: [http://localhost:3000](http://localhost:8000)) via Auth0's login options (Gmail, Github etc.)
|
||||
2. Once in Studio, create a new blank project or use one of the example templates
|
||||
3. Ensure that the correct agent is set as the "start agent"
|
||||
4. Test out a chat in the playground to verify the agents' behavior
|
||||
5. Ask copilot to make minor modifications to one of the agents and apply the changes
|
||||
6. Test out another chat in the playground to verify the changes
|
||||
<br>
|
||||
|
||||
2. Once in Studio, create a new blank project or use one of the example templates:
|
||||

|
||||
<br>
|
||||
|
||||
3. Use the copilot to help you build agents:
|
||||

|
||||
<br>
|
||||
|
||||
4. Ensure that the correct agent is set as the "start agent":
|
||||

|
||||
<br>
|
||||
|
||||
5. Test out a chat in the playground to verify the agents' behavior:
|
||||

|
||||
<br>
|
||||
|
||||
6. Ask copilot to make minor modifications to one of the agents and apply the changes:
|
||||

|
||||
<br>
|
||||
|
||||
7. Test out another chat in the playground to verify the changes:
|
||||

|
||||
<br>
|
||||
|
||||
### Testing the Chat API
|
||||
|
||||
|
|
@ -59,7 +79,7 @@ curl --location 'http://localhost:3000/api/v1/<PROJECT_ID>/chat' \
|
|||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": "tell me the weather in london in metric units"
|
||||
"content": "What is my pending payment amount?"
|
||||
}
|
||||
]
|
||||
}'
|
||||
|
|
@ -69,19 +89,44 @@ curl --location 'http://localhost:3000/api/v1/<PROJECT_ID>/chat' \
|
|||
{
|
||||
"messages": [
|
||||
{
|
||||
"content": "Hello! It seems you want to check or settle an outstanding payment. Let me connect you to the right department for assistance.",
|
||||
"created_at": "2025-02-01T06:55:47.843909",
|
||||
"current_turn": true,
|
||||
"response_type": "internal",
|
||||
"role": "assistant",
|
||||
"sender": "Credit Card Hub",
|
||||
"tool_calls": [
|
||||
{
|
||||
"function": {
|
||||
"arguments": "{\"location\":\"London\",\"units\":\"metric\"}",
|
||||
"name": "weather_lookup_tool"
|
||||
"arguments": "{\"args\":\"\",\"kwargs\":\"\"}",
|
||||
"name": "transfer_to_outstanding_payment"
|
||||
},
|
||||
"id": "call_r6XKuVxmGRogofkyFZIacdL0",
|
||||
"id": "call_7jGpwpVvzhZFOyRgxHFkdOdU",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"agenticSender": "Example Agent",
|
||||
"agenticResponseType": "internal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"content": "{\"assistant\": \"Outstanding Payment\"}",
|
||||
"role": "tool",
|
||||
"tool_call_id": "call_7jGpwpVvzhZFOyRgxHFkdOdU",
|
||||
"tool_name": "transfer_to_outstanding_payment"
|
||||
},
|
||||
{
|
||||
"content": "Sure, could you provide the last four digits of your card or your registered mobile number so I can look up your pending payment amount?",
|
||||
"created_at": "2025-02-01T06:55:49.648008",
|
||||
"current_turn": true,
|
||||
"response_type": "internal",
|
||||
"role": "assistant",
|
||||
"sender": "Outstanding Payment"
|
||||
},
|
||||
{
|
||||
"content": "Sure, please provide the last four digits of your card or your registered mobile number so I can check your pending payment amount.",
|
||||
"created_at": "2025-02-01T06:55:49.648008",
|
||||
"current_turn": true,
|
||||
"response_type": "external",
|
||||
"role": "assistant",
|
||||
"sender": "Outstanding Payment >> Post process"
|
||||
}
|
||||
],
|
||||
"state": {
|
||||
|
|
@ -108,7 +153,7 @@ client = Client(
|
|||
)
|
||||
|
||||
# Simple chat interaction
|
||||
messages = [{"role": "user", "content": "Tell me the weather in London"}]
|
||||
messages = [{"role": "user", "content": "What is my pending payment amount?"}]
|
||||
response_messages, state = client.chat(messages=messages)
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,4 @@ Follow the [installation steps](/installation/) to set up RowBoat Studio, API an
|
|||
|
||||
## Building your first assistant
|
||||
|
||||
Coming soon.
|
||||
|
||||
|
||||
|
||||
Coming soon.
|
||||
Loading…
Add table
Add a link
Reference in a new issue