Metadata-Version: 2.1
Name: openthaigpt
Version: 0.1.1
Summary: OpenThaiGPT focuses on developing a Thai Chatbot system to have capabilities equivalent to ChatGPT, as well as being able to connect to external systems and be able to retrieve data flexibly. Easily expandable and customizable and developed into Free open source software for everyone.
Home-page: https://github.com/OpenThaiGPT/openthaigpt
Author: Kobkrit Viriyayudhakorn
Author-email: kobkrit@iapp.co.th
License: Apache Software License 2.0
Keywords: openthaigpt
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Natural Language :: Thai
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md

# OpenThaiGPT

[![](https://img.shields.io/pypi/v/openthaigpt.svg)](https://pypi.python.org/pypi/openthaigpt) [![](https://pyup.io/repos/github/OpenThaiGPT/openthaigpt/shield.svg)](https://pyup.io/repos/github/OpenThaiGPT/openthaigpt/)

OpenThaiGPT focuses on developing a Thai Chatbot system to have capabilities equivalent to ChatGPT, as well as being able to connect to external systems and be able to retrieve data flexibly. Easily expandable and customizable and developed into Free open source software for everyone.

* Free software: Apache Software License 2.0
* Project Homepage: https://openthaigpt.aieat.or.th
* Documentation: https://openthaigpt.readthedocs.io

## Versions

- OpenThaiGPT chat inference library (this repository): version 0.1.1

- Released models
    * kobkrit/openthaigpt-0.1.0-beta
      - Pretraining Model: Facebook Llama (7 billion params)
      - Dataset: 200,000 Various Translated Instruction Dataset 
      - RLHF: None
      - Minimium Requirement: Nvidia T4 16GB

    * kobkrit/openthaigpt-0.1.0-alpha
      - Pretraining Model: ByT5-XL (3.74 billion params)
      - Dataset: 50,000 Thai SelfInstruct 
      - RLHF: None
      - Minimium Requirement: Nvidia A100 40GB

    * kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.4
      - Pretraining Model: GPT-2 Thai-base
      - InstructDataset: 300,000 Pantip + 5,000 Wiki QA => 12,920 Thai InstructGPT
      - RLHF: None
      - Minimium Requirement: CPU or Nvidia GTX 1060 6GB

    * kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.3
      - Pretraining Model: GPT-2 Thai-base
      - InstructDataset: 300,000 Pantip + 5,000 Wiki QA => 7,000 Thai InstructGPT
      - RLHF: None
      - Minimium Requirement: CPU or Nvidia GTX 1060 6GB

    * kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.2
      - Pretraining Model: GPT-2 Thai-base
      - InstructDataset: 7,000 Thai InstructGPT
      - RLHF: None
      - Minimium Requirement: CPU or Nvidia GTX 1060 6GB

    * kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.1
      - Pretraining Model: GPT-2 Thai-base
      - InstructDataset: 298,678 QA Pairs getting from 70,000 Pantip katoos + Wikipedia QA by iApp
      - RLHF: None
      - Minimium Requirement: CPU or Nvidia GTX 1060 6GB


## Installation
Python>=3.6

### CPU-Only
``$ pip install openthaigpt torch --extra-index-url https://download.pytorch.org/whl/cpu``

### With GPU

CUDA 11.6
``$ pip install openthaigpt torch --extra-index-url https://download.pytorch.org/whl/cu116``

CUDA 11.7
``$ pip install openthaigpt torch``

## Using 0.1.0-beta model
```
import openthaigpt

print(openthaigpt.generate(instruction="แปลภาษาอังกฤษเป็นภาษาไทย", input="We want to reduce weight.", model_name = "kobkrit/openthaigpt-0.1.0-beta", min_length=50, max_length=300, top_p=0.75, top_k=40, num_beams=1, no_repeat_ngram_size=0, temperature=0.1, early_stopping=True, load_8bit=False))
```

## Using 0.1.0-alpha model
```
import openthaigpt

print(openthaigpt.generate(instruction="แปลภาษาอังกฤษเป็นภาษาไทย", input="We want to reduce weight.", model_name = "kobkrit/openthaigpt-0.1.0-alpha", min_length=50, max_length=300,  top_k=20, num_beams=5, no_repeat_ngram_size=20, temperature=1, early_stopping=True))
```


## Usage 0.0.1-0.0.4 model
```
import openthaigpt

print(openthaigpt.generate("Q: อยากลดความอ้วนทำไง\n\nA:", model_name = "kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.4"))
print(openthaigpt.zero("การลดน้ำหนักเป็นเรื่องที่ต้องพิจารณาอย่างละเอียดและรอบคอบเพื่อให้ได้ผลลัพธ์ที่ดีและมีประสิทธิภาพมากที่สุด"))
```

## Sponsored by
* Pantip.com
* ThaiSC

## Collaborated By
* Artificial Intelligence Entrepreneur Association of Thailand (AIEAT)
* Artificial Intelligence Association of Thailand (AIAT)

## Supported By
* NECTEC
* iApp Technology
* NVIDIA
* Microsoft
* Mahidol University
* Gitbook


# History

0.1.1 (2023-05-26)
* Add Model version 0.1.0-beta (https://huggingface.co/kobkrit/openthaigpt-0.1.0-beta)

0.1.0 (2023-04-23)
* Support Model Selection
* Add Model version 0.1.0-alpha (https://huggingface.co/kobkrit/openthaigpt-0.1.0-alpha) to supported models.

0.0.9 - 0.0.10 (2023-03-19)

* Release OpenThaiGPT Zero

0.0.8 (2023-03-12)

* Update Readme

0.0.7 (2023-03-12)

* Update Model to Version 0.0.4 (https://huggingface.co/kobkrit/openthaigpt-gpt2-instructgpt-poc-0.0.4)

0.0.6 (2023-03-05)

* Update README

0.0.5 (2023-02-28)

* First release on PyPI.
