File size: 7,246 Bytes
cdd261c
ae45e81
 
 
 
cdd261c
 
 
 
 
a6e31da
cdd261c
 
ae45e81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
---
title: DekData - AI Dataset Generator
emoji: 🤖
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.33.1
app_file: app.py
pinned: false
license: cc-by-nc-nd-4.0
short_description: "AI-powered dataset generator with multi-language support"
---

# 🤖 DekData - AI Dataset Generator

**ระบบสร้าง Dataset อัจฉริยะด้วย AI สำหรับงานวิจัยและพัฒนาโมเดล Machine Learning**

DekData เป็นระบบที่ครอบคลุมสำหรับการสร้าง ขยาย และประมวลผล dataset โดยใช้ AI models ต่างๆ รองรับการทำงานกับหลายภาษาและมีความสามารถในการประมวลผลหลังขั้นสูง

## ✨ คุณสมบัติหลัก

### 🔧 การโหลดข้อมูล
- รองรับไฟล์หลายรูปแบบ: CSV, JSONL, JSON, Parquet
- โหลด dataset จาก Hugging Face Hub
- รองรับ HF Dataset directories ที่สร้างแล้ว
- ฟีเจอร์ตัวอย่างข้อมูลก่อนประมวลผล

### 🤖 ผู้ให้บริการ LLM
- **Ollama**: Local LLM server (รองรับ auto-detect models)
- **DeepSeek API**: deepseek-chat, deepseek-reasoner
- **Hugging Face**: API inference
- **HF Local**: โหลดโมเดลใช้งานในเครื่อง

### ✨ การสร้างข้อมูลใหม่
- **Augment**: ขยายข้อมูลจากตัวอย่างเดิม
- **Roleplay**: สร้างมุมมองจากบทบาทต่างๆ
- **Topic Conditioning**: สร้างสถานการณ์ใหม่ตามหัวข้อ
- **Self Critique**: วิเคราะห์และปรับปรุงเหตุผล
- **Custom Prompt**: ใช้ prompt ที่กำหนดเอง

### 🌍 รองรับหลายภาษา
- การ generate ในภาษาต่างๆ: ไทย, อังกฤษ, จีน, ญี่ปุ่น
- การแปลภาษาอัตโนมัติ
- รักษาบริบททางวัฒนธรรมในการแปล

### 🔧 การประมวลผลหลัง
- **ลบข้อมูลซ้ำ**: ใช้ MD5 hashing
- **ตรวจสอบไวยากรณ์**: กรองข้อมูลที่มีปัญหา
- **ประเมินความยาก**: easy, medium, hard
- **สร้าง Multiple Choice**: เพิ่มตัวเลือกอัตโนมัติ

### 💾 การส่งออกข้อมูล
- **CSV**: สำหรับ Excel/Spreadsheet
- **JSONL**: สำหรับ machine learning
- **Parquet**: รูปแบบคอลัมน์ประสิทธิภาพสูง
- **HF Dataset**: Hugging Face Dataset (Parquet format)

## 🚀 การติดตั้งและใช้งาน

### ความต้องการระบบ
```bash
Python 3.8+
```

### การติดตั้ง Dependencies
```bash
pip install -r requirements.txt
```

### การรันแอปพลิเคชัน
```bash
python app.py
```

แอปพลิเคชันจะทำงานที่: `http://localhost:7860`

## 📋 Schema ของ Dataset

```json
{
  "id": "string",
  "context": "string", 
  "question": "string",
  "options": ["string"] | null,
  "answer": "string",
  "rationale": "string",
  "category": "string",
  "difficulty": "easy|medium|hard",
  "source": "string",
  "language": "th|en|zh|ja"
}
```

## 📝 ตัวอย่างการใช้งาน

### 1. โหลดข้อมูลจากไฟล์ CSV
1. เลือก "local" ในประเภทแหล่งข้อมูล
2. อัปโหลดไฟล์ CSV หรือใส่ path
3. กดปุ่ม "ดูตัวอย่างข้อมูล"

### 2. Generate ข้อมูลใหม่ด้วย Ollama
1. เลือก "ollama" ใน LLM Provider
2. เลือกโมเดลที่ต้องการ
3. ตั้งค่าการ generate (ประเภท, จำนวน, ภาษา)
4. รันเวิร์กโฟลว์

### 3. ส่งออกเป็น Parquet
1. เลือก "parquet" ในรูปแบบ Export
2. ไฟล์จะถูกสร้างด้วยชื่อที่มี timestamp

## 🔧 การกำหนดค่า

### Ollama Setup
```bash
# ติดตั้ง Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# ดาวน์โหลดโมเดล
ollama pull llama3.2
ollama pull gemma2
```

### DeepSeek API
1. สมัครบัญชีที่ [DeepSeek](https://www.deepseek.com)
2. รับ API Key
3. ใส่ API Key ในช่อง "API Key"

## 📊 ตัวอย่างผลลัพธ์

ระบบจะแสดงสถิติ Dataset:
- จำนวนข้อมูลทั้งหมด
- การกระจายตามหมวดหมู่
- ระดับความยาก
- ภาษาที่ใช้
- จำนวนที่มี Multiple Choice

## 🛠️ Development

### โครงสร้างโค้ด
```
app.py              # แอปพลิเคชันหลัก
requirements.txt    # Dependencies
sample_data.csv     # ตัวอย่างข้อมูล
README.md          # เอกสารนี้
```

### การพัฒนาต่อ
1. Fork repository
2. สร้าง feature branch
3. Implement changes
4. Submit pull request

## ⚠️ ข้อจำกัดและคำเตือน

### การใช้งาน
- ระบบจำกัดการประมวลผลเพื่อประสิทธิภาพ
- การ generate ขึ้นอยู่กับคุณภาพของโมเดล AI
- ต้องมี API Key สำหรับบริการภายนอก

### ทรัพย์สินทางปัญญา
- ระบบนี้เป็นทรัพย์สินทางปัญญา
- ห้ามคัดลอกหรือใช้เชิงพาณิชย์โดยไม่ได้รับอนุญาต
- อนุญาตให้ใช้เพื่อการศึกษาและวิจัยเท่านั้น

## 📞 การสนับสนุน

สำหรับข้อสงสัยหรือปัญหาการใช้งาน:
- ตรวจสอบ Issues ใน repository
- อ่านเอกสารประกอบ
- ติดต่อผู้พัฒนา

## 📄 License

CC BY-NC-ND 4.0 - สงวนลิขสิทธิ์ © 2025

---

**สร้างด้วย ❤️ สำหรับชุมชนนักวิจัยและนักพัฒนา AI**