Spaces:
Running
Running
Upload 2 files
Browse files- flare-tasarim.md +56 -4
- flare-ui-tasarim.md +39 -140
flare-tasarim.md
CHANGED
@@ -8,6 +8,8 @@ Flare, Spark LLM motorunun üstünde çalışan, çok adımlı ve akıllı bir o
|
|
8 |
✅ Doğru parameter değerleri ile API çağrıları yapmak,
|
9 |
✅ API cevabını Spark üzerinden insanileştirilmiş metne dönüştürmek ve kullanıcıya iletmek,
|
10 |
✅ Her şeyi session bazında, state machine mantığında takip etmek.
|
|
|
|
|
11 |
|
12 |
Bu yapı Parloa gibi sistemlerde kullanılan "flow engine + LLM + tool orchestration" yaklaşımına dayanır.
|
13 |
|
@@ -17,8 +19,9 @@ Flare, farklı LLM provider'larını desteklemek için abstraction layer kullan
|
|
17 |
|
18 |
- **Spark (HuggingFace)**: On-premise ve HuggingFace cloud deployment'lar için
|
19 |
- **GPT-4o (OpenAI)**: OpenAI API üzerinden GPT-4o modeli kullanımı için
|
|
|
20 |
|
21 |
-
Work mode'a göre (`hfcloud`, `cloud`, `on-premise`, `gpt4o`) uygun LLM provider seçilir ve tüm LLM çağrıları bu abstraction üzerinden yapılır. Bu sayede farklı LLM'ler aynı intent detection, parameter extraction ve response generation mantığıyla çalışabilir.
|
22 |
|
23 |
# Spark Entegrasyonu
|
24 |
|
@@ -28,7 +31,7 @@ Spark'a gönderilecek tüm request'lerde header'a Authorization: Bearer <SPARK_T
|
|
28 |
|
29 |
# GPT-4o Entegrasyonu
|
30 |
|
31 |
-
Work mode `gpt4o` seçildiğinde, Spark yerine OpenAI API kullanılır. OpenAI API key, config.cloud_token alanında şifrelenmiş olarak saklanır (mevcut encryption_utils kullanılarak).
|
32 |
|
33 |
GPT-4o için özel konfigürasyonlar:
|
34 |
- Model seçimi: gpt-4o veya gpt-4o-mini
|
@@ -36,6 +39,40 @@ GPT-4o için özel konfigürasyonlar:
|
|
36 |
- Max tokens: Response uzunluğu limiti
|
37 |
- System prompt ve conversation history OpenAI format'ına dönüştürülür
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
# Internal Prompt Mekanizması
|
40 |
|
41 |
Flare servisi, tüm LLM isteklerinde kullanılmak üzere merkezi bir internal_prompt tanımına sahiptir. Bu prompt, service_config.jsonc dosyasında config.internal_prompt olarak saklanır ve her intent detection işleminde project version'daki general_prompt'un başına otomatik olarak eklenir.
|
@@ -211,6 +248,8 @@ Parametre tanımlarında "date" type'ı desteklenmektedir. Date parametreleri:
|
|
211 |
| LLM Interface | Farklı LLM provider'larını abstract eden katman |
|
212 |
| Spark LLM | HuggingFace Spark servisi ile iletişim |
|
213 |
| GPT-4o LLM | OpenAI API ile iletişim |
|
|
|
|
|
214 |
| Flare Session Manager | Her kullanıcı için session ve state takibi |
|
215 |
| Flare Prompt Engine | Her aşamada LLM'e gönderilecek uygun system prompt'u dinamik hazırlayan yapı |
|
216 |
| API Connector | Tanımlı API'lere parametrelerle çağrı yapan, auth/refresh yöneten katman |
|
@@ -232,6 +271,11 @@ Parametre tanımlarında "date" type'ı desteklenmektedir. Date parametreleri:
|
|
232 |
✅ Internal prompt sistemi
|
233 |
✅ Date type desteği
|
234 |
✅ Multi-provider support
|
|
|
|
|
|
|
|
|
|
|
235 |
|
236 |
# 🔑 Önemli Notlar (Unutulmaması Gerekenler)
|
237 |
|
@@ -243,6 +287,8 @@ Parametre tanımlarında "date" type'ı desteklenmektedir. Date parametreleri:
|
|
243 |
6. API token yönetimi ve refresh mekanizması, Flare içinde güvenli ve izlenebilir şekilde tutulmalı.
|
244 |
7. GPT-4o kullanımında token maliyetleri göz önünde bulundurulmalı, conversation history sınırlandırılmalı.
|
245 |
8. Farklı LLM'lerin response formatları normalize edilmeli (#DETECTED_INTENT ve #PARAMETERS formatları korunmalı).
|
|
|
|
|
246 |
|
247 |
# Servis Konfigürasyonu
|
248 |
|
@@ -254,7 +300,7 @@ Flare'in tanımlarını tutan bir document database gibi kullanacağımız servi
|
|
254 |
// FLARE GLOBAL CONFIGURATION
|
255 |
// =====================================================
|
256 |
"config": {
|
257 |
-
"work_mode": "hfcloud", // "hfcloud" | "cloud" | "on-premise" | "gpt4o"
|
258 |
"cloud_token": "<your cloud token or OpenAI API key>", // work_mode'a göre Spark token veya OpenAI API key (şifrelenmiş)
|
259 |
"spark_endpoint": "https://ucsturkey-spark.hf.space", // Spark servisi URL (GPT mode'da kullanılmaz)
|
260 |
"internal_prompt": "⚠️ **NEVER output \"#DETECTED_INTENT:\"...", // Merkezi LLM kuralları
|
@@ -262,6 +308,12 @@ Flare'in tanımlarını tutan bir document database gibi kullanacağımız servi
|
|
262 |
"last_update_date": "2025-06-08T12:00:00.000Z", // Race condition kontrolü için
|
263 |
"last_update_user": "admin",
|
264 |
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
// === Login Users (bcrypt hash + salt): Flare UI kullanılabilecek user'lar ==============
|
266 |
"users": [
|
267 |
{
|
@@ -321,7 +373,7 @@ Flare'in tanımlarını tutan bir document database gibi kullanacağımız servi
|
|
321 |
"use_fine_tune": false, // LoRA fine-tune model kullanılma durumu
|
322 |
"fine_tune_zip": "", // use_fine_tune: true ise, kullanılacak LoRA adapter zip'in URL'i
|
323 |
|
324 |
-
// GPT-4o mode için (work_mode = "gpt4o" olduğunda kullanılır):
|
325 |
"gpt_model": "gpt-4o", // "gpt-4o" | "gpt-4o-mini"
|
326 |
"gpt_temperature": 0.3, // 0-2 arası
|
327 |
"gpt_max_tokens": 512 // Maximum response token sayısı
|
|
|
8 |
✅ Doğru parameter değerleri ile API çağrıları yapmak,
|
9 |
✅ API cevabını Spark üzerinden insanileştirilmiş metne dönüştürmek ve kullanıcıya iletmek,
|
10 |
✅ Her şeyi session bazında, state machine mantığında takip etmek.
|
11 |
+
✅ TTS (Text-to-Speech) desteği ile bot yanıtlarını sesli olarak sunmak.
|
12 |
+
✅ STT (Speech-to-Text) desteği ile kullanıcıdan sesli girdi almak (gelecek özellik).
|
13 |
|
14 |
Bu yapı Parloa gibi sistemlerde kullanılan "flow engine + LLM + tool orchestration" yaklaşımına dayanır.
|
15 |
|
|
|
19 |
|
20 |
- **Spark (HuggingFace)**: On-premise ve HuggingFace cloud deployment'lar için
|
21 |
- **GPT-4o (OpenAI)**: OpenAI API üzerinden GPT-4o modeli kullanımı için
|
22 |
+
- **GPT-4o-mini (OpenAI)**: Düşük maliyetli alternatif için GPT-4o-mini modeli
|
23 |
|
24 |
+
Work mode'a göre (`hfcloud`, `cloud`, `on-premise`, `gpt4o`, `gpt4o-mini`) uygun LLM provider seçilir ve tüm LLM çağrıları bu abstraction üzerinden yapılır. Bu sayede farklı LLM'ler aynı intent detection, parameter extraction ve response generation mantığıyla çalışabilir.
|
25 |
|
26 |
# Spark Entegrasyonu
|
27 |
|
|
|
31 |
|
32 |
# GPT-4o Entegrasyonu
|
33 |
|
34 |
+
Work mode `gpt4o` veya `gpt4o-mini` seçildiğinde, Spark yerine OpenAI API kullanılır. OpenAI API key, config.cloud_token alanında şifrelenmiş olarak saklanır (mevcut encryption_utils kullanılarak).
|
35 |
|
36 |
GPT-4o için özel konfigürasyonlar:
|
37 |
- Model seçimi: gpt-4o veya gpt-4o-mini
|
|
|
39 |
- Max tokens: Response uzunluğu limiti
|
40 |
- System prompt ve conversation history OpenAI format'ına dönüştürülür
|
41 |
|
42 |
+
**Maliyet Optimizasyonu**:
|
43 |
+
- gpt-4o: ~$0.01-0.03 per konuşma
|
44 |
+
- gpt-4o-mini: ~$0.001-0.003 per konuşma (10x daha ucuz)
|
45 |
+
|
46 |
+
# TTS/STT Entegrasyonu
|
47 |
+
|
48 |
+
Flare, sesli etkileşim için TTS (Text-to-Speech) ve STT (Speech-to-Text) motorlarını destekler:
|
49 |
+
|
50 |
+
## TTS (Text-to-Speech)
|
51 |
+
Desteklenen motorlar:
|
52 |
+
- **ElevenLabs**: Yüksek kaliteli, çok dilli TTS desteği
|
53 |
+
- **Blaze**: Alternatif TTS motoru (yakında)
|
54 |
+
- **No TTS**: TTS devre dışı
|
55 |
+
|
56 |
+
TTS Konfigürasyonu service_config.jsonc içinde:
|
57 |
+
- `tts_engine`: Kullanılacak motor ("no_tts", "elevenlabs", "blaze")
|
58 |
+
- `tts_engine_api_key`: Motor API anahtarı (şifrelenmiş)
|
59 |
+
|
60 |
+
## STT (Speech-to-Text)
|
61 |
+
Desteklenen motorlar:
|
62 |
+
- **ElevenLabs**: Sesli girdi desteği
|
63 |
+
- **Flicker**: Alternatif STT motoru (yakında)
|
64 |
+
- **No STT**: STT devre dışı
|
65 |
+
|
66 |
+
STT Konfigürasyonu:
|
67 |
+
- `stt_engine`: Kullanılacak motor
|
68 |
+
- `stt_engine_api_key`: Motor API anahtarı (şifrelenmiş)
|
69 |
+
|
70 |
+
## Chat'te TTS Kullanımı
|
71 |
+
1. Chat başlatılırken "Use TTS" seçeneği işaretlenebilir
|
72 |
+
2. Bot yanıtları otomatik olarak TTS ile seslendirilebilir
|
73 |
+
3. Her mesaj için ayrı ses dosyası üretilir ve oynatılabilir
|
74 |
+
4. Ses oynatma sırasında waveform visualizasyon gösterilir
|
75 |
+
|
76 |
# Internal Prompt Mekanizması
|
77 |
|
78 |
Flare servisi, tüm LLM isteklerinde kullanılmak üzere merkezi bir internal_prompt tanımına sahiptir. Bu prompt, service_config.jsonc dosyasında config.internal_prompt olarak saklanır ve her intent detection işleminde project version'daki general_prompt'un başına otomatik olarak eklenir.
|
|
|
248 |
| LLM Interface | Farklı LLM provider'larını abstract eden katman |
|
249 |
| Spark LLM | HuggingFace Spark servisi ile iletişim |
|
250 |
| GPT-4o LLM | OpenAI API ile iletişim |
|
251 |
+
| TTS Interface | Farklı TTS provider'larını abstract eden katman |
|
252 |
+
| ElevenLabs TTS | ElevenLabs TTS servisi ile iletişim |
|
253 |
| Flare Session Manager | Her kullanıcı için session ve state takibi |
|
254 |
| Flare Prompt Engine | Her aşamada LLM'e gönderilecek uygun system prompt'u dinamik hazırlayan yapı |
|
255 |
| API Connector | Tanımlı API'lere parametrelerle çağrı yapan, auth/refresh yöneten katman |
|
|
|
271 |
✅ Internal prompt sistemi
|
272 |
✅ Date type desteği
|
273 |
✅ Multi-provider support
|
274 |
+
✅ TTS (Text-to-Speech) entegrasyonu
|
275 |
+
✅ ElevenLabs TTS provider
|
276 |
+
⏳ STT (Speech-to-Text) entegrasyonu
|
277 |
+
⏳ Blaze TTS provider
|
278 |
+
⏳ Flicker STT provider
|
279 |
|
280 |
# 🔑 Önemli Notlar (Unutulmaması Gerekenler)
|
281 |
|
|
|
287 |
6. API token yönetimi ve refresh mekanizması, Flare içinde güvenli ve izlenebilir şekilde tutulmalı.
|
288 |
7. GPT-4o kullanımında token maliyetleri göz önünde bulundurulmalı, conversation history sınırlandırılmalı.
|
289 |
8. Farklı LLM'lerin response formatları normalize edilmeli (#DETECTED_INTENT ve #PARAMETERS formatları korunmalı).
|
290 |
+
9. TTS kullanımında API key güvenliği ve maliyet kontrolü sağlanmalı.
|
291 |
+
10. Tüm API key'ler (OpenAI, ElevenLabs, vb.) şifrelenmiş olarak saklanmalı.
|
292 |
|
293 |
# Servis Konfigürasyonu
|
294 |
|
|
|
300 |
// FLARE GLOBAL CONFIGURATION
|
301 |
// =====================================================
|
302 |
"config": {
|
303 |
+
"work_mode": "hfcloud", // "hfcloud" | "cloud" | "on-premise" | "gpt4o" | "gpt4o-mini"
|
304 |
"cloud_token": "<your cloud token or OpenAI API key>", // work_mode'a göre Spark token veya OpenAI API key (şifrelenmiş)
|
305 |
"spark_endpoint": "https://ucsturkey-spark.hf.space", // Spark servisi URL (GPT mode'da kullanılmaz)
|
306 |
"internal_prompt": "⚠️ **NEVER output \"#DETECTED_INTENT:\"...", // Merkezi LLM kuralları
|
|
|
308 |
"last_update_date": "2025-06-08T12:00:00.000Z", // Race condition kontrolü için
|
309 |
"last_update_user": "admin",
|
310 |
|
311 |
+
// === TTS/STT Configuration ==============
|
312 |
+
"tts_engine": "no_tts", // "no_tts" | "elevenlabs" | "blaze"
|
313 |
+
"tts_engine_api_key": "enc:...", // Şifrelenmiş TTS API key
|
314 |
+
"stt_engine": "no_stt", // "no_stt" | "elevenlabs" | "flicker"
|
315 |
+
"stt_engine_api_key": "enc:...", // Şifrelenmiş STT API key
|
316 |
+
|
317 |
// === Login Users (bcrypt hash + salt): Flare UI kullanılabilecek user'lar ==============
|
318 |
"users": [
|
319 |
{
|
|
|
373 |
"use_fine_tune": false, // LoRA fine-tune model kullanılma durumu
|
374 |
"fine_tune_zip": "", // use_fine_tune: true ise, kullanılacak LoRA adapter zip'in URL'i
|
375 |
|
376 |
+
// GPT-4o mode için (work_mode = "gpt4o" veya "gpt4o-mini" olduğunda kullanılır):
|
377 |
"gpt_model": "gpt-4o", // "gpt-4o" | "gpt-4o-mini"
|
378 |
"gpt_temperature": 0.3, // 0-2 arası
|
379 |
"gpt_max_tokens": 512 // Maximum response token sayısı
|
flare-ui-tasarim.md
CHANGED
@@ -8,7 +8,7 @@ Flare Admin ekranlarında; proje tanımlama, mevcut projeyi düzenleme, projeye
|
|
8 |
|
9 |
Document database olarak Flare'in service_config.jsonc dosyasını kullanır. Tüm tanım, düzenleme, silme ve listeleme işlemlerini bu dosya üzerinde yapar.
|
10 |
|
11 |
-
Flare Admin, Flare backend servisi üzerinden Spark veya GPT-4o ile entegre çalışır.
|
12 |
|
13 |
## Genel Kurallar
|
14 |
|
@@ -85,6 +85,12 @@ Flare backend'de Flare Admin UI işleyişi için bazı eklemeler yapılması ger
|
|
85 |
- POST /api/start_session - Chat session başlat
|
86 |
- POST /api/chat - Mesaj gönder/al (Header: X-Session-ID)
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
#### Ek Yardımcı Endpoint'ler
|
89 |
|
90 |
- POST /api/validate/regex - Regex pattern validasyonu
|
@@ -103,12 +109,18 @@ Flare backend'de Flare Admin UI işleyişi için bazı eklemeler yapılması ger
|
|
103 |
{
|
104 |
"config": {
|
105 |
// Mevcut alanlar...
|
106 |
-
"work_mode": "hfcloud", // "hfcloud" | "cloud" | "on-premise" | "gpt4o" - Yeni: gpt4o desteği
|
107 |
"cloud_token": "", // work_mode'a göre Spark token veya OpenAI API key (şifrelenmiş)
|
108 |
"internal_prompt": "⚠️ **NEVER output \"#DETECTED_INTENT:\"...", // Yeni
|
109 |
"project_id_counter": 1, // Yeni
|
110 |
"last_update_date": "2025-06-08T12:00:00.000Z", // Yeni
|
111 |
-
"last_update_user": "admin" // Yeni
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
},
|
113 |
|
114 |
"projects": [{
|
@@ -135,7 +147,7 @@ Flare backend'de Flare Admin UI işleyişi için bazı eklemeler yapılması ger
|
|
135 |
"use_fine_tune": false,
|
136 |
"fine_tune_zip": "",
|
137 |
|
138 |
-
// GPT-4o mode için (work_mode = "gpt4o" olduğunda kullanılır):
|
139 |
"gpt_model": "gpt-4o", // "gpt-4o" | "gpt-4o-mini"
|
140 |
"gpt_temperature": 0.3, // 0-2 arası
|
141 |
"gpt_max_tokens": 512 // Maximum response token sayısı
|
@@ -198,12 +210,16 @@ Bu tab penceresinde login olan kullanıcı mevcut şifresini değiştirebilir. E
|
|
198 |
|
199 |
Bu tab'da aşağıdaki alanlar bulunur:
|
200 |
|
201 |
-
- **Work Mode**: Seçenekleri **hfcloud**, **cloud**, **on-premise** ve **gpt4o** olan bir combo. Zorunlu.
|
202 |
- **Cloud Token / OpenAI API Key** (maskeli):
|
203 |
- Work Mode **on-premise** seçildiğinde disable olur.
|
204 |
-
- Work Mode **gpt4o** seçildiğinde label "OpenAI API Key" olarak değişir
|
205 |
- Diğer modlarda "Cloud Token" olarak görünür
|
206 |
- **Spark Endpoint**: URL formatında. GPT-4o mode hariç zorunlu. Yanında "Test Connection" butonu. GPT-4o seçildiğinde disable olur.
|
|
|
|
|
|
|
|
|
207 |
- **Internal System Prompt**: Expansion panel içinde multi-line textarea. LLM'in tüm projeler için kullanacağı temel kuralları içerir. Placeholder'lar:
|
208 |
- <intent names>: Runtime'da intent listesiyle değiştirilir
|
209 |
- <intent captions>: Intent caption'larıyla değiştirilir
|
@@ -211,13 +227,16 @@ Bu tab'da aşağıdaki alanlar bulunur:
|
|
211 |
- Save butonu
|
212 |
- Reload from Spark butonu: Spark'tan güncel config'i çeker (GPT mode'da disable)
|
213 |
|
214 |
-
**GPT-4o Mode Uyarısı**: Work mode GPT-4o seçildiğinde bir info alert gösterilir:
|
215 |
```
|
216 |
ℹ️ GPT-4o mode uses OpenAI's API which has usage-based pricing.
|
217 |
Please ensure you have sufficient credits in your OpenAI account.
|
218 |
-
Approximate cost: $0.01-0.03 per conversation turn.
|
|
|
219 |
```
|
220 |
|
|
|
|
|
221 |
### 3. APIs Tab'ı
|
222 |
|
223 |
Tab açıldığında, üstte bir toolbar bulunur:
|
@@ -271,13 +290,16 @@ Flare chat sistemini test etmek için kullanılır.
|
|
271 |
|
272 |
**İşleyiş:**
|
273 |
1. **Project Selection**: Enabled ve published version'u olan projeler listelenir
|
274 |
-
2. **
|
275 |
-
3. **Chat
|
|
|
276 |
- Mesaj history'si
|
277 |
- Input alanı
|
278 |
- Send butonu
|
279 |
- Session bilgileri (ID, project)
|
280 |
-
|
|
|
|
|
281 |
|
282 |
**Özellikler:**
|
283 |
- Real-time mesajlaşma
|
@@ -285,6 +307,9 @@ Flare chat sistemini test etmek için kullanılır.
|
|
285 |
- Auto-scroll
|
286 |
- Error handling
|
287 |
- Loading states
|
|
|
|
|
|
|
288 |
|
289 |
### 6. Spark Integration Tab'ı
|
290 |
|
@@ -347,6 +372,7 @@ Bu tab'da sistemin end-to-end testi yapılabilir:
|
|
347 |
- Backend Tests: API endpoint'leri, data integrity
|
348 |
- Integration Tests: UI-Backend entegrasyonu
|
349 |
- Spark Tests: LLM bağlantısı ve response kalitesi (GPT mode'da "GPT-4o Tests" olarak görünür)
|
|
|
350 |
|
351 |
**Ekran Düzeni:**
|
352 |
```
|
@@ -364,6 +390,7 @@ Bu tab'da sistemin end-to-end testi yapılabilir:
|
|
364 |
│ □ Race Conditions │
|
365 |
│ □ Integration Tests (18 tests) │
|
366 |
│ □ LLM Tests (8 tests) │
|
|
|
367 |
├─────────────────────────────────────────────┤
|
368 |
│ Test Results: │
|
369 |
│ ✓ Login with valid credentials - 120ms │
|
@@ -441,132 +468,4 @@ Yeni alanlar eklendi:
|
|
441 |
- Description: Proje açıklaması
|
442 |
- Default Language: Varsayılan dil (tr, en, de, fr, es)
|
443 |
- Supported Languages: Desteklenen diller (çoklu seçim)
|
444 |
-
-
|
445 |
-
- Region: Bölge kodu (tr-TR, vb.)
|
446 |
-
|
447 |
-
### Edit Version Dialog
|
448 |
-
|
449 |
-
**LLM Configuration Tab'a GPT-4o Desteği:**
|
450 |
-
|
451 |
-
Work mode'a göre conditional rendering:
|
452 |
-
|
453 |
-
**GPT-4o Mode'da:**
|
454 |
-
```
|
455 |
-
┌─────────────────────────────────────┐
|
456 |
-
│ GPT-4o Configuration │
|
457 |
-
├─────────────────────────────────────┤
|
458 |
-
│ Model: │
|
459 |
-
│ [▼ GPT-4o ] │
|
460 |
-
│ │
|
461 |
-
│ Temperature: (0 = Deterministic) │
|
462 |
-
│ [====|==============] 0.3 │
|
463 |
-
│ │
|
464 |
-
│ Max Tokens: │
|
465 |
-
│ [512 ] │
|
466 |
-
│ │
|
467 |
-
│ ℹ️ Cost estimate: ~$0.02/request │
|
468 |
-
└─────────────────────────────────────┘
|
469 |
-
```
|
470 |
-
|
471 |
-
**Spark Mode'da (mevcut):**
|
472 |
-
- Model Repository
|
473 |
-
- Generation Config (detaylı parametreler)
|
474 |
-
- Fine-tune options
|
475 |
-
|
476 |
-
### Edit Intent Dialog
|
477 |
-
|
478 |
-
[Mevcut içerik korunacak, değişiklik yok]
|
479 |
-
|
480 |
-
### Edit Parameter Dialog
|
481 |
-
|
482 |
-
Date type desteği eklendi:
|
483 |
-
- Type combo'suna "date" seçeneği
|
484 |
-
- Date formatı: YYYY-MM-DD (ISO format)
|
485 |
-
- Türkçe tarih ifadeleri için özel extraction prompt'lar
|
486 |
-
|
487 |
-
### Version Comparison Dialog
|
488 |
-
|
489 |
-
[Mevcut içerik korunacak, değişiklik yok]
|
490 |
-
|
491 |
-
## Flare Admin Test Planı
|
492 |
-
|
493 |
-
[Mevcut test planına ek olarak:]
|
494 |
-
|
495 |
-
### GPT-4o Integration Test Senaryoları:
|
496 |
-
|
497 |
-
**1. Environment Configuration:**
|
498 |
-
- Work mode'u GPT-4o'ya değiştir
|
499 |
-
- OpenAI API key gir
|
500 |
-
- Save et
|
501 |
-
- Spark endpoint'in disable olduğunu kontrol et
|
502 |
-
|
503 |
-
**2. Version Management:**
|
504 |
-
- GPT-4o mode'da yeni version oluştur
|
505 |
-
- LLM tab'ında sadece GPT config'lerinin göründüğünü doğrula
|
506 |
-
- Model, temperature, max_tokens ayarla
|
507 |
-
- Publish et
|
508 |
-
|
509 |
-
**3. Spark Tab Behavior:**
|
510 |
-
- GPT-4o mode'da Spark tab'ın disable olduğunu kontrol et
|
511 |
-
- Bilgi mesajının göründüğünü doğrula
|
512 |
-
|
513 |
-
**4. Chat Testing:**
|
514 |
-
- GPT-4o kullanan proje ile chat başlat
|
515 |
-
- Intent detection test et
|
516 |
-
- Parameter extraction test et
|
517 |
-
- Response kalitesini değerlendir
|
518 |
-
|
519 |
-
**5. Cost Tracking:**
|
520 |
-
- Chat sonrası tahmini maliyet gösterimini kontrol et
|
521 |
-
- Token kullanım bilgilerini doğrula
|
522 |
-
|
523 |
-
### Multi-Provider Switching:
|
524 |
-
|
525 |
-
**1. Mode Değişimi:**
|
526 |
-
- Spark → GPT-4o → Spark geçişleri yap
|
527 |
-
- Her geçişte config'lerin korunduğunu kontrol et
|
528 |
-
- Token/key bilgilerinin şifreli kaldığını doğrula
|
529 |
-
|
530 |
-
**2. Project Compatibility:**
|
531 |
-
- Aynı projeyi farklı modlarda test et
|
532 |
-
- Intent ve parameter mantığının tutarlı çalıştığını doğrula
|
533 |
-
|
534 |
-
## Güvenlik ve Performans
|
535 |
-
|
536 |
-
### Token Yönetimi:
|
537 |
-
- SPARK_TOKEN environment variable'dan alınır
|
538 |
-
- OPENAI_API_KEY cloud_token alanında şifrelenmiş saklanır
|
539 |
-
- Tüm LLM isteklerinde uygun Authorization header
|
540 |
-
- Token rotation desteği
|
541 |
-
|
542 |
-
### GPT-4o Özel Güvenlik:
|
543 |
-
- API key asla plain text olarak loglanmaz
|
544 |
-
- Rate limit handling
|
545 |
-
- Cost monitoring ve alerting
|
546 |
-
- Quota management
|
547 |
-
|
548 |
-
### Race Condition Handling:
|
549 |
-
- last_update_date kontrolü tüm CRUD işlemlerinde
|
550 |
-
- Concurrent edit detection
|
551 |
-
- Optimistic locking pattern
|
552 |
-
|
553 |
-
### Session Management:
|
554 |
-
- 30 dakika inactivity timeout
|
555 |
-
- Session cleanup thread
|
556 |
-
- Memory-efficient storage
|
557 |
-
- GPT-4o için token count tracking
|
558 |
-
|
559 |
-
## Teknoloji Stack
|
560 |
-
|
561 |
-
- **Frontend**: Angular 17+ (standalone components)
|
562 |
-
- **UI Framework**: Angular Material
|
563 |
-
- **State Management**: RxJS
|
564 |
-
- **Backend**: Python FastAPI
|
565 |
-
- **Authentication**: JWT
|
566 |
-
- **Database**: service_config.jsonc (document database pattern)
|
567 |
-
- **LLM Integration**:
|
568 |
-
- Spark servisi (HuggingFace)
|
569 |
-
- OpenAI API (GPT-4o)
|
570 |
-
- **Encryption**: Fernet (cloud_token/API key şifreleme)
|
571 |
-
|
572 |
-
Bu güncellemelerle Flare Administration UI, hem Spark hem de GPT-4o desteği ile çok daha esnek bir orchestration platform yönetim arayüzü haline gelmiştir.
|
|
|
8 |
|
9 |
Document database olarak Flare'in service_config.jsonc dosyasını kullanır. Tüm tanım, düzenleme, silme ve listeleme işlemlerini bu dosya üzerinde yapar.
|
10 |
|
11 |
+
Flare Admin, Flare backend servisi üzerinden Spark veya GPT-4o ile entegre çalışır. Ayrıca TTS (Text-to-Speech) ve STT (Speech-to-Text) motorları ile sesli etkileşim desteği sunar.
|
12 |
|
13 |
## Genel Kurallar
|
14 |
|
|
|
85 |
- POST /api/start_session - Chat session başlat
|
86 |
- POST /api/chat - Mesaj gönder/al (Header: X-Session-ID)
|
87 |
|
88 |
+
#### TTS/STT Endpoint'leri
|
89 |
+
|
90 |
+
- POST /api/tts/generate - Text'ten ses üret
|
91 |
+
- GET /api/tts/voices - Desteklenen ses listesi
|
92 |
+
- POST /api/stt/transcribe - Sesten text'e dönüştür (gelecek özellik)
|
93 |
+
|
94 |
#### Ek Yardımcı Endpoint'ler
|
95 |
|
96 |
- POST /api/validate/regex - Regex pattern validasyonu
|
|
|
109 |
{
|
110 |
"config": {
|
111 |
// Mevcut alanlar...
|
112 |
+
"work_mode": "hfcloud", // "hfcloud" | "cloud" | "on-premise" | "gpt4o" | "gpt4o-mini" - Yeni: gpt4o desteği
|
113 |
"cloud_token": "", // work_mode'a göre Spark token veya OpenAI API key (şifrelenmiş)
|
114 |
"internal_prompt": "⚠️ **NEVER output \"#DETECTED_INTENT:\"...", // Yeni
|
115 |
"project_id_counter": 1, // Yeni
|
116 |
"last_update_date": "2025-06-08T12:00:00.000Z", // Yeni
|
117 |
+
"last_update_user": "admin", // Yeni
|
118 |
+
|
119 |
+
// TTS/STT Configuration - Yeni
|
120 |
+
"tts_engine": "no_tts", // "no_tts" | "elevenlabs" | "blaze"
|
121 |
+
"tts_engine_api_key": "enc:...", // Şifrelenmiş TTS API key
|
122 |
+
"stt_engine": "no_stt", // "no_stt" | "elevenlabs" | "flicker"
|
123 |
+
"stt_engine_api_key": "enc:..." // Şifrelenmiş STT API key
|
124 |
},
|
125 |
|
126 |
"projects": [{
|
|
|
147 |
"use_fine_tune": false,
|
148 |
"fine_tune_zip": "",
|
149 |
|
150 |
+
// GPT-4o mode için (work_mode = "gpt4o" veya "gpt4o-mini" olduğunda kullanılır):
|
151 |
"gpt_model": "gpt-4o", // "gpt-4o" | "gpt-4o-mini"
|
152 |
"gpt_temperature": 0.3, // 0-2 arası
|
153 |
"gpt_max_tokens": 512 // Maximum response token sayısı
|
|
|
210 |
|
211 |
Bu tab'da aşağıdaki alanlar bulunur:
|
212 |
|
213 |
+
- **Work Mode**: Seçenekleri **hfcloud**, **cloud**, **on-premise**, **gpt4o** ve **gpt4o-mini** olan bir combo. Zorunlu.
|
214 |
- **Cloud Token / OpenAI API Key** (maskeli):
|
215 |
- Work Mode **on-premise** seçildiğinde disable olur.
|
216 |
+
- Work Mode **gpt4o** veya **gpt4o-mini** seçildiğinde label "OpenAI API Key" olarak değişir
|
217 |
- Diğer modlarda "Cloud Token" olarak görünür
|
218 |
- **Spark Endpoint**: URL formatında. GPT-4o mode hariç zorunlu. Yanında "Test Connection" butonu. GPT-4o seçildiğinde disable olur.
|
219 |
+
- **TTS Engine**: Seçenekleri **no_tts**, **elevenlabs**, **blaze** olan combo.
|
220 |
+
- **TTS API Key** (maskeli): TTS Engine **no_tts** dışında bir değer seçildiğinde zorunlu olur.
|
221 |
+
- **STT Engine**: Seçenekleri **no_stt**, **elevenlabs**, **flicker** olan combo.
|
222 |
+
- **STT API Key** (maskeli): STT Engine **no_stt** dışında bir değer seçildiğinde zorunlu olur.
|
223 |
- **Internal System Prompt**: Expansion panel içinde multi-line textarea. LLM'in tüm projeler için kullanacağı temel kuralları içerir. Placeholder'lar:
|
224 |
- <intent names>: Runtime'da intent listesiyle değiştirilir
|
225 |
- <intent captions>: Intent caption'larıyla değiştirilir
|
|
|
227 |
- Save butonu
|
228 |
- Reload from Spark butonu: Spark'tan güncel config'i çeker (GPT mode'da disable)
|
229 |
|
230 |
+
**GPT-4o Mode Uyarısı**: Work mode GPT-4o veya GPT-4o-mini seçildiğinde bir info alert gösterilir:
|
231 |
```
|
232 |
ℹ️ GPT-4o mode uses OpenAI's API which has usage-based pricing.
|
233 |
Please ensure you have sufficient credits in your OpenAI account.
|
234 |
+
Approximate cost: $0.01-0.03 per conversation turn for GPT-4o.
|
235 |
+
Approximate cost: $0.001-0.003 per conversation turn for GPT-4o-mini.
|
236 |
```
|
237 |
|
238 |
+
**TTS/STT Configuration**: Work mode ne olursa olsun TTS ve STT motorları konfigüre edilebilir. TTS motorları bot yanıtlarını seslendirmek, STT motorları ise kullanıcıdan sesli girdi almak için kullanılır.
|
239 |
+
|
240 |
### 3. APIs Tab'ı
|
241 |
|
242 |
Tab açıldığında, üstte bir toolbar bulunur:
|
|
|
290 |
|
291 |
**İşleyiş:**
|
292 |
1. **Project Selection**: Enabled ve published version'u olan projeler listelenir
|
293 |
+
2. **TTS Option**: "Use TTS" checkbox'ı ile sesli yanıt özelliği aktifleştirilebilir (TTS konfigüre edilmişse)
|
294 |
+
3. **Start Chat**: Session başlatır, session_id alır
|
295 |
+
4. **Chat Interface**:
|
296 |
- Mesaj history'si
|
297 |
- Input alanı
|
298 |
- Send butonu
|
299 |
- Session bilgileri (ID, project)
|
300 |
+
- TTS enabled ise her bot mesajı için play butonu
|
301 |
+
- Ses oynatılırken waveform visualizasyon
|
302 |
+
5. **End Session**: Chat'i sonlandırır
|
303 |
|
304 |
**Özellikler:**
|
305 |
- Real-time mesajlaşma
|
|
|
307 |
- Auto-scroll
|
308 |
- Error handling
|
309 |
- Loading states
|
310 |
+
- TTS desteği (konfigüre edilmişse)
|
311 |
+
- Audio waveform visualization
|
312 |
+
- Otomatik ses oynatma (opsiyonel)
|
313 |
|
314 |
### 6. Spark Integration Tab'ı
|
315 |
|
|
|
372 |
- Backend Tests: API endpoint'leri, data integrity
|
373 |
- Integration Tests: UI-Backend entegrasyonu
|
374 |
- Spark Tests: LLM bağlantısı ve response kalitesi (GPT mode'da "GPT-4o Tests" olarak görünür)
|
375 |
+
- TTS Tests: TTS motor bağlantısı ve ses üretimi (TTS konfigüre edilmişse)
|
376 |
|
377 |
**Ekran Düzeni:**
|
378 |
```
|
|
|
390 |
│ □ Race Conditions │
|
391 |
│ □ Integration Tests (18 tests) │
|
392 |
│ □ LLM Tests (8 tests) │
|
393 |
+
│ □ TTS Tests (5 tests) │
|
394 |
├─────────────────────────────────────────────┤
|
395 |
│ Test Results: │
|
396 |
│ ✓ Login with valid credentials - 120ms │
|
|
|
468 |
- Description: Proje açıklaması
|
469 |
- Default Language: Varsayılan dil (tr, en, de, fr, es)
|
470 |
- Supported Languages: Desteklenen diller (çoklu seçim)
|
471 |
+
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|