Merge pull request #7 from rowboatlabs/dev

Dev --> Main
This commit is contained in:
Akhilesh Sudhakar 2025-02-01 12:39:30 +05:30 committed by GitHub
commit 0b4048b61b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 64 additions and 19 deletions

View file

@ -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.

View file

@ -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`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

View file

@ -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:
![Create Project](img/project-page.png)
<br>
3. Use the copilot to help you build agents:
![Use Copilot](img/use-copilot.png)
<br>
4. Ensure that the correct agent is set as the "start agent":
![Set Start Agent](img/start-agent.png)
<br>
5. Test out a chat in the playground to verify the agents' behavior:
![Testing Chat](img/testing-chat.png)
<br>
6. Ask copilot to make minor modifications to one of the agents and apply the changes:
![Update Agent](img/update-agent.png)
<br>
7. Test out another chat in the playground to verify the changes:
![Re-Test Chat](img/re-test-chat.png)
<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)
```

View file

@ -3,7 +3,4 @@ Follow the [installation steps](/installation/) to set up RowBoat Studio, API an
## Building your first assistant
Coming soon.
Coming soon.