Model Overview
Model Features
Model Capabilities
Use Cases
ð ðđð OpenThaiGPT 70b 1.0.0
OpenThaiGPT 70b 1.0.0 is an advanced Thai language chat model. It's based on LLaMA v2, fine - tuned for Thai instructions. With over 10,000 common Thai words added to its dictionary, it significantly boosts response speed.
ð Quick Start
To start using OpenThaiGPT 70b 1.0.0, you can follow the steps in the "How to use" section below.
âĻ Features
- Leading - edge Thai language LLM: Sets new benchmarks by achieving the highest average scores across several Thai language exams when compared to all other open - source Thai LLMs.
- The First 70b Thai opensource LLM: Achieves a higher score on Thai exams than OpenAI GPT 3.5, Google Gemini, and Claude 3 Haiku.
- Support for extended conversations: Enables conversations across multiple turns.
- Support for Retrieval Augmented Generation (RAG): Facilitates enriched response generation.
- Tenfold increase in generation speeds: Thanks to the addition of 10,000 frequently used Thai words to the model's dictionary.
- Pretrained on a large Thai language corpus: Pretrained upon a foundation of more than 65 billion Thai language words and fine - tuned with over 1 million Thai instruction examples.
- Large input context handling: Capable of understanding and processing input contexts of up to 4096 Thai words, allowing for detailed and complex instructions.
Benchmark on OpenThaiGPT Eval
Please take a look at OTG 13b (April 2024)
for this model's evaluation result.
Exams | OTG 7b (Aug 2023) | OTG 13b (Dec 2023) | OTG 7b (April 2024) | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A - Level | 17.50% | 34.17% | 25.00% | 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% |
TGAT | 24.00% | 22.00% | 22.00% | 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% |
TPAT1 | 22.50% | 47.50% | 42.50% | 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% |
thai_investment_consultant_exams | 8.00% | 28.00% | 76.00% | 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% |
facebook_beleble_tha_200 | 25.00% | 45.00% | 34.50% | 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% |
xcopa_th_200 | 45.00% | 56.50% | 49.50% | 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% |
xnli2.0_th_200 | 33.50% | 34.50% | 39.50% | 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% |
ONET M3 | 17.85% | 38.86% | 34.11% | 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% |
ONET M6 | 21.14% | 28.87% | 22.53% | 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% |
AVERAGE SCORE | 23.83% | 37.27% | 38.40% | 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% |
Thai language multiple choice exams, Test on unseen test set, Zero - shot learning. Benchmark source code and exams information: https://github.com/OpenThaiGPT/openthaigpt_eval
(Updated on: 7 April 2024)
Benchmark on M3Exam evaluated by an external party (Float16.cloud)
Models | ENGLISH (M3EXAM) | THAI (M3EXAM) |
---|---|---|
OTG - 7b | 40.92 % | 25.14 % |
OTG - 13b | 53.69 % | 36.49 % |
OTG - 70b | 72.58 % | 48.29 % |
GPT - 3.5 - turbo - 0613* | - | 34.1 % |
GPT - 4 - 0613* | - | 56.0 % |
More information: https://blog.float16.cloud/the - first - 70b - thai - llm/
ð License
- Source Code: Licensed under the Apache Software License 2.0.
- Weight: Allows for research and Commercial uses.
Sponsors

Supports
- Official website: https://openthaigpt.aieat.or.th
- Facebook page: https://web.facebook.com/groups/openthaigpt
- A Discord server for discussion and support here
- E - mail: kobkrit@aieat.or.th
ðŧ Usage Examples
Prompt Format
The prompt format is based on Llama2 with a small modification (Adding "###" to specify the context part)
<s>[INST] <<SYS>
{system_prompt}
<</SYS>>
{human_turn1}###{context_turn1} [/INST]{assistant_turn1}</s><s>{human_turn2}###{context_turn2} [/INST] ...
System prompt:
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
Basic Usage
Single Turn Conversation Example
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ [/INST]
Advanced Usage
Single Turn Conversation with Context (RAG) Example
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļāļĢāļļāļāđāļāļāļĄāļĩāļāļ·āđāļāļāļĩāđāđāļāđāļēāđāļĢāđ###āļāļĢāļļāļāđāļāļāļĄāļŦāļēāļāļāļĢ āđāļāđāļāđāļĄāļ·āļāļāļŦāļĨāļ§āļ āļāļāļĢāđāļĨāļ°āļĄāļŦāļēāļāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āļāļēāļāļĢāļĄāļēāļāļāļĩāđāļŠāļļāļāļāļāļāļāļĢāļ°āđāļāļĻāđāļāļĒ āļāļĢāļļāļāđāļāļāļĄāļŦāļēāļāļāļĢāļĄāļĩāļāļ·āđāļāļāļĩāđāļāļąāđāļāļŦāļĄāļ 1,568.737 āļāļĢ.āļāļĄ. āļĄāļĩāļāļĢāļ°āļāļēāļāļĢāļāļēāļĄāļāļ°āđāļāļĩāļĒāļāļĢāļēāļĐāļāļĢāļāļ§āđāļē 8 āļĨāđāļēāļāļāļ [/INST]
Multi Turn Conversation Example
First turn
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ [/INST]
Second turn
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ [/INST]āļŠāļ§āļąāļŠāļāļĩāļāđāļ° āļĄāļĩāļāļģāļāļēāļĄāļāļ°āđāļĢ āļāļēāļĄāđāļāđāđāļĨāļĒ</s><s>āļāļāļŠāļđāļāļĢāļāļģāļŠāđāļĄāļāļģāļŦāļāđāļāļĒ [/INST]
Third turn
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ [/INST]āļŠāļ§āļąāļŠāļāļĩāļāđāļ° āļĄāļĩāļāļģāļāļēāļĄāļāļ°āđāļĢ āļāļēāļĄāđāļāđāđāļĨāļĒ</s><s>āļāļāļŠāļđāļāļĢāļāļģāļŠāđāļĄāļāļģāļŦāļāđāļāļĒ [/INST]āđāļāđāđāļĨāļĒāļāđāļ° āļŠāđāļĄāļāļģāđāļāđāļāđāļĄāļāļđāļāļĩāđāļāļģāļāđāļēāļĒāđāļĨāļ°āļāļĢāđāļāļĒ āļĄāļēāđāļĢāļīāđāļĄāļāļąāļāđāļĨāļĒāļāļ°āļāļ°</s><s>āđāļĢāļīāđāļĄāđāļāđāđāļĨāļĒ [/INST]
Fourth turn
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ [/INST]āļŠāļ§āļąāļŠāļāļĩāļāđāļ° āļĄāļĩāļāļģāļāļēāļĄāļāļ°āđāļĢ āļāļēāļĄāđāļāđāđāļĨāļĒ</s><s>āļāļāļŠāļđāļāļĢāļāļģāļŠāđāļĄāļāļģāļŦāļāđāļāļĒ [/INST]āđāļāđāđāļĨāļĒāļāđāļ° āļŠāđāļĄāļāļģāđāļāđāļāđāļĄāļāļđāļāļĩāđāļāļģāļāđāļēāļĒāđāļĨāļ°āļāļĢāđāļāļĒ āļĄāļēāđāļĢāļīāđāļĄāļāļąāļāđāļĨāļĒāļāļ°āļāļ°</s><s>āđāļĢāļīāđāļĄāđāļāđāđāļĨāļĒ [/INST]
āļāļģāđāļāļĒāđāļāđāļāđāļĄāļāļđāļāļĩāđāđāļāļĢāđ āļāđāļāļļāđāļāđāļāļĒ āļāđāļ§āļĒāļĢāļŠāļāļēāļāļīāļāļĩāđāļāļĨāļĄāļāļĨāđāļāļĄ āļŦāļ§āļēāļ āđāļāļĢāļĩāđāļĒāļ§ āđāļāđāļĄ āđāļāđāļ āļāļĢāļāļĢāļŠ āļ§āļąāļāļāļĩāđāđāļĢāļēāļāļ°āļĄāļēāļāļģāļŠāđāļĄāļāļģāļāđāļ§āļĒāļāļąāļāļāđāļ° āļŠāļīāđāļāđāļĢāļāļāļĩāđāļāđāļāļāļĄāļĩāļāļ·āļāđāļāļĢāļ·āđāļāļāļāļĢāļļāļāļāļąāļāļāļĩāđ
- āļĄāļ°āļĨāļ°āļāļāļāļīāļ 1 āļĨāļđāļ
- āļāļļāđāļāđāļŦāđāļ 1/2 āļāđāļ§āļĒ
- āļāļĢāļ°āđāļāļĩāļĒāļĄ 3 āļāļĨāļĩāļ
- āļāļĢāļīāļāļāļĩāđāļŦāļāļđ 3 āđāļĄāđāļ
- āļāđāļģāļāļēāļĨāļāļĩāđāļ 1 āļāđāļāļāđāļāđāļ°
- āļāđāļģāļāļĨāļē 2 āļāđāļāļāđāļāđāļ°
- āļĄāļ°āļāļēāļ§ 1 āļĨāļđāļ
- āļāļēāļāļēāļ§āļāļąāđāļ§ 1/4 āļāđāļ§āļĒ
āļ§āļīāļāļĩāļāļģāļĄāļĩāļāļąāļāļāļĩāđāļāđāļ°
1. āđāļĢāļīāđāļĄāļāļēāļāļĨāđāļēāļāļĄāļ°āļĨāļ°āļāļāđāļŦāđāļŠāļ°āļāļēāļ āđāļĨāđāļ§āđāļāđāļĄāļĩāļāļāļāļāđāļāļĨāļ·āļāļ āđāļāļēāđāļŠāđāļāļāļ āļŦāļąāđāļāđāļāđāļāđāļŠāđāļāļāļēāļāđ āđāļāļĢāļĩāļĒāļĄāđāļ§āđ
2. āļāļģāļāļļāđāļāđāļŦāđāļāđāļŦāđāļĨāļ°āđāļāļĩāļĒāļ āđāļĨāđāļ§āļāļąāļāļāļķāđāļāļāļąāļāđāļ§āđ
3. āđāļāđāļāļĢāļāļŦāļīāļāļŦāļĢāļ·āļāđāļāļĢāļ·āđāļāļāļāļąāđāļ āļāļāļāļĢāļīāļāļāļĩāđāļŦāļāļđāļāļąāļāļāļĢāļ°āđāļāļĩāļĒāļĄāđāļŦāđāļĨāļ°āđāļāļĩāļĒāļ
4. āđāļŠāđāļāļļāđāļāđāļŦāđāļāļāļĩāđāļāļģāđāļĨāđāļ§āļĨāļāđāļāļāļŠāļĄ āļāļēāļĄāļāđāļ§āļĒāļāđāļģāļāļēāļĨāļāļĩāđāļ āļāđāļģāļāļĨāļē āļĄāļ°āļāļēāļ§ āđāļĨāļ°āđāļŠāđāļāļĄāļ°āļĨāļ°āļāļ āļāļĨāļļāļāđāļāļĨāđāļēāđāļŦāđāđāļāđāļēāļāļąāļ
5. āļāļīāļĄāļĢāļŠāđāļŦāđāđāļāđāļĢāļŠāļŦāļ§āļēāļ āđāļāļĢāļĩāđāļĒāļ§ āđāļāđāļĄ āđāļāđāļ āļāļēāļāļāļąāđāļāļāļąāļāļāļķāđāļāđāļŠāļīāļĢāđāļāļāļĢāđāļāļĄāļāļąāļāļŠāļ āļāļēāļāļī āļāļ°āļŦāļĨāđāļģāļāļĨāļĩ āļāļąāđāļ§āļāļāļ āđāļāļĢāļāļ āļāļąāļāļāļļāđāļ</s><s>āļāļāļāļāļļāļāļāļĢāļąāļ [/INST]
Multi Turn Conversation with Context (RAG) Example
<s>[INST] <<SYS>
You are a question answering assistant. Answer the question as truthful and helpful as possible āļāļļāļāļāļ·āļāļāļđāđāļāđāļ§āļĒāļāļāļāļāļģāļāļēāļĄ āļāļāļāļāļāļāļģāļāļēāļĄāļāļĒāđāļēāļāļāļđāļāļāđāļāļāđāļĨāļ°āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĩāđāļŠāļļāļ
<</SYS>>
āļāļĢāļļāļāđāļāļāļĄāļĩāļāļ·āđāļāļāļĩāđāđāļāđāļēāđāļĢāđ###āļāļĢāļļāļāđāļāļāļĄāļŦāļēāļāļāļĢ āđāļāđāļāđāļĄāļ·āļāļāļŦāļĨāļ§āļ āļāļāļĢāđāļĨāļ°āļĄāļŦāļēāļāļāļĢāļāļĩāđāļĄāļĩāļāļĢāļ°āļāļēāļāļĢāļĄāļēāļāļāļĩāđāļŠāļļāļāļāļāļāļāļĢāļ°āđāļāļĻāđāļāļĒ āļāļĢāļļāļāđāļāļāļĄāļŦāļēāļāļāļĢāļĄāļĩāļāļ·āđāļāļāļĩāđāļāļąāđāļāļŦāļĄāļ 1,568.737 āļāļĢ.āļāļĄ. āļĄāļĩāļāļĢāļ°āļāļēāļāļĢāļāļēāļĄāļāļ°āđāļāļĩāļĒāļāļĢāļēāļĐāļāļĢāļāļ§āđāļē 8 āļĨāđāļēāļāļāļ [/INST]
āļāļĢāļļāļāđāļāļāļĄāļŦāļēāļāļāļĢāļĄāļĩāļāļ·āđāļāļāļĩāđāļāļąāđāļāļŦāļĄāļ 1,568.737 āļāļĢ.āļāļĄ.</s><s>āđāļĨāļ°āļāļĢāļ°āļāļēāļāļĢāļĨāđāļ° [/INST]
How to use
Huggingface
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Ensure CUDA is available
device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f"Using device: {device}")
# Init Model
model_path="openthaigpt/openthaigpt-1.0.0-7b-chat"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.float16)
model.to(device)
# Prompt
prompt = "āļŠāļ§āļąāļŠāļāļĩāļāļĢāļąāļ OpenThaiGPT"
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]"
inputs = tokenizer.encode(llama_prompt, return_tensors="pt")
inputs = inputs.to(device)

