maitrang04 commited on
Commit
bfdd10a
·
verified ·
1 Parent(s): 63661d0

Upload 6 files

Browse files
.gitignore ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # =========================
2
+ # Python
3
+ # =========================
4
+ *.pyc
5
+ __pycache__/
6
+ *.pyo
7
+ *.pyd
8
+ *.egg
9
+ *.egg-info/
10
+ dist/
11
+ build/
12
+ .eggs/
13
+
14
+ # =========================
15
+ # Virtual Environment
16
+ # =========================
17
+ .venv/
18
+ venv/
19
+ ENV/
20
+ env/
21
+
22
+ # =========================
23
+ # Environment variables
24
+ # =========================
25
+ .env
26
+ .env.*
27
+
28
+ # =========================
29
+ # Docker
30
+ # =========================
31
+ *.log
32
+ docker-compose.override.yml
33
+ *.pid
34
+ *.sock
35
+
36
+ # =========================
37
+ # VSCode / IDE
38
+ # =========================
39
+ .vscode/
40
+ .idea/
41
+ *.sublime-project
42
+ *.sublime-workspace
43
+
44
+ # =========================
45
+ # Misc
46
+ # =========================
47
+ .DS_Store
48
+ Thumbs.db
README.md CHANGED
@@ -1,13 +1,137 @@
1
- ---
2
- title: PINE AI Amdocs
3
- emoji: 🐨
4
- colorFrom: red
5
- colorTo: purple
6
- sdk: docker
7
- pinned: false
8
- short_description: VNPT AIHackathon 2025
9
- ---
10
- <!-- force rebuild -->
11
-
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PINE-AI MVP - Hướng dẫn chạy
2
+
3
+ ## 1. Mục đích
4
+
5
+ PINE-AI là một hệ thống AI hỗ trợ logic sales, có khả năng xử lý dữ liệu khách hàng và gói cước, đồng thời demo bằng giao diện web.
6
+
7
+ Hướng dẫn này giúp Ban giám khảo **chạy MVP PINE-AI trên Windows** bằng Docker mà không cần cài Python hay cấu hình môi trường phức tạp.
8
+
9
+ ---
10
+
11
+ ## 2. Yêu cầu
12
+
13
+ - Windows 10/11 với **PowerShell**
14
+ - **Docker Desktop** đã cài và đang chạy (bao gồm Docker Compose)
15
+ - Kết nối Internet để Docker pull image và build container
16
+
17
+ ---
18
+
19
+ ## 3. Cấu trúc thư mục
20
+
21
+ PINE-AI-main/
22
+ ├─ backend/
23
+ │ └─ ai/
24
+ │ ├─ data/ # chứa CSV & JSON mẫu
25
+ │ ├─ requirements.txt # các package Python
26
+ │ └─ ... # code backend
27
+ ├─ frontend/ # code frontend
28
+ ├─ docker/
29
+ │ ├─ Dockerfile
30
+ │ ├─ docker-compose.yml
31
+ │ ├─ start.ps1 # script PowerShell chạy MVP
32
+ │ └─ .env # biến môi trường
33
+ └─ README.md
34
+
35
+ yaml
36
+ Copy code
37
+
38
+ ---
39
+
40
+ ## 4. Setup môi trường
41
+
42
+ ### 4.1 Tạo file `.env`
43
+
44
+ Trong thư mục `docker`, tạo file `.env` với nội dung:
45
+
46
+ ```dotenv
47
+ # Google API key
48
+ GOOGLE_API_KEY=your_api_key_here
49
+
50
+ # In real-time logs
51
+ PYTHONUNBUFFERED=1
52
+
53
+ 4.2 Cài Docker Compose & Docker Desktop
54
+ Docker Desktop mới đã bao gồm Docker Compose v2, nên không cần cài thêm.
55
+
56
+ Đảm bảo Docker Desktop đang chạy trước khi build container.
57
+
58
+ 5. Cách chạy MVP
59
+ 5.1 Chạy bằng script PowerShell (recommended)
60
+ Mở PowerShell, vào thư mục docker:
61
+
62
+ powershell
63
+ Copy code
64
+ cd C:\Users\Admin\Downloads\PINE-AI-main\docker
65
+ Nếu PowerShell báo Execution Policy:
66
+
67
+ powershell
68
+ Copy code
69
+ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
70
+ Chạy script:
71
+
72
+ powershell
73
+ Copy code
74
+ .\start.ps1
75
+ Script sẽ:
76
+
77
+ Build image Docker
78
+
79
+ Start container
80
+
81
+ Chờ server startup
82
+
83
+ Mở trình duyệt tới http://localhost:8000
84
+
85
+ 5.2 Chạy trực tiếp bằng Docker Compose (nếu muốn xem log chi tiết)
86
+ powershell
87
+ Copy code
88
+ docker-compose up --build
89
+ Output sẽ hiện toàn bộ quá trình build và start container.
90
+
91
+ Nếu cần dừng container:
92
+
93
+ powershell
94
+ Copy code
95
+ docker-compose down
96
+ 6. Kiểm tra container
97
+ Xem container đang chạy:
98
+
99
+ powershell
100
+ Copy code
101
+ docker ps
102
+ Xem log realtime:
103
+
104
+ powershell
105
+ Copy code
106
+ docker logs -f pine-ai
107
+ 7. Truy cập web app
108
+ Mở trình duyệt và vào:
109
+
110
+ arduino
111
+ Copy code
112
+ http://localhost:8000
113
+ Giao diện web app sẽ hiển thị các chức năng của MVP.
114
+
115
+ Hệ thống đã load CSV và JSON mẫu, sẵn sàng demo.
116
+
117
+ 8. Notes
118
+ Nếu gặp lỗi thiếu package, đảm bảo backend/ai/requirements.txt có đầy đủ:
119
+
120
+ text
121
+ Copy code
122
+ fastapi>=0.95.0
123
+ uvicorn[standard]>=0.22.0
124
+ python-multipart>=0.0.6
125
+ python-dotenv>=1.0.0
126
+ google-genai>=0.0.1
127
+ websockets>=11.0
128
+ requests>=2.31.0
129
+ aiofiles>=23.1.0
130
+ httpx>=0.24.0
131
+ pandas>=2.0.0
132
+ .env phải nằm trong thư mục docker, không nằm ngoài.
133
+
134
+ 9. Liên hệ
135
+ Mọi vấn đề liên quan tới chạy MVP có thể trao đổi trực tiếp với nhóm phát triển.
136
+
137
+ Chúc Ban giám khảo trải nghiệm MVP PINE-AI thành công!
create_init.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ # Danh sách folder cần tạo __init__.py
4
+ folders_to_init = [
5
+ "backend",
6
+ "backend/ai",
7
+ "backend/ai/core",
8
+ "backend/ai/strategy",
9
+ "backend/ai/data",
10
+ "backend/config",
11
+ "backend/precomputation",
12
+ "backend/precomputation/logic",
13
+ "backend/precomputation/voice",
14
+ "backend/precomputation/data",
15
+ ]
16
+
17
+ for folder in folders_to_init:
18
+ init_file = os.path.join(folder, "__init__.py")
19
+ if not os.path.exists(init_file):
20
+ with open(init_file, "w", encoding="utf-8") as f:
21
+ pass # tạo file trống
22
+ print(f"Đã tạo: {init_file}")
23
+ else:
24
+ print(f"Đã tồn tại: {init_file}")
25
+
26
+ print("\nHoàn tất tạo các file __init__.py")
docker-compose.yml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ services:
2
+ pine-ai:
3
+ build:
4
+ context: ..
5
+ dockerfile: docker/Dockerfile
6
+ container_name: pine-ai
7
+ ports:
8
+ - "8000:8000" # map port host -> container
9
+ volumes:
10
+ - ../backend/ai/data:/app/backend/ai/data # persist dữ liệu và output
11
+ env_file:
12
+ - .env # load GOOGLE_API_KEY và các biến môi trường khác
13
+ environment:
14
+ PYTHONUNBUFFERED: "1" # in real-time logs
15
+ restart: unless-stopped # tự restart nếu container crash
start.ps1 ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # start.ps1 - Script chạy Docker project và mở trình duyệt trên Windows
2
+
3
+ # Chuyển tới thư mục hiện tại của script
4
+ Set-Location -Path $PSScriptRoot
5
+
6
+ # Kiểm tra Docker Desktop
7
+ try {
8
+ docker info > $null 2>&1
9
+ } catch {
10
+ Write-Error "Docker không chạy hoặc không kết nối được. Vui lòng mở Docker Desktop trước."
11
+ exit 1
12
+ }
13
+
14
+ # Build và chạy container
15
+ Write-Host "Đang build và chạy container..."
16
+ docker-compose up -d --build
17
+ if ($LASTEXITCODE -ne 0) {
18
+ Write-Error "Docker Compose chạy thất bại. Kiểm tra log trên console."
19
+ exit 1
20
+ }
21
+
22
+ # Chờ server khởi động
23
+ Write-Host "Đợi container khởi động..."
24
+ Start-Sleep -Seconds 10
25
+
26
+ # Kiểm tra logs xem server đã sẵn sàng chưa
27
+ Write-Host "Hiển thị 5 dòng log cuối container:"
28
+ docker logs --tail 5 pine-ai
29
+
30
+ # Mở trình duyệt tới localhost:8000
31
+ $url = "http://localhost:8000/"
32
+ Write-Host "Mở trình duyệt tại $url"
33
+ Start-Process $url
34
+
35
+ Write-Host "Hoàn tất! Container đang chạy."
telco_customer_segmented_full_features.csv ADDED
The diff for this file is too large to render. See raw diff