ciyidogan commited on
Commit
8a827d2
·
verified ·
1 Parent(s): aedc25d

Update service_config.json

Browse files
Files changed (1) hide show
  1. service_config.json +22 -52
service_config.json CHANGED
@@ -2,20 +2,10 @@
2
  "config": {
3
  "work_mode": "hfcloud",
4
  "cloud_token": "",
5
- "system_prompt": "Siz bir görev tabanlı asistan botsunuz. Kullanıcının doğal dildeki mesajlarını anlayabilir, niyetlerini (intent) tespit edebilir, eksik bilgileri sorabilir ve backend API'lerine tetikleme hazırlığı yapabilirsiniz.\n\n❗ Cevaplarınızda mutlaka aşağıdaki formatlı blokları döndürmelisiniz ve bunların dışında hiçbir metin, açıklama, selamlama, sistem prompt'u, tarihçe veya başka içerik eklememelisiniz.\n\n✅ Format:\n#ANSWER: <cevap metni veya NONE>\n#INTENT: <intent_adı> (veya NONE)\n#PARAMS: {parametre_adı: değer, ...}\n#MISSING: [eksik_parametre_adı, ...]\n#ACTION_JSON: {api için gönderilecek json, eksikse boş bırak}\n\n✅ Kurallar:\n1️⃣ Eğer kullanıcı doğal sohbet yapıyorsa veya görev belirtmiyorsa:\n- #ANSWER bloğuna formal dilde sohbet cevabınızı yazınız (örn. “İyiyim teşekkür ederim. Size nasıl yardımcı olabilirim?”).\n- #INTENT bloğunu NONE olarak bırakınız.\n- Diğer blokları boş bırakınız.\n\n2️⃣ Eğer intent algıladıysanız:\n- #ANSWER bloğuna NONE yazınız.\n- #INTENT ve diğer blokları uygun şekilde doldurunuz.\n\n❗ Kullanıcıya hitap ederken formal bir dil kullanınız. “Sen” zamiri yerine her zaman “siz” kullanınız. Cevaplarınızda formatlı bloklar dışındaki hiçbir metni döndürmeyiniz.",
6
- "data_formats": {
7
- "currency_format": {
8
- "valid_options": ["dolar", "euro", "TL"],
9
- "error_message": "Geçerli bir döviz cinsi belirtmelisiniz."
10
- },
11
- "city_format": {
12
- "valid_options": ["Ankara", "İstanbul", "İzmir"],
13
- "error_message": "Geçerli bir şehir adı belirtmelisiniz."
14
- }
15
- },
16
  "apis": {
17
  "currency_api": {
18
- "url": "https://2b09-176-88-34-20.ngrok-free.app/doviz",
19
  "method": "POST",
20
  "headers": [
21
  { "key": "Authorization", "value": "Bearer {auth_tokens.currency_api.token}" }
@@ -26,20 +16,15 @@
26
  "timeout": 5,
27
  "retry_count": 1,
28
  "auth": {
29
- "auth_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/auth",
30
  "auth_body": { "username": "user", "password": "pass" },
31
  "auth_token_path": "token",
32
- "auth_refresh_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/refresh",
33
  "refresh_body": { "refresh_token": "{auth_tokens.currency_api.token}" }
34
- },
35
- "response_parser": {
36
- "field": "rate",
37
- "format": "{variables.currency} kuru: {rate} TL"
38
- },
39
- "reply_template": "{variables.currency} kuru şu an {rate} TL."
40
  },
41
  "traffic_api": {
42
- "url": "https://2b09-176-88-34-20.ngrok-free.app/yol",
43
  "method": "POST",
44
  "headers": [
45
  { "key": "Authorization", "value": "Bearer {auth_tokens.traffic_api.token}" }
@@ -51,20 +36,15 @@
51
  "timeout": 5,
52
  "retry_count": 1,
53
  "auth": {
54
- "auth_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/auth",
55
  "auth_body": { "username": "user", "password": "pass" },
56
  "auth_token_path": "token",
57
- "auth_refresh_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/refresh",
58
  "refresh_body": { "refresh_token": "{auth_tokens.traffic_api.token}" }
59
- },
60
- "response_parser": {
61
- "field": "status",
62
- "format": "{from_location} → {to_location} arası: {status}"
63
- },
64
- "reply_template": "{from_location} ile {to_location} arasındaki trafik durumu: {status}"
65
  },
66
  "weather_api": {
67
- "url": "https://2b09-176-88-34-20.ngrok-free.app/hava",
68
  "method": "POST",
69
  "headers": [
70
  { "key": "Authorization", "value": "Bearer {auth_tokens.weather_api.token}" }
@@ -75,53 +55,43 @@
75
  "timeout": 5,
76
  "retry_count": 1,
77
  "auth": {
78
- "auth_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/auth",
79
  "auth_body": { "username": "user", "password": "pass" },
80
  "auth_token_path": "token",
81
- "auth_refresh_endpoint": "https://2b09-176-88-34-20.ngrok-free.app/refresh",
82
  "refresh_body": { "refresh_token": "{auth_tokens.weather_api.token}" }
83
- },
84
- "response_parser": {
85
- "field": "status",
86
- "format": "{city} hava durumu: {status}"
87
- },
88
- "reply_template": "{city} için hava durumu: {status}"
89
  }
90
  }
91
  },
92
  "projects": {
93
  "project1": {
94
  "llm": {
95
- "model_base": "TURKCELL/Turkcell-LLM-7b-v1",
96
  "use_fine_tune": false,
97
- "fine_tune_repo": "UcsTurkey/trained-zips",
98
- "fine_tune_zip": "trained_model_000_009.zip",
99
  "use_sampling": false,
100
  "intent_confidence_treshold": 0.3,
101
  "llm_confidence_treshold": 0.2,
102
- "fallback_answers": [
103
- "Bu konuda maalesef bilgim yok.",
104
- "Ne demek istediğinizi tam anlayamadım.",
105
- "Bu soruya şu an yanıt veremiyorum."
106
- ],
107
  "intents": [
108
  {
109
  "name": "doviz-kuru-intent",
110
  "action": "currency_api",
111
- "variable_formats": { "currency": "currency_format" }
 
112
  },
113
  {
114
  "name": "yol-durumu-intent",
115
  "action": "traffic_api",
116
- "variable_formats": {
117
- "from_location": "city_format",
118
- "to_location": "city_format"
119
- }
120
  },
121
  {
122
  "name": "hava-durumu-intent",
123
  "action": "weather_api",
124
- "variable_formats": { "city": "city_format" }
 
125
  }
126
  ]
127
  }
 
2
  "config": {
3
  "work_mode": "hfcloud",
4
  "cloud_token": "",
5
+ "system_prompt": "Sen bir görev tabanlı asistan botsun. Kullanıcının doğal dildeki mesajlarını anlayabilir, niyetlerini (intent) tespit edebilir, eksik bilgileri sorabilir ve backend API'lerini tetikleme hazırlığı yapabilir, sana intent:<intent adı> api_response:<json> formatında gönderilen API response’larını insani cevaplara çevirebilir ve kullanıcıyla sohbet edebilirsin.\n\nEğer kullanıcının söylediğinden bir intent yakalarsan ve intent için gerekli parametrelerde eksiklik varsa, eksik parametreleri kullanıcıya sor. Eksik parametreleri tamamladığında intent bilgisini dönebilirsin.\n\nEğer kullanıcı konuyu değiştirirse veya söylediğinde farklı bir intent varsa sohbet akışını buna göre değiştirirsin.\n\n❗ Cevaplarını mutlaka aşağıdaki formatta döndürmelisin, bu formatın dışına kesinlikle çıkmamalısın.\n\n✅ Format:\n#ANSWER: <cevap metni (veya NONE)>\n#INTENT: <intent_adı (veya NONE)>\n#PARAMS: {parametre_adı: değer, ...}\n#MISSING: [eksik_parametre_adı, ...]\n#ACTION_JSON: {api için gönderilecek json, eksikse boş bırak}\n\n✅ Desteklenen intent'ler:\n1️⃣ doviz-kuru-intent Döviz kuru sorgusu\nParametre:\n- currency: döviz cinsi (örn. dolar, euro, TL)\nACTION_JSON:\n{\n \"currency\": \"<currency>\"\n}\nAPI response:\n-intent:doviz-kuru-intent api_response:{\"rate\": \"<döviz kuru>\"}\n-İnsani cevap: \"<currency> kuru <döviz kuru>\"\n\n2️⃣ yol-durumu-intent Yol durumu sorgusu\nParametreler:\n- from_location: başlangıç noktası (herhangi bir yer adı)\n- to_location: varış noktası (herhangi bir yer adı)\nACTION_JSON:\n{\n \"from_location\": \"<from_location>\",\n \"to_location\": \"<to_location>\"\n}\nAPI response:\n-intent:yol-durumu-intent api_response:{\"status\": \"<yol durumu>\"}\n-İnsani cevap: \"<from_location> <to_location> arasında <yol durumu>\"\n\n3️⃣ hava-durumu-intent → Hava durumu sorgusu\nParametre:\n- city: herhangi bir şehir\nACTION_JSON:\n{\n \"city\": \"<city>\"\n}\nAPI response:\n-intent:hava-durumu-intent api_response:{\"status\": \"<hava durumu>\"}\n-İnsani cevap: \"<city>'da hava <hava durumu>\"\n\n✅ Kurallar:\n- Eğer intent bulunamazsa, kullanıcının sohbet amaçlı söylediği ifadeye cevap vermelisin:\n#ANSWER: <cevap metni>\n#INTENT: NONE\n#PARAMS: {}\n#MISSING: []\n#ACTION_JSON: {}\n\n- Eğer intent bulunur ama eksik parametre varsa:\n#ANSWER: <kullanıcıdan eksik parametreleri tamamlamasını iste>\n#INTENT: <intent_adı>\n#PARAMS: {elde edilen parametreler}\n#MISSING: [eksik_parametreler]\n#ACTION_JSON: {}\n\n- Eğer tüm parametreler tamamlanırsa:\n#ANSWER: NONE\n#INTENT: <intent_adı>\n#PARAMS: {tüm parametreler}\n#MISSING: []\n#ACTION_JSON: {tamamlanmış json}",
 
 
 
 
 
 
 
 
 
 
6
  "apis": {
7
  "currency_api": {
8
+ "url": "https://<NGROK_OR_LOCALHOST>/doviz",
9
  "method": "POST",
10
  "headers": [
11
  { "key": "Authorization", "value": "Bearer {auth_tokens.currency_api.token}" }
 
16
  "timeout": 5,
17
  "retry_count": 1,
18
  "auth": {
19
+ "auth_endpoint": "https://<NGROK_OR_LOCALHOST>/auth",
20
  "auth_body": { "username": "user", "password": "pass" },
21
  "auth_token_path": "token",
22
+ "auth_refresh_endpoint": "https://<NGROK_OR_LOCALHOST>/refresh",
23
  "refresh_body": { "refresh_token": "{auth_tokens.currency_api.token}" }
24
+ }
 
 
 
 
 
25
  },
26
  "traffic_api": {
27
+ "url": "https://<NGROK_OR_LOCALHOST>/yol",
28
  "method": "POST",
29
  "headers": [
30
  { "key": "Authorization", "value": "Bearer {auth_tokens.traffic_api.token}" }
 
36
  "timeout": 5,
37
  "retry_count": 1,
38
  "auth": {
39
+ "auth_endpoint": "https://<NGROK_OR_LOCALHOST>/auth",
40
  "auth_body": { "username": "user", "password": "pass" },
41
  "auth_token_path": "token",
42
+ "auth_refresh_endpoint": "https://<NGROK_OR_LOCALHOST>/refresh",
43
  "refresh_body": { "refresh_token": "{auth_tokens.traffic_api.token}" }
44
+ }
 
 
 
 
 
45
  },
46
  "weather_api": {
47
+ "url": "https://<NGROK_OR_LOCALHOST>/hava",
48
  "method": "POST",
49
  "headers": [
50
  { "key": "Authorization", "value": "Bearer {auth_tokens.weather_api.token}" }
 
55
  "timeout": 5,
56
  "retry_count": 1,
57
  "auth": {
58
+ "auth_endpoint": "https://<NGROK_OR_LOCALHOST>/auth",
59
  "auth_body": { "username": "user", "password": "pass" },
60
  "auth_token_path": "token",
61
+ "auth_refresh_endpoint": "https://<NGROK_OR_LOCALHOST>/refresh",
62
  "refresh_body": { "refresh_token": "{auth_tokens.weather_api.token}" }
63
+ }
 
 
 
 
 
64
  }
65
  }
66
  },
67
  "projects": {
68
  "project1": {
69
  "llm": {
70
+ "model_base": "atasoglu/Turkish-Llama-3-8B-function-calling",
71
  "use_fine_tune": false,
72
+ "fine_tune_repo": "",
73
+ "fine_tune_zip": "",
74
  "use_sampling": false,
75
  "intent_confidence_treshold": 0.3,
76
  "llm_confidence_treshold": 0.2,
 
 
 
 
 
77
  "intents": [
78
  {
79
  "name": "doviz-kuru-intent",
80
  "action": "currency_api",
81
+ "fallback_timeout_message": "Maalesef döviz kuru servisine şu anda erişemiyorum, lütfen biraz sonra tekrar dene.",
82
+ "fallback_error_message": "Bir hata oluştu, döviz kuru bilgisi alınamadı."
83
  },
84
  {
85
  "name": "yol-durumu-intent",
86
  "action": "traffic_api",
87
+ "fallback_timeout_message": "Maalesef yol durumu servisi şu anda yanıt vermiyor.",
88
+ "fallback_error_message": "Yol durumu bilgisi alınırken bir hata oluştu."
 
 
89
  },
90
  {
91
  "name": "hava-durumu-intent",
92
  "action": "weather_api",
93
+ "fallback_timeout_message": "Maalesef hava durumu servisine şu anda ulaşılamıyor.",
94
+ "fallback_error_message": "Hava durumu bilgisi alınırken bir hata oluştu."
95
  }
96
  ]
97
  }