mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-25 00:16:29 +02:00
docs: improve documentation content (#223)
This commit is contained in:
parent
463630cc0a
commit
82982eaec8
7 changed files with 80 additions and 82 deletions
|
|
@ -68,7 +68,7 @@
|
|||
"socials": {
|
||||
"github": "https://github.com/rowboatlabs/rowboat",
|
||||
"linkedin": "https://www.linkedin.com/company/rowboat-labs",
|
||||
"discord": "https://discord.gg/PCkH9TWC"
|
||||
"discord": "https://discord.gg/rxB8pzHxaS"
|
||||
}
|
||||
},
|
||||
"contextual": {
|
||||
|
|
|
|||
|
|
@ -15,87 +15,77 @@ icon: "toolbox"
|
|||
|
||||
## Usage
|
||||
|
||||
### Basic Usage with StatefulChat
|
||||
### Basic Usage
|
||||
|
||||
The easiest way to interact with Rowboat is using the `StatefulChat` class, which maintains conversation state automatically:
|
||||
|
||||
```python
|
||||
from rowboat import Client, StatefulChat
|
||||
|
||||
# Initialize the client
|
||||
client = Client(
|
||||
host="<HOST>",
|
||||
project_id="<PROJECT_ID>",
|
||||
api_key="<API_KEY>"
|
||||
)
|
||||
|
||||
# Create a stateful chat session
|
||||
chat = StatefulChat(client)
|
||||
|
||||
# Have a conversation
|
||||
response = chat.run("What is the capital of France?")
|
||||
print(response)
|
||||
# The capital of France is Paris.
|
||||
|
||||
# Continue the conversation - the context is maintained automatically
|
||||
response = chat.run("What other major cities are in that country?")
|
||||
print(response)
|
||||
# Other major cities in France include Lyon, Marseille, Toulouse, and Nice.
|
||||
|
||||
response = chat.run("What's the population of the first city you mentioned?")
|
||||
print(response)
|
||||
# Lyon has a population of approximately 513,000 in the city proper.
|
||||
```
|
||||
|
||||
### Advanced Usage
|
||||
|
||||
#### Using a specific workflow
|
||||
|
||||
You can specify a workflow ID to use a particular conversation configuration:
|
||||
|
||||
```python
|
||||
chat = StatefulChat(
|
||||
client,
|
||||
workflow_id="<WORKFLOW_ID>"
|
||||
)
|
||||
```
|
||||
|
||||
#### Using a test profile
|
||||
|
||||
You can specify a test profile ID to use a specific test configuration:
|
||||
|
||||
```python
|
||||
chat = StatefulChat(
|
||||
client,
|
||||
test_profile_id="<TEST_PROFILE_ID>"
|
||||
)
|
||||
```
|
||||
|
||||
### Low-Level Usage
|
||||
|
||||
For more control over the conversation, you can use the `Client` class directly:
|
||||
The main way to interact with Rowboat is using the `Client` class, which provides a stateless chat API. You can manage conversation state using the `conversationId` returned in each response.
|
||||
|
||||
```python
|
||||
from rowboat.client import Client
|
||||
from rowboat.schema import UserMessage
|
||||
|
||||
# Initialize the client
|
||||
client = Client(
|
||||
host="<HOST>",
|
||||
project_id="<PROJECT_ID>",
|
||||
api_key="<API_KEY>"
|
||||
projectId="<PROJECT_ID>",
|
||||
apiKey="<API_KEY>"
|
||||
)
|
||||
|
||||
# Create messages
|
||||
messages = [
|
||||
UserMessage(role='user', content="Hello, how are you?")
|
||||
]
|
||||
# Start a new conversation
|
||||
result = client.run_turn(
|
||||
messages=[
|
||||
UserMessage(role='user', content="What is the capital of France?")
|
||||
]
|
||||
)
|
||||
print(result.turn.output[-1].content)
|
||||
# The capital of France is Paris.
|
||||
|
||||
# Get response
|
||||
response = client.chat(messages=messages)
|
||||
print(response.messages[-1].content)
|
||||
print("Conversation ID:", result.conversationId)
|
||||
|
||||
# For subsequent messages, you need to manage the message history and state manually
|
||||
messages.extend(response.messages)
|
||||
messages.append(UserMessage(role='user', content="What's your name?"))
|
||||
response = client.chat(messages=messages, state=response.state)
|
||||
```
|
||||
# Continue the conversation by passing the conversationId
|
||||
result = client.run_turn(
|
||||
messages=[
|
||||
UserMessage(role='user', content="What other major cities are in that country?")
|
||||
],
|
||||
conversationId=result.conversationId
|
||||
)
|
||||
print(result.turn.output[-1].content)
|
||||
# Other major cities in France include Lyon, Marseille, Toulouse, and Nice.
|
||||
|
||||
result = client.run_turn(
|
||||
messages=[
|
||||
UserMessage(role='user', content="What's the population of the first city you mentioned?")
|
||||
],
|
||||
conversationId=result.conversationId
|
||||
)
|
||||
print(result.turn.output[-1].content)
|
||||
# Lyon has a population of approximately 513,000 in the city proper.
|
||||
```
|
||||
|
||||
### Using Tool Overrides (Mock Tools)
|
||||
|
||||
You can provide tool override instructions to test a specific configuration using the `mockTools` argument:
|
||||
|
||||
```python
|
||||
result = client.run_turn(
|
||||
messages=[
|
||||
UserMessage(role='user', content="What's the weather?")
|
||||
],
|
||||
mockTools={
|
||||
"weather_lookup": "The weather in any city is sunny and 25°C.",
|
||||
"calculator": "The result of any calculation is 42."
|
||||
}
|
||||
)
|
||||
print(result.turn.output[-1].content)
|
||||
```
|
||||
|
||||
### Message Types
|
||||
|
||||
You can use different message types as defined in `rowboat.schema`, such as `UserMessage`, `SystemMessage`, `AssistantMessage`, etc. See `schema.py` for all available message types.
|
||||
|
||||
### Error Handling
|
||||
|
||||
If the API returns a non-200 status code, a `ValueError` will be raised with the error details.
|
||||
|
||||
---
|
||||
|
||||
For more advanced usage, see the docstrings in `client.py` and the message schemas in `schema.py`.
|
||||
|
|
@ -21,7 +21,7 @@ We're building Rowboat as an open-source, community-powered platform — and we'
|
|||
Browse our [GitHub Issues](https://github.com/rowboatlabs/rowboat/issues) for tags like `good first issue`, `help wanted`, or `bug` to find a spot that fits your skillset.
|
||||
|
||||
- **Join the Community**
|
||||
Our [Discord](https://discord.gg/PCkH9TWC) is the go-to hub for brainstorming, feedback, and finding contributors for bigger efforts.
|
||||
Our [Discord](https://discord.gg/rxB8pzHxaS) is the go-to hub for brainstorming, feedback, and finding contributors for bigger efforts.
|
||||
|
||||
- **Propose Something New**
|
||||
Have a new tool integration idea or found a bug? Open an issue and let’s discuss it!
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: "Introduction"
|
||||
description: "Welcome to the official Rowboat documentation! Rowboat is a low-code AI IDE to build MCP tools connected multi-agent assistants. Rowboat copilot builds the agents for you based on your requirements with the option do everything manually as well."
|
||||
description: "Welcome to the official Rowboat documentation! Rowboat is a low-code AI IDE to build tool connected multi-agent assistants. Rowboat copilot builds the agents for you based on your requirements with the option do everything manually as well."
|
||||
icon: "book-open"
|
||||
---
|
||||
|
||||
|
|
@ -11,9 +11,9 @@ icon: "book-open"
|
|||
## What is RowBoat?
|
||||
**RowBoat is a state-of-art platform to build multi-agent AI systems in a visual interface, with the help of a copilot.**
|
||||
|
||||
RowBoat enables you to build, manage and deploy user-facing assistants. An assistant is made up of multiple agents, each having access to a set of tools and working together to interact with the user as a single assistant. You can connect any MCP tools to the agents.
|
||||
RowBoat enables you to build, manage and deploy user-facing assistants. An assistant is made up of multiple agents, each having access to a set of tools and working together to interact with the user as a single assistant. You can connect any tool to the agents.
|
||||
|
||||
For example, you can build a *credit card assistant*, where each agent handles a workflow such as *outstanding payments*, *balance inquiries* and *transaction disputes*. You can equip agents with tools to carry out tasks such as *fetching payment options*, *checking outstanding balance* and *updating user information*. The assistant would help your end-users their credit card-related needs without having to talk to a human agent on your end.
|
||||
For example, you can build a *meeting prep assistant* that helps you prepare for upcoming meetings. One agent can access your Google Calendar to see your scheduled meetings, another agent can research the meeting attendees (such as finding their LinkedIn profiles or recent news), and a third agent can compile this research and send it to your email before the meeting. This way, you get automated, personalized meeting prep without manual effort.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -34,12 +34,12 @@ There are key components that you will work with:
|
|||
|
||||
### RowBoat Chat API & SDK
|
||||
- [RowBoat Chat API](/docs/api-sdk/using_the_api) is a stateless HTTP API to interface with the assistant created on RowBoat Studio. You can use the API to drive end-user facing conversations in your app or website.
|
||||
- [RowBoat Chat SDK](/docs/api-sdk/using_the_sdk) is a simple SDK (currently available in Python) which wraps the HTTP API under the hood. It offers both stateful and stateless (OpenAI-style) implementations.
|
||||
- [RowBoat Chat SDK](/docs/api-sdk/using_the_sdk) is a simple Python SDK which wraps the HTTP API under the hood. It provides a clean interface for managing conversations using conversation IDs for state management.
|
||||
|
||||
---
|
||||
|
||||
## Why RowBoat?
|
||||
Rowboat is the fastest way to build and deploy MCP connected multi-agents
|
||||
Rowboat is the fastest way to build and deploy multi-agent assistants.
|
||||
|
||||
<Steps>
|
||||
<Step title="Build complex assistants">
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ Using the open-source version of Rowboat requires more technical skill to set up
|
|||
```bash
|
||||
git clone git@github.com:rowboatlabs/rowboat.git
|
||||
cd rowboat
|
||||
docker-compose up --build
|
||||
./start.sh
|
||||
```
|
||||
</Step>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Rowboat is a low-code AI IDE to build MCP tools connected multi-agent assistants
|
|||
**Note:** These docs are intended for developers who would like to use our [open-source code](https://github.com/rowboatlabs/rowboat/).
|
||||
|
||||
- Our source code is on GitHub at [@rowboatlabs/rowboat](https://github.com/rowboatlabs/rowboat/)
|
||||
- Join us on [discord](https://discord.gg/jHhUKkKHn8)
|
||||
- Join us on [discord](https://discord.gg/rxB8pzHxaS)
|
||||
- Email us at [founders@rowboatlabs.com](mailto:founders@rowboatlabs.com)
|
||||
- Visit our [website](https://www.rowboatlabs.com/)
|
||||
|
||||
|
|
|
|||
|
|
@ -26,9 +26,17 @@ The Tools page in Rowboat lets you add and configure tools that your agents can
|
|||
- Browse a library of 500+ toolkits from popular services
|
||||
- With 3000+ tools to choose from!
|
||||
- Click on a service to see available tools and add them to your workflow
|
||||
- Users must create a Composio account and add their API key
|
||||
- Users must create a [Composio](https://composio.dev/) account and add their API key
|
||||
- Tools require authorization to work properly
|
||||
|
||||
### Setting up Composio API Key
|
||||
|
||||
To use Composio tools, get a Composio key and export it as an environment variable:
|
||||
|
||||
```bash
|
||||
export COMPOSIO_API_KEY=your_api_key_here
|
||||
```
|
||||
|
||||
<Note>Users can visit [Composio's toolkit documentation](https://docs.composio.dev/toolkits/introduction) for a deep dive into all the tools available.</Note>
|
||||
|
||||
## Custom MCP Servers
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue