File size: 2,378 Bytes
ae27454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---

title: Semantic Embedding API
emoji: πŸ€–
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: "4.44.0"
app_file: app.py
pinned: false
license: mit
short_description: Embedding + LLM Analysis untuk deteksi kemiripan proposal
---


# πŸ€– Semantic Embedding & LLM Analysis API

API untuk deteksi kemiripan proposal skripsi menggunakan AI embedding dan Google Gemini.

## Fitur

### Embedding (Sentence Transformers)
- **Single/Batch Embedding** - Generate embedding vektor 384 dimensi
- **Similarity Check** - Hitung kemiripan semantik
- **Supabase Cache** - Shared cache untuk performa

### LLM Analysis (Google Gemini)
- **Analisis Mendalam** - Reasoning seperti penilai manusia
- **Verdict** - AMAN / PERLU_REVIEW / BERMASALAH

- **Saran Konkret** - Rekomendasi untuk mahasiswa

- **Auto Cache** - Hasil disimpan ke Supabase



## Model & Tech



| Komponen | Teknologi |

|----------|-----------|

| Embedding | `paraphrase-multilingual-MiniLM-L12-v2` (384 dim) |

| LLM | Google Gemini 2.5 Pro |

| Cache | Supabase (PostgreSQL) |

| API | Gradio |



## Required Secrets



Set di **Settings > Repository secrets**:



```

SUPABASE_URL      - URL project Supabase
SUPABASE_KEY      - Supabase anon/service key

GEMINI_API_KEY_1  - API key Gemini #1
GEMINI_API_KEY_2  - API key Gemini #2 (opsional)

GEMINI_API_KEY_3  - API key Gemini #3 (opsional)
GEMINI_API_KEY_4  - API key Gemini #4 (opsional)

```



## API Endpoints



| Endpoint | Fungsi |

|----------|--------|

| `/get_embedding` | Single text embedding |
| `/get_embeddings_batch` | Batch embeddings |
| `/calculate_similarity` | Cosine similarity |
| `/db_get_all_embeddings` | Get cached embeddings |
| `/db_save_embedding` | Save embedding (API only) |
| `/llm_check_status` | Check Gemini status |
| `/llm_analyze_pair` | Full LLM analysis |

## Dibuat Untuk

**Monitoring Proposal Skripsi**  
KK E (Ilmu Komputer) - Prodi Teknik Informatika  
Universitas Komputer Indonesia (UNIKOM)

πŸ”— [Website](https://galih-hermawan-unikom.github.io/monitoring-proksi/)

## Pengembang

**Galih Hermawan**  
🌐 [galih.eu](https://galih.eu) β€’ πŸ™ [github.com/galihboy](https://github.com/galihboy) β€’ πŸ™ [github.com/Galih-Hermawan-Unikom](https://github.com/Galih-Hermawan-Unikom)

πŸ“… Terakhir diperbarui: 30 November 2025

## License

MIT License