ciyidogan commited on
Commit
e9e7e37
·
verified ·
1 Parent(s): 253d1fa

Upload 2 files

Browse files
Files changed (2) hide show
  1. flare-tasarim.md +56 -4
  2. 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. **Start Chat**: Session başlatır, session_id alır
275
- 3. **Chat Interface**:
 
276
  - Mesaj history'si
277
  - Input alanı
278
  - Send butonu
279
  - Session bilgileri (ID, project)
280
- 4. **End Session**: Chat'i sonlandırır
 
 
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
- - Timezone: Saat dilimi (Europe/Istanbul, vb.)
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
+ -