Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,253 @@
|
|
1 |
---
|
2 |
-
license:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- th
|
5 |
+
- en
|
6 |
+
library_name: transformers
|
7 |
+
pipeline_tag: text-generation
|
8 |
+
tags:
|
9 |
+
- openthaigpt
|
10 |
+
- llama
|
11 |
---
|
12 |
+
|
13 |
+
# 🇹🇭 OpenThaiGPT 7b 1.0.0 4 bits and 8 bits in GUFF Format
|
14 |
+
![OpenThaiGPT](https://1173516064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvvbWvIIe82Iv1yHaDBC5%2Fuploads%2Fb8eiMDaqiEQL6ahbAY0h%2Fimage.png?alt=media&token=6fce78fd-2cca-4c0a-9648-bd5518e644ce)
|
15 |
+
[More Info](https://openthaigpt.aieat.or.th/)
|
16 |
+
|
17 |
+
🇹🇭 **OpenThaiGPT 7b Version 1.0.0** is an advanced 7-billion-parameter Thai language chat model based on LLaMA v2 released on April 8, 2024. It has been specifically fine-tuned for Thai instructions and enhanced by incorporating over 10,000 of the most commonly used Thai words into the large language model's (LLM) dictionary, significantly boosting its response speed.
|
18 |
+
|
19 |
+
## Highlights
|
20 |
+
- **Leading-edge Thai language LLM**, setting new benchmarks by achieving the highest average scores across several Thai language exams when compared to all other open-source Thai LLMs.
|
21 |
+
- **The First 70b Thai opensource LLM**, achieving the higher score on Thai exams than OpenAI GPT 3.5, Google Gemini, and Claude 3 Haiku.
|
22 |
+
- **Support for extended conversations** across multiple turns.
|
23 |
+
- Support the use case of **Retrieval Augmented Generation (RAG)** for enriched response generation.
|
24 |
+
- **Generation speeds increased by tenfold**, thanks to the addition of 10,000 frequently used Thai words to the model's dictionary.
|
25 |
+
- Pretrained upon a foundation of **more than 65 billion Thai language words** and meticulously fine-tuned with over 1 million Thai instruction examples.
|
26 |
+
- Capable of understanding and processing **input contexts of up to 4096 Thai words**, allowing for detailed and complex instructions.
|
27 |
+
|
28 |
+
## Benchmark by OpenThaiGPT Eval
|
29 |
+
** Please take a look at ``OTG 7b (April 2024)`` for this model's evaluation result.
|
30 |
+
|
31 |
+
| **Exams** | **OTG 7b (Aug 2023)** | **OTG 13b (Dec 2023)** | <b style="color:blue">OTG 7b (April 2024)</b> | **OTG 13b (April 2024)** | **OTG 70b (April 2024)** | **SeaLLM 7b v1** | **SeaLLM 7b v2** | **SeaLion 7b** | **WanchanGLM 7b** | **Sailor-7b-Chat** | **TyphoonGPT 7b Instruct** | **GPT3.5** | **GPT4** | **Gemini Pro** | **Gemini 1.5** | **Claude 3 Haiku** | **Claude 3 Sonnet** | **Claude 3 Opus** |
|
32 |
+
|----------------------------|-----------------------|------------------------|-------------------------|--------------------------|--------------------------|------------------|------------------|----------------|-------------------|--------------------|----------------------------|------------|----------|----------------|----------------|--------------------|---------------------|-------------------|
|
33 |
+
| **A-Level** | 17.50% | 34.17% | <b style="color:blue">25.00%</b> | 30.83% | 45.83% | 18.33% | 34.17% | 21.67% | 17.50% | 40.00% | 37.50% | 38.33% | 65.83% | 56.67% | 55.83% | 58.33% | 59.17% | 77.50% |
|
34 |
+
| **TGAT** | 24.00% | 22.00% | <b style="color:blue">22.00%</b> | 36.00% | 36.00% | 14.00% | 28.00% | 24.00% | 16.00% | 34.00% | 30.00% | 28.00% | 44.00% | 22.00% | 28.00% | 36.00% | 34.00% | 46.00% |
|
35 |
+
| **TPAT1** | 22.50% | 47.50% | <b style="color:blue">42.50%</b> | 27.50% | 62.50% | 22.50% | 27.50% | 22.50% | 17.50% | 40.00% | 47.50% | 45.00% | 52.50% | 52.50% | 50.00% | 52.50% | 50.00% | 62.50% |
|
36 |
+
| **thai_investment_consultant_exams** | 8.00% | 28.00% | <b style="color:blue">76.00%</b> | 84.00% | 68.00% | 16.00% | 28.00% | 24.00% | 16.00% | 24.00% | 32.00% | 40.00% | 64.00% | 52.00% | 32.00% | 44.00% | 64.00% | 72.00% |
|
37 |
+
| **facebook_beleble_tha_200** | 25.00% | 45.00% | <b style="color:blue">34.50%</b> | 39.50% | 70.00% | 13.50% | 51.00% | 27.00% | 24.50% | 63.00% | 51.50% | 50.00% | 72.50% | 65.00% | 74.00% | 63.50% | 77.00% | 90.00% |
|
38 |
+
| **xcopa_th_200** | 45.00% | 56.50% | <b style="color:blue">49.50%</b> | 51.50% | 74.50% | 26.50% | 47.00% | 51.50% | 48.50% | 68.50% | 65.00% | 64.00% | 82.00% | 68.00% | 74.00% | 64.00% | 80.00% | 86.00% |
|
39 |
+
| **xnli2.0_th_200** | 33.50% | 34.50% | <b style="color:blue">39.50%</b> | 31.00% | 47.00% | 21.00% | 43.00% | 37.50% | 33.50% | 16.00% | 20.00% | 50.00% | 69.00% | 53.00% | 54.50% | 50.00% | 68.00% | 68.50% |
|
40 |
+
| **ONET M3** | 17.85% | 38.86% | <b style="color:blue">34.11%</b> | 39.36% | 56.15% | 15.58% | 23.92% | 21.79% | 19.56% | 21.37% | 28.03% | 37.91% | 49.97% | 55.99% | 57.41% | 52.73% | 40.60% | 63.87% |
|
41 |
+
| **ONET M6** | 21.14% | 28.87% | <b style="color:blue">22.53%</b> | 23.32% | 42.85% | 15.09% | 19.48% | 16.96% | 20.67% | 28.64% | 27.46% | 34.44% | 46.29% | 45.53% | 50.23% | 34.79% | 38.49% | 48.56% |
|
42 |
+
| **AVERAGE SCORE** | 23.83% | 37.27% | <b style="color:blue;font-size:1.3em">38.40%</b> | 40.33% | 55.87% | 18.06% | 33.56% | 27.44% | 23.75% | 37.28% | 37.67% | 43.07% | 60.68% | 52.30% | 52.89% | 50.65% | 56.81% | 68.32% |
|
43 |
+
Thai language multiple choice exams, Test on unseen test sets, Zero-shot learning. Benchmark source code and exams information: https://github.com/OpenThaiGPT/openthaigpt_eval
|
44 |
+
|
45 |
+
(Updated on: 7 April 2024)
|
46 |
+
|
47 |
+
## Licenses
|
48 |
+
**Source Code**: License Apache Software License 2.0.<br>
|
49 |
+
**Weight**: Research and **Commercial uses**.<br>
|
50 |
+
|
51 |
+
## Sponsors
|
52 |
+
<img src="https://cdn-uploads.huggingface.co/production/uploads/5fcd9c426d942eaf4d1ebd30/FDC9WYN2iykQbVW1rY4q5.png" width="600px">
|
53 |
+
|
54 |
+
## Supports
|
55 |
+
- Official website: https://openthaigpt.aieat.or.th
|
56 |
+
- Facebook page: https://web.facebook.com/groups/openthaigpt
|
57 |
+
- A Discord server for discussion and support [here](https://discord.gg/rUTp6dfVUF)
|
58 |
+
- E-mail: [email protected]
|
59 |
+
|
60 |
+
## Prompt Format
|
61 |
+
Prompt format is based on Llama2 with a small modification (Adding "###" to specify the context part)
|
62 |
+
```
|
63 |
+
<s>[INST] <<SYS>
|
64 |
+
{system_prompt}
|
65 |
+
<</SYS>>
|
66 |
+
|
67 |
+
{human_turn1}###{context_turn1} [/INST]{assistant_turn1}</s><s>{human_turn2}###{context_turn2} [/INST] ...
|
68 |
+
```
|
69 |
+
|
70 |
+
### System prompt:
|
71 |
+
```
|
72 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
73 |
+
```
|
74 |
+
|
75 |
+
### Examples
|
76 |
+
|
77 |
+
#### Single Turn Conversation Example
|
78 |
+
```
|
79 |
+
<s>[INST] <<SYS>
|
80 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
81 |
+
<</SYS>>
|
82 |
+
|
83 |
+
สวัสดีครับ [/INST]
|
84 |
+
```
|
85 |
+
|
86 |
+
#### Single Turn Conversation with Context (RAG) Example
|
87 |
+
```
|
88 |
+
<s>[INST] <<SYS>
|
89 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
90 |
+
<</SYS>>
|
91 |
+
|
92 |
+
กรุงเทพมีพื้นที่เท่าไร่###กรุงเทพมหานคร เป็นเมืองหลวง นครและมหานครที่มีประชากรมากที่สุดของประเทศไทย กรุงเทพมหานครมีพื้นที่ทั้งหมด 1,568.737 ตร.กม. มีประชากรตามทะเบียนราษฎรกว่า 8 ล้านคน [/INST]
|
93 |
+
```
|
94 |
+
|
95 |
+
#### Multi Turn Conversation Example
|
96 |
+
|
97 |
+
##### First turn
|
98 |
+
```
|
99 |
+
<s>[INST] <<SYS>
|
100 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
101 |
+
<</SYS>>
|
102 |
+
|
103 |
+
สวัสดีครับ [/INST]
|
104 |
+
```
|
105 |
+
|
106 |
+
##### Second turn
|
107 |
+
```
|
108 |
+
<s>[INST] <<SYS>
|
109 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
110 |
+
<</SYS>>
|
111 |
+
|
112 |
+
สวัสดีครับ [/INST]สวัสดีค่ะ มีคำถามอะไร ถามได้เลย</s><s>ขอสูตรทำส้มตำหน่อย [/INST]
|
113 |
+
```
|
114 |
+
|
115 |
+
##### Third turn
|
116 |
+
```
|
117 |
+
<s>[INST] <<SYS>
|
118 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
119 |
+
<</SYS>>
|
120 |
+
|
121 |
+
สวัสดีครับ [/INST]สวัสดีค่ะ มีคำถามอะไร ถามได้เลย</s><s>ขอสูตรทำส้มตำหน่อย [/INST]ได้เลยค่ะ ส้มตำเป็นเมนูที่ทำง่ายและอร่อย มาเริ่มกันเลยนะคะ</s><s>เริ่มได้เลย [/INST]
|
122 |
+
```
|
123 |
+
|
124 |
+
##### Fourth turn
|
125 |
+
```
|
126 |
+
<s>[INST] <<SYS>
|
127 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
128 |
+
<</SYS>>
|
129 |
+
|
130 |
+
สวัสดีครับ [/INST]สวัสดีค่ะ มีคำถามอะไร ถามได้เลย</s><s>ขอสูตรทำส้มตำหน่อย [/INST]ได้เลยค่ะ ส้มตำเป็นเมนูที่ทำง่ายและอร่อย มาเริ่มกันเลยนะคะ</s><s>เริ่มได้เลย [/INST]
|
131 |
+
ตำไทยเป็นเมนูที่ใครๆ ก็คุ้นเคย ด้วยรสชาติที่กลมกล่อม หวาน เปรี้ยว เค็ม เผ็ด ครบรส วันนี้เราจะมาทำส้มตำด้วยกันค่ะ สิ่งแรกที่ต้องมีคือเครื่องปรุงดังนี้
|
132 |
+
- มะละกอดิบ 1 ลูก
|
133 |
+
- กุ้งแห้ง 1/2 ถ้วย
|
134 |
+
- กระเทียม 3 กลีบ
|
135 |
+
- พริกขี้หนู 3 เม็ด
|
136 |
+
- น้ำตาลปี๊บ 1 ช้อนโต๊ะ
|
137 |
+
- น้ำปลา 2 ช้อนโต๊ะ
|
138 |
+
- มะนาว 1 ลูก
|
139 |
+
- งาขาวคั่ว 1/4 ถ้วย
|
140 |
+
|
141 |
+
วิธีทำมีดังนี้ค่ะ
|
142 |
+
1. เริ่มจากล้างมะละกอให้สะอาด แล้วใช้มีดปอกเปลือก เอาไส้ออก หั่นเป็นเส้นบางๆ เตรียมไว้
|
143 |
+
2. ตำกุ้งแห้งให้ละเอียด แล้วตักขึ้นพักไว้
|
144 |
+
3. ใช้ครกหินหรือเครื่องปั่น บดพริกขี้หนูกับกระเทียมให้ละเอียด
|
145 |
+
4. ใส่กุ้งแห้งที่ตำแล้วลงไปผสม ตามด้วยน้ำตาลปี๊บ น้ำปลา มะนาว และเส้นมะละกอ คลุกเคล้าให้เข้ากัน
|
146 |
+
5. ชิมรสให้ได้รสหวาน เปรี้ยว เค็ม เผ็ด จากนั้นตักขึ้นเสิร์ฟพร้อมผักสด อาทิ กะหล่ำปลี ถั่วงอก แครอท ผักบุ้ง</s><s>ขอบคุณครับ [/INST]
|
147 |
+
```
|
148 |
+
|
149 |
+
#### Multi Turn Conversation with Context (RAG) Example
|
150 |
+
```
|
151 |
+
<s>[INST] <<SYS>
|
152 |
+
You are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด
|
153 |
+
<</SYS>>
|
154 |
+
|
155 |
+
กรุงเทพมีพื้นที่เท่าไร่###กรุงเทพมหานคร เป็นเมืองหลวง นครและมหานครที่มีประชากรมากที่สุดของประเทศไทย กรุงเทพมหานครมีพื้นที่ทั้งหมด 1,568.737 ตร.กม. มีประชากรตามทะเบียนราษฎรกว่า 8 ล้านคน [/INST]
|
156 |
+
กรุงเทพมหานครมีพื้นที่ทั้งหมด 1,568.737 ตร.กม.</s><s>และประชากรล่ะ [/INST]
|
157 |
+
```
|
158 |
+
|
159 |
+
## How to use
|
160 |
+
|
161 |
+
### Huggingface
|
162 |
+
```python
|
163 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
164 |
+
import torch
|
165 |
+
|
166 |
+
# Ensure CUDA is available
|
167 |
+
device = 'cuda' if torch.cuda.is_available() else 'cpu'
|
168 |
+
print(f"Using device: {device}")
|
169 |
+
|
170 |
+
# Init Model
|
171 |
+
model_path="openthaigpt/openthaigpt-1.0.0-7b-chat"
|
172 |
+
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
|
173 |
+
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.float16)
|
174 |
+
model.to(device)
|
175 |
+
|
176 |
+
# Prompt
|
177 |
+
prompt = "สวัสดีครับ OpenThaiGPT"
|
178 |
+
llama_prompt = f"<s>[INST] <<SYS>>\nYou are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด<</SYS>>\n\n{prompt} [/INST]"
|
179 |
+
inputs = tokenizer.encode(llama_prompt, return_tensors="pt")
|
180 |
+
inputs = inputs.to(device)
|
181 |
+
|
182 |
+
# Generate
|
183 |
+
outputs = model.generate(inputs, max_length=512, num_return_sequences=1)
|
184 |
+
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
185 |
+
```
|
186 |
+
|
187 |
+
### vLLM
|
188 |
+
|
189 |
+
1. Install VLLM (https://github.com/vllm-project/vllm)
|
190 |
+
|
191 |
+
2. Run server
|
192 |
+
```bash
|
193 |
+
python -m vllm.entrypoints.api_server --model /path/to/model --tensor-parallel-size num_gpus
|
194 |
+
```
|
195 |
+
3. Run inference (CURL example)
|
196 |
+
```bash
|
197 |
+
curl --request POST \
|
198 |
+
--url http://localhost:8000/generate \
|
199 |
+
--header "Content-Type: application/json" \
|
200 |
+
--data '{"prompt": "<s>[INST] <<SYS>>\nYou are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด\n<</SYS>>\n\nอยากลดความอ้วนต้องทำอย่างไร [/INST]","use_beam_search": false, "temperature": 0.1, "max_tokens": 512, "top_p": 0.75, "top_k": 40, "frequency_penalty": 0.3 "stop": "</s>"}'
|
201 |
+
```
|
202 |
+
|
203 |
+
### LlamaCPP (for GGUF)
|
204 |
+
|
205 |
+
1. Build and Install LlamaCPP (LLAMA_CUBLAS=1 is for GPU inference)
|
206 |
+
```bash
|
207 |
+
git clone https://github.com/ggerganov/llama.cpp.git \
|
208 |
+
&& cd llama.cpp \
|
209 |
+
&& make -j LLAMA_CUBLAS=1 CUDA_DOCKER_ARCH=all
|
210 |
+
```
|
211 |
+
|
212 |
+
2. Run server
|
213 |
+
```bash
|
214 |
+
./server -m /path/to/ggml-model-f16.gguf -c 3072 -ngl 81 -ts 1,1 --host 0.0.0.0
|
215 |
+
```
|
216 |
+
|
217 |
+
3. Run inference (CURL example)
|
218 |
+
```bash
|
219 |
+
curl --location 'http://localhost:8000/completion' \
|
220 |
+
--header 'Content-Type: application/json' \
|
221 |
+
--data '{
|
222 |
+
"prompt":"<s>[INST] <<SYS>>\nYou are a question answering assistant. Answer the question as truthful and helpful as possible คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด friendly\n\n<<SYS>>\n\nอยากลดความอ้วนต้องทำอย่างไร [/INST]",
|
223 |
+
"max_tokens": 512,
|
224 |
+
"stop":"</s>"
|
225 |
+
}'
|
226 |
+
```
|
227 |
+
|
228 |
+
### GPU Memory Requirements
|
229 |
+
| **Number of Parameters** | **FP 16 bits** | **8 bits (Quantized)** | **4 bits (Quantized)** | **Example Graphic Card for 4 bits** |
|
230 |
+
|------------------|----------------|------------------------|------------------------|---------------------------------------------|
|
231 |
+
| **7b** | 24 GB | 12 GB | 6 GB | Nvidia RTX 4060 8GB |
|
232 |
+
| **13b** | 48 GB | 24 GB | 12 GB | Nvidia RTX 4070 16GB |
|
233 |
+
| **70b** | 192 GB | 96 GB | 48 GB | Nvidia RTX 4090 24GB x 2 cards |
|
234 |
+
|
235 |
+
### Authors
|
236 |
+
* Kobkrit Viriyayudhakorn ([email protected])
|
237 |
+
* Sumeth Yuenyong ([email protected])
|
238 |
+
* Thaweewat Rugsujarit ([email protected])
|
239 |
+
* Jillaphat Jaroenkantasima ([email protected])
|
240 |
+
* Norapat Buppodom ([email protected])
|
241 |
+
* Koravich Sangkaew ([email protected])
|
242 |
+
* Peerawat Rojratchadakorn ([email protected])
|
243 |
+
* Surapon Nonesung ([email protected])
|
244 |
+
* Chanon Utupon ([email protected])
|
245 |
+
* Sadhis Wongprayoon ([email protected])
|
246 |
+
* Nucharee Thongthungwong ([email protected])
|
247 |
+
* Chawakorn Phiantham ([email protected])
|
248 |
+
* Patteera Triamamornwooth ([email protected])
|
249 |
+
* Nattarika Juntarapaoraya ([email protected])
|
250 |
+
* Kriangkrai Saetan ([email protected])
|
251 |
+
* Pitikorn Khlaisamniang ([email protected])
|
252 |
+
|
253 |
+
<i>Disclaimer: Provided responses are not guaranteed.</i>
|