moved AI generated readmes to readme folder (may delete)
This commit is contained in:
148
readmes/JAPANESE_MODE_QUICK_START.md
Normal file
148
readmes/JAPANESE_MODE_QUICK_START.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Japanese Mode - Quick Reference for Web UI
|
||||
|
||||
## What Was Implemented
|
||||
|
||||
A **language toggle system** for the Miku bot that switches between:
|
||||
- **English Mode** (Default) - Uses standard Llama 3.1 model
|
||||
- **Japanese Mode** - Uses Llama 3.1 Swallow model, responds entirely in Japanese
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### 1. Check Language Status
|
||||
```
|
||||
GET /language
|
||||
```
|
||||
Response:
|
||||
```json
|
||||
{
|
||||
"language_mode": "english",
|
||||
"available_languages": ["english", "japanese"],
|
||||
"current_model": "llama3.1"
|
||||
}
|
||||
```
|
||||
|
||||
### 2. Toggle Language (English ↔ Japanese)
|
||||
```
|
||||
POST /language/toggle
|
||||
```
|
||||
Response:
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
"language_mode": "japanese",
|
||||
"model_now_using": "swallow",
|
||||
"message": "Miku is now speaking in JAPANESE!"
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Set Specific Language
|
||||
```
|
||||
POST /language/set?language=japanese
|
||||
```
|
||||
or
|
||||
```
|
||||
POST /language/set?language=english
|
||||
```
|
||||
|
||||
Response:
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
"language_mode": "japanese",
|
||||
"model_now_using": "swallow",
|
||||
"message": "Miku is now speaking in JAPANESE!"
|
||||
}
|
||||
```
|
||||
|
||||
## Web UI Integration
|
||||
|
||||
Add a simple toggle button to your web UI:
|
||||
|
||||
```html
|
||||
<button onclick="toggleLanguage()">🌐 Toggle Language</button>
|
||||
<div id="language-status">English</div>
|
||||
|
||||
<script>
|
||||
async function toggleLanguage() {
|
||||
const response = await fetch('/language/toggle', { method: 'POST' });
|
||||
const data = await response.json();
|
||||
document.getElementById('language-status').textContent =
|
||||
data.language_mode.toUpperCase();
|
||||
}
|
||||
|
||||
async function getLanguageStatus() {
|
||||
const response = await fetch('/language');
|
||||
const data = await response.json();
|
||||
document.getElementById('language-status').textContent =
|
||||
data.language_mode.toUpperCase();
|
||||
}
|
||||
|
||||
// Check status on load
|
||||
getLanguageStatus();
|
||||
</script>
|
||||
```
|
||||
|
||||
## Design Approach
|
||||
|
||||
**Why no full translation of prompts?**
|
||||
|
||||
Instead of translating all Miku's personality prompts to Japanese, we:
|
||||
|
||||
1. **Keep English context** - Helps the Swallow model understand Miku's personality better
|
||||
2. **Append language instruction** - Add "Respond entirely in Japanese (日本語)" to the prompt
|
||||
3. **Let Swallow handle it** - The model is trained for Japanese and understands English instructions
|
||||
|
||||
**Benefits:**
|
||||
- ✅ Minimal implementation effort
|
||||
- ✅ No translation maintenance needed
|
||||
- ✅ Model still understands Miku's complete personality
|
||||
- ✅ Can easily expand to other languages
|
||||
- ✅ Works perfectly for instruction-based language switching
|
||||
|
||||
## How the Bot Behaves
|
||||
|
||||
### English Mode
|
||||
- Responds in English
|
||||
- Uses standard Llama 3.1 model
|
||||
- All personality and context in English
|
||||
- Emoji reactions work as normal
|
||||
|
||||
### Japanese Mode
|
||||
- Responds entirely in 日本語 (Japanese)
|
||||
- Uses Llama 3.1 Swallow model (trained on Japanese text)
|
||||
- Understands English context but responds in Japanese
|
||||
- Maintains same personality and mood system
|
||||
|
||||
## Testing the Implementation
|
||||
|
||||
1. **Default behavior** - Miku speaks English
|
||||
2. **Toggle once** - Miku switches to Japanese
|
||||
3. **Send message** - Check if response is in Japanese
|
||||
4. **Toggle again** - Miku switches back to English
|
||||
5. **Send message** - Confirm response is in English
|
||||
|
||||
## Technical Details
|
||||
|
||||
| Component | English | Japanese |
|
||||
|-----------|---------|----------|
|
||||
| Text Model | `llama3.1` | `swallow` |
|
||||
| Prompts | miku_prompt.txt | miku_prompt_jp.txt |
|
||||
| Lore | miku_lore.txt | miku_lore_jp.txt |
|
||||
| Lyrics | miku_lyrics.txt | miku_lyrics_jp.txt |
|
||||
| Language Instruction | None | "Respond in 日本語 only" |
|
||||
|
||||
## Notes
|
||||
|
||||
- Language mode is **global** (affects all users/servers)
|
||||
- If you need **per-server language settings**, store mode in `servers_config.json`
|
||||
- Evil mode takes priority over language mode if both are active
|
||||
- Conversation history stores both English and Japanese messages seamlessly
|
||||
- Vision model always uses NVIDIA GPU (language mode doesn't affect vision)
|
||||
|
||||
## Future Improvements
|
||||
|
||||
1. Save language preference to `memory/servers_config.json`
|
||||
2. Add `LANGUAGE_MODE` to per-server settings
|
||||
3. Create per-channel language support
|
||||
4. Add language auto-detection from user messages
|
||||
5. Create fully translated Japanese prompt files for better accuracy
|
||||
Reference in New Issue
Block a user