rapida-react
Version:
An easy to use react client for building generative ai application using Rapida platform.
128 lines (101 loc) • 3.41 kB
Markdown
# VoiceAgent Library
## Overview
The `VoiceAgent` library provides a set of components, hooks, and utilities for integrating AI-powered voice assistants into applications. It supports real-time messaging, audio device management, and connection handling for seamless interaction.
## Installation
To install the package, run:
```sh
npm install rapida-react@latest
```
or using Yarn:
```sh
yarn add rapida-react@latest
```
## Usage
Import the necessary components and hooks from `rapida-react@latest`:
```tsx
import {
Channel,
ConnectionState,
MediaDeviceFailure,
ConnectionConfig,
AgentConfig,
} from "rapida-react";
import {
BrandIcon,
UserIcon,
MessagingAction,
ConversationMessages,
VoiceAgent,
VoiceAgentContext,
useConnectAgent,
useDisconnectAgent,
useInputModeToggleAgent,
useMicInputToggleAgent,
useSpeakerOuputToggleAgent,
useMultiband3DSpeakerTrackVolume,
useMultibandMicrophoneTrackVolume,
useSelectInputDeviceAgent,
} from "rapida-react";
```
## Example
Here is an example of how to use `VoiceAgentContext.Provider` to set up a voice agent:
```tsx
<VoiceAgentContext.Provider
value={
new VoiceAgent(
new ConnectionConfig({
authorization: YOUR_TOKEN,
}),
new AgentConfig(ASSISTANT_ID).addArgument("key", "val")
)
}
>
<ConversationMessages
userIcon={UserIcon}
brandIcon={BrandIcon}
className="h-full overflow-auto !pb-40 no-scrollbar"
intialConversations={[
{
role: "system",
messages: [
"I am Yuuki",
"An AI-powered coach to help you master the toughest challenges at your workplace.",
],
},
]}
/>
<div className="absolute bottom-0 right-0 left-0">
<MessagingAction
className="h-[8rem]"
placeholder="How can I help you overcome a challenge?"
/>
</div>
</VoiceAgentContext.Provider>
```
## Available Exports
The following components, hooks, and utilities are available for import:
### Types & Configurations
- `Channel`: Defines communication channels.
- `ConnectionState`: Represents the state of a voice agent connection.
- `MediaDeviceFailure`: Handles media device errors.
- `ConnectionConfig`: Configures the connection settings for a voice agent.
- `AgentConfig`: Configures the agent settings, including parameters and keywords.
### Components
- `BrandIcon`: Displays the brand's representative icon.
- `UserIcon`: Displays the user's representative icon.
- `MessagingAction`: A messaging input component for user interactions.
- `ConversationMessages`: Manages and displays the conversation flow.
### Context
- `VoiceAgent`: The core AI voice agent instance.
- `VoiceAgentContext`: Provides the voice agent's context for managing interactions.
### Hooks
- `useConnectAgent`: Establishes a connection to the voice agent.
- `useDisconnectAgent`: Disconnects the agent from the session.
- `useInputModeToggleAgent`: Toggles between different input modes.
- `useMicInputToggleAgent`: Enables or disables microphone input.
- `useSpeakerOuputToggleAgent`: Enables or disables speaker output.
- `useMultiband3DSpeakerTrackVolume`: Adjusts multiband volume for speaker tracks.
- `useMultibandMicrophoneTrackVolume`: Adjusts multiband volume for microphone tracks.
- `useSelectInputDeviceAgent`: Selects and manages input audio devices.
## License
This project is licensed under the MIT License.