Kursus
DeepSeek telah membuat terobosan signifikan dengan memperkenalkan DeepSeek-V3, sebuah model yang melampaui pendahulunya dalam kemampuan pengodean, penalaran matematis, dan pemrosesan bahasa alami.
Dalam tutorial ini, saya akan memandu Anda langkah demi langkah untuk membuat asisten peninjau kode dengan DeepSeek-V3. Kita juga akan mempelajari cara mengintegrasikannya dengan Gradio agar aplikasi memiliki antarmuka yang ramah pengguna.
Apa Itu DeepSeek-V3?
DeepSeek V3 adalah model bahasa mixture-of-experts (MoE) dengan 671 miliar parameter, 37 miliar di antaranya diaktifkan per token.
Model ini dilatih pada 14,8 triliun token berkualitas tinggi dan unggul dalam berbagai tugas, termasuk pembuatan dan analisis kode. Arsitektur model menggabungkan inovasi seperti multi-head latent attention (MLA) dan strategi penyeimbangan beban tanpa auxiliary loss, sehingga memastikan inferensi yang efisien dan pelatihan yang hemat biaya.
Mekanisme multi-head latent attention (MLA) memungkinkan model untuk fokus pada beberapa aspek masukan secara bersamaan, sehingga meningkatkan efisiensi inferensi. Arsitektur DeepSeekMoE menerapkan pendekatan mixture-of-experts untuk mengoptimalkan biaya pelatihan dan kinerja.

Sumber: DeepSeek-AI
Strategi penyeimbangan beban tanpa auxiliary loss mendistribusikan beban komputasi secara merata tanpa bergantung pada fungsi kerugian tambahan, sehingga meningkatkan stabilitas pelatihan. Selain itu, tujuan prediksi multi-token memungkinkan model memprediksi beberapa token sekaligus, meningkatkan kinerja dan memungkinkan speculative decoding untuk inferensi yang lebih cepat.
Beberapa alasan yang membuat DeepSeek-V3 sangat menarik bagi saya adalah:
- Menawarkan penalaran dan pemahaman tingkat lanjut, sehingga cocok untuk tugas kompleks seperti pelengkapan dan analisis kode.
- Dengan kecepatan pemrosesan 60 token per detik, DeepSeek-V3 tiga kali lebih cepat daripada pendahulunya, DeepSeek-V2.
- Baik model maupun makalah penelitiannya sepenuhnya open-source, mendorong transparansi dan kolaborasi komunitas.
Cara Terhubung ke API DeepSeek-V3
Untuk mengintegrasikan DeepSeek V3 ke dalam aplikasi kita, kita perlu menyiapkan kunci API. Ikuti langkah-langkah di bawah ini untuk mengakses kunci API Anda:
1. Kunjungi DeepSeek.com dan klik “Access API”.

2. Daftar di platform API DeepSeek.
3. Klik “Top up” dan tambahkan jumlah yang diperlukan ke akun Anda. Pada saat artikel ini ditulis, harga API DeepSeek adalah:
- Input (cache miss): $0,27/juta token
- Input (cache hit): $0,07/juta token
- Output: $1,10/juta token

3. Buka tab API Keys di sisi kiri dan klik “Create new API key.” Terakhir, tetapkan nama untuk kunci API dan salin untuk digunakan nanti.

Tinjauan Proyek Demo: Asisten Peninjau Kode dengan Gradio
Aplikasi yang akan kita bangun adalah asisten interaktif yang menggunakan kemampuan DeepSeek V3 untuk memberikan tinjauan kode yang informatif melalui antarmuka yang ramah pengguna.
Sebelum memulai, pastikan Anda telah memasang hal-hal berikut:
- Python 3.8+
- Pustaka yang dibutuhkan: Pasang paket Python yang diperlukan menggunakan pip:
pip install requests gradio
Sekarang semua dependensi telah terpasang, mari kita atur API DeepSeek.
Langkah 1: Menghubungkan ke API DeepSeek
Skrip berikut menunjukkan cara berinteraksi dengan API DeepSeek untuk memperoleh respons berdasarkan prompt pengguna. Perhatikan bahwa API DeepSeek kompatibel dengan format OpenAI dan menggunakan base URL untuk permintaan API.
import requests
import json
# Replace 'YOUR_API_KEY' with your actual DeepSeek API key
API_KEY = 'YOUR_API_KEY'
API_URL = 'https://api.deepseek.com/chat/completions'
HEADERS = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {API_KEY}'
}
def get_deepseek_response(prompt):
"""Fetches a response from the DeepSeek API based on the given prompt."""
data = {
'model': 'deepseek-chat', # Specifies the DeepSeek V3 model
'messages': [
{'role': 'system', 'content': 'You are a helpful code reviewer.'},
{'role': 'user', 'content': prompt}
],
'stream': False # Set to True for streaming responses
}
response = requests.post(API_URL, headers=HEADERS, data=json.dumps(data))
if response.status_code == 200:
result = response.json()
return result['choices'][0]['message']['content'].strip()
else:
raise Exception(f"Error {response.status_code}: {response.text}")
Mari kita uraikan kode di atas secara lebih detail:
- Pustaka
requestsdanJSONdiimpor untuk melakukan permintaan HTTP POST ke API DeepSeek dan menangani pengodean payload permintaan ke format JSON. - Siapkan kunci API Anda dan base URL yang menentukan endpoint API DeepSeek untuk chat completions.
- Fungsi
get_deepseek_responsemengirimkan prompt pengguna ke API dan mengambil responsnya. - Kita menyusun payload permintaan dengan model yang ditentukan, riwayat pesan, dan preferensi streaming, lalu mengirim permintaan POST ke endpoint API dengan header dan payload JSON yang sesuai. Jika respons memiliki kode status 200, itu menandakan keberhasilan; balasan asisten diurai dan dikembalikan. Jika tidak, pengecualian akan dinaikkan dengan detail kesalahan.
Berikutnya, kita merancang fitur inti aplikasi.
Langkah 2: Merancang Fitur Inti
Kita akan mendefinisikan fungsi yang menerima cuplikan kode sebagai masukan dan menggunakan DeepSeek-V3 untuk menganalisisnya, memberikan umpan balik dan saran.
def review_code(code_snippet):
prompt = f"""
Code Snippet:
{code_snippet}
Task: Analyze the provided code snippet. Identify any errors or potential improvements, suggest optimizations, and provide alternative implementations if applicable.
"""
return get_deepseek_response(prompt)
Kita memiliki peninjau kode yang menerima cuplikan kode, menyematkannya ke dalam prompt bersama tugas, lalu meneruskan prompt akhir untuk mendapatkan respons dari model.
Selanjutnya, kita mengembangkan antarmuka web Gradio sederhana untuk aplikasi peninjau kode kita.
Langkah 3: Membuat Antarmuka Gradio
Gradio memungkinkan kita membuat antarmuka web interaktif untuk aplikasi. Cuplikan kode berikut membuat antarmuka web Gradio yang ramah pengguna untuk fungsi review_code(). Antarmuka Gradio menerima masukan pengguna dan meneruskannya ke model untuk divalidasi.
import gradio as gr
def code_reviewer_ui(code):
return review_code(code)
interface = gr.Interface(
fn=code_reviewer_ui,
inputs=gr.Code(language='python', lines=20, label="Paste your code here"),
outputs=gr.Textbox(label="Review Feedback"),
title="AI Code Reviewer Assistant",
description="Analyze your code snippets, receive feedback, and discover improvements.",
)
interface.launch(share=True)
Pengaturan di atas mencakup tiga komponen:
- Input: Komponen
gr.Codetempat pengguna dapat menempelkan kode mereka. - Output:
gr.Textboxyang menampilkan umpan balik dari DeepSeek V3. - Antarmuka:
gr.Interfacemenghubungkan input dan output, meluncurkan aplikasi web untuk interaksi pengguna.
Langkah 4: Uji Aplikasi
Mari kita uji aplikasi melalui contoh sederhana:

Saya mencoba beberapa contoh kode untuk menguji model ini dan setiap kali ia memberikan tinjauan yang benar.

Kesimpulan
Dalam tutorial ini, kita membangun asisten peninjau kode berbasis AI menggunakan DeepSeek V3 dan Gradio. Alat ini dapat menganalisis cuplikan kode, memberikan umpan balik konstruktif, dan menyarankan perbaikan, sehingga meningkatkan proses pengembangan Anda.
Silakan perluas kemampuannya atau integrasikan ke dalam proyek yang lebih besar untuk semakin mempermudah alur kerja pengodean Anda.
Untuk mempelajari lebih lanjut tentang ekosistem DeepSeek, saya merekomendasikan blog berikut:
Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.

