RemiFabre
commited on
Commit
·
361a12c
1
Parent(s):
c6b5426
Iterating on README
Browse files
README.md
CHANGED
|
@@ -146,48 +146,41 @@ By default, the app runs in console mode for direct audio interaction. Use the `
|
|
| 146 |
|
| 147 |
## Using custom profiles
|
| 148 |
You can create and run custom profiles with their dedicated instructions in the prompt, and a custom set of enabled tools.
|
| 149 |
-
For that, set the REACHY_MINI_CUSTOM_PROFILE environment variable.
|
| 150 |
|
|
|
|
| 151 |
|
| 152 |
-
|
| 153 |
-
A profile folder must contain at least a `instructions.txt` file with the custom instructions for the assistant and a `tools.txt` file listing the enabled tools (one per line).
|
| 154 |
-
|
| 155 |
-
If you don't set REACHY_MINI_CUSTOM_PROFILE, the `default` profile will be used.
|
| 156 |
|
| 157 |
### Custom instructions
|
| 158 |
-
|
| 159 |
-
You can reuse some prompt parts from the prompt library in `src/reachy_mini_conversation_app/prompts/`.
|
| 160 |
-
For that, in `instructions.txt` just add a line like
|
| 161 |
```
|
| 162 |
[passion_for_lobster_jokes]
|
| 163 |
-
```
|
| 164 |
-
which will automatically load the prompt contained in `src/reachy_mini_conversation_app/prompts/passion_for_lobster_jokes.txt`.
|
| 165 |
-
or
|
| 166 |
-
```
|
| 167 |
[identities/witty_identity]
|
| 168 |
```
|
| 169 |
-
|
| 170 |
|
| 171 |
-
|
| 172 |
|
| 173 |
-
### Enabling
|
|
|
|
| 174 |
|
| 175 |
-
#### From the shared tools library
|
| 176 |
-
In the `tools.txt` file, just list the tools you want to enable for this profile, one per line.
|
| 177 |
-
You can comment out lines starting with `#`, to prevent certain tools from being enabled.
|
| 178 |
-
For example:
|
| 179 |
```
|
| 180 |
-
|
| 181 |
-
#
|
|
|
|
|
|
|
|
|
|
| 182 |
```
|
| 183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
|
| 185 |
-
|
| 186 |
-
You can also define custom tools specific to your profile. Just list them in the `tools.txt` file like the other tools.
|
| 187 |
-
Tools will be searched first in the local folder, where you can include files like `mytool.py`.
|
| 188 |
-
Those should be subclasses of `reachy_mini_conversation_app.tools.core_tools.Tool`.
|
| 189 |
|
| 190 |
-
See the `throw_stone.py` tool in the `src/reachy_mini_conversation_app/profiles/example/` profile as an example of a dummy custom tool.
|
| 191 |
|
| 192 |
|
| 193 |
|
|
|
|
| 146 |
|
| 147 |
## Using custom profiles
|
| 148 |
You can create and run custom profiles with their dedicated instructions in the prompt, and a custom set of enabled tools.
|
|
|
|
| 149 |
|
| 150 |
+
Set `REACHY_MINI_CUSTOM_PROFILE=<name>` to load a profile from `src/reachy_mini_conversation_app/profiles/<name>/` (see .env.example). If the variable is not set, the `default` profile is used.
|
| 151 |
|
| 152 |
+
Each profile needs two files: `instructions.txt` (prompt text) and `tools.txt` (list of tools allowed).
|
|
|
|
|
|
|
|
|
|
| 153 |
|
| 154 |
### Custom instructions
|
| 155 |
+
Write plain-text prompts in `instructions.txt`. To reuse shared prompt pieces, add lines like:
|
|
|
|
|
|
|
| 156 |
```
|
| 157 |
[passion_for_lobster_jokes]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
[identities/witty_identity]
|
| 159 |
```
|
| 160 |
+
See `src/reachy_mini_conversation_app/profiles/example/` for a reference layout.
|
| 161 |
|
| 162 |
+
Each placeholder pulls the content of the matching file under `src/reachy_mini_conversation_app/prompts/` (nested paths allowed).
|
| 163 |
|
| 164 |
+
### Enabling tools
|
| 165 |
+
List enabled tools in `tools.txt`, one per line; prefix with `#` to comment out. For example:
|
| 166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 167 |
```
|
| 168 |
+
play_emotion
|
| 169 |
+
# move_head
|
| 170 |
+
|
| 171 |
+
# My custom tool defined locally
|
| 172 |
+
sweep_look
|
| 173 |
```
|
| 174 |
+
Tools will be searched for in the shared tools library located in `src/reachy_mini_conversation_app/tools/` as well as in the profile folder (the later is searched for first).
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
### Local custom tools
|
| 178 |
+
You can define custom tools by creating a Python file directly in the profile folder.
|
| 179 |
+
|
| 180 |
+
Custom Python tools must subclass `reachy_mini_conversation_app.tools.core_tools.Tool` (see `profiles/example/sweep_look.py` and `throw_stone.py`).
|
| 181 |
|
| 182 |
+
then shared tools in `src/reachy_mini_conversation_app/tools/` (e.g., `dance`, `head_tracking`). Custom Python tools must subclass `reachy_mini_conversation_app.tools.core_tools.Tool` (see `profiles/example/sweep_look.py` and `throw_stone.py`).
|
|
|
|
|
|
|
|
|
|
| 183 |
|
|
|
|
| 184 |
|
| 185 |
|
| 186 |
|