
_Source: Gartner (2023)_
Menurut Gartner,"Menang Cepat" adalah kasus penggunaan yang:
Proyek ini sangat cocok untuk organisasi yang berupaya mencapai ROI (Return On Investment) awal dari AI generatif tanpa perubahan besar dalam infrastruktur.
Solusi kami menjadikan Menang Cepat sebagai contoh karena:

_Source: Gartner, Inc. (2024)_
Dalam analisis Gartner, pembuatan kode(termasuk text-to-SQL) terbagi dalam kuadran "Mungkin Menang"—kelayakan tinggi, nilai tinggi, risiko rendah. Poin penting
1. Efisiensi Biaya:
2. Skalabilitas:
3. Time-to-Value yang Cepat:
Dengan mengadopsi solusi text to-SQL, organisasi selaras dengan rekomendasi Gartner untuk memprioritaskan inisiatif AI berdampak tinggi dengan risiko rendah. Ini bukan sekadar otomatisasi—ini tentang membuka produktivitas dan mempercepat keputusan berbasis data dengan investasi minimal di depan.
Untuk wawasan yang lebih mendalam, jelajahi laporan Gartner:
Struktur ini menekankan keselarasan bisnis, mitigasi risiko, dan ROI pragmatis-sangat cocok untuk para eksekutif dan pengambil keputusan.

Menulis kueri SQL itu memakan waktu, rawan kesalahan, dan mahal. Apakah Anda menganalisis data pelanggan atau membuat laporan, menerjemahkan pertanyaan bahasa alami ke dalam SQL membutuhkan pemahaman mendalam tentang database. Bagaimana jika Anda bisa mengotomatisasi proses ini menggunakan AI, dan menghemat biaya?
Dalam artikel ini, kita akan membangunchatbot text-to-SQL yang didukung oleh Qwen3 Alibaba Cloud (kita akan menggunakan Qwen-Max dalam contoh ini), sebuah model bahasa besar (LLM) yang canggih. Chatbot ini terhubung ke database PostgreSQL, mengubah kueri manusia menjadi SQL, dan memberikan hasil—semua tanpa menulis satu baris SQL pun secara manual.
Anda akan mengurangi waktu pengembangan dan pengeluaran cloud dengan harga API hemat biaya Alibaba Cloud dan akurasi tinggi Qwen-Max.
Kunjungi Alibaba Cloud dandaftar. Setelah masuk, buka tautan konsol Model Studio ([](https://www.alibabacloud.com/en/product/modelstudio)).
Buka tautan halaman Manajemen Kunci API ([](https://bailian.console.alibabacloud.com/?tab=app#/api-key)) dan buat kunci API baru. Simpan dengan aman—ini adalah token akses Anda ke Qwen-Max.
Buat lingkungan virtual dan instal dependensi:
# Buat lingkungan virtual
python3 -m venv venv
source venv/bin/activate
# Instal paket yang diperlukan
pip install openai python-dotenv psycopg2-binary tabulate
Simpan yang berikut ini dalam requirements.txt:
openai
python-dotenv
psycopg2-binary
tabulate
Jalankan pengujian cepat menggunakan kode contoh yang disediakan untuk memastikan kunci Anda berfungsi.
import os
from openai import OpenAI
try:
client = OpenAI(
# Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus", # Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
messages=[
{'role': 'system', 'content': 'Anda asisten yang sangat membantu.'},
{'role': 'user', 'content': 'Siapa Anda?'}
]
)
print(completion.choices[0].message.content)
except Exception as e:
print(f"Pesan kesalahan: {e}")
print("Untuk informasi lebih lanjut, lihat: https://www.alibabacloud.com/help/en/model-studio/developer-reference/error-code")
Gunakan ApsaraDB for PostgreSQL untuk menyiapkan instans PostgreSQL terkelola. Lihat dokumentasi ini untuk detailnya.
Opsi lainnya adalah mengikuti panduan langkah demi langkah ini untuk menyediakan database PostgreSQL 17 di Alibaba Cloud dan menghubungkannya ke mesin lokal Anda menggunakan psql.

Gunakan antarmuka yang ditunjukkan dalam gambar di atas untuk menyiapkan instans PostgreSQL 17 Anda:
| Pengaturan | Tindakan |
|---|---|
| Wilayah | Pilih wilayah (misalnya, Singapura). |
| Mesin Database | Pilih PostgreSQL dan pilihversi 17 dari dropdown. |
| Otorisasi SLR | Pastikan 'Diotorisasi' dicentang untuk keamanan yang ditingkatkan. |
| Edisi | Pilih Edisi Ketersediaan Tinggi untuk redundansi. |
| Jenis Produk | Pilih Standar untuk sebagian besar kasus penggunaan. |
| Jenis Penyimpanan | Pilih ESSD Premium untuk I/O berperforma tinggi. |
| Jenis Jaringan | Pilih VPC untuk isolasi yang aman. |
| Tambahkan ke Daftar Putih | Aktifkan Ya untuk mengizinkan koneksi dari IP atau VPC lokal Anda. |
Setelah instans aktif:
psql
Instal psql di mesin lokal Anda (jika belum diinstal), kemudian hubungkan mengunakan:
psql -h <ENDPOINT> -U <USERNAME> -d <DATABASE_NAME> -p <PORT>
Ganti placeholder dengan nilai Anda (misalnya,-d postgres untuk database default).
Untuk detail konfigurasi yang lebih mendalam, lihat dokumentasi resmi Alibaba Cloud:
di macOS/Linux, jalankan:
brew install postgresql # macOS
sudo apt install postgresql-client # Ubuntu
Unduh contoh database Penyewaan DVD dan pulihkan:
# Restore the database
pg_restore -U your_user -h your_host -p your_port -d dvdrental dump_file.tar
psql atau pgAdminJalankan contoh kueri untuk mengonfirmasi semuanya berfungsi:
SELECT * FROM film LIMIT 5;
Skrip berikut menggunakan Qwen-Max untuk mengonversi kueri bahasa alami menjadi SQL dan menjalankannya di PostgreSQL.
import os
import psycopg2
from openai import OpenAI
from dotenv import load_dotenv
from tabulate import tabulate
load_dotenv()
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
)
def generate_sql_query(natural_language_query):
system_prompt = """
Anda asisten yang sangat membantu yang dilatih untuk mengonversi kueri bahasa alami menjadi pernyataan SQL.
Skema database mencakup tabel berikut:
- film_category (category_id, name)
- film (film_id, title, category_id)
- inventory (inventory_id, film_id, store_id)
- rental (rental_id, inventory_id, customer_id, return_date, rental_date)
- payment (payment_id, customer_id, staff_id, rental_id, amount, payment_date)
Buat kueri SQL valid yang menjawab pertanyaan pengguna.
"""
response = client.chat.completions.create(
model="qwen-max",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": natural_language_query}
],
temperature=0.2
)
sql_query = response.choices[0].message.content.strip()
# Ekstrak SQL antara "```sql" dan "```"
start_marker = "```sql"
end_marker = "```"
start_idx = sql_query.find(start_marker)
end_idx = sql_query.find(end_marker, start_idx + len(start_marker))
if start_idx != -1 and end_idx != -1:
sql_query = sql_query[start_idx + len(start_marker):end_idx]
elif start_idx != -1:
sql_query = sql_query[start_idx + len(start_marker):]
elif end_idx != -1:
sql_query = sql_query[:end_idx]
sql_query = sql_query.strip()
# Kembali ke kata kunci 'pilih'
if not sql_query.lower().startswith("select"):
select_index = sql_query.lower().find("select")
if select_index != -1:
sql_query = sql_query[select_index:]
return sql_query.strip()
def execute_sql_query(sql_query):
conn = psycopg2.connect(
dbname=os.getenv("DB_NAME"),
user=os.getenv("DB_USER"),
password=os.getenv("DB_PASSWORD"),
host=os.getenv("DB_HOST"),
port=os.getenv("DB_PORT")
)
cursor = conn.cursor()
try:
cursor.execute(sql_query)
columns = [desc[0] for desc in cursor.description]
rows = cursor.fetchall()
return columns, rows
except Exception as e:
print(f"Kesalahan saat menjalankan SQL: {e}")
return [], []
finally:
cursor.close()
conn.close()
def main():
user_query = "tampilkan jumlah total berdasarkan masing-masing id pembayaran yang lebih besar dari 10"
print("Menghasilkan kueri SQL...")
sql_query = generate_sql_query(user_query)
print("SQL Dihasilkan:")
print(sql_query)
print("\nMenjalankan kueri SQL...")
columns, rows = execute_sql_query(sql_query)
if columns and rows:
print("\nHasil Kueri:")
print(tabulate(rows, headers=columns, tablefmt="psql"))
else:
print("Tidak ada hasil.")
if __name__ == "__main__":
main()
generate_sql_query(): Menggunakan Qwen-Max untuk mengonversi bahasa alami menjadi SQL.execute_sql_query(): Menghubungkan ke PostgreSQL dan menjalankan SQL yang dihasilkan SQL.main(): Mengatur alur.
Hasilnya seharusnya mirip dengan gambar di atas. Selain itu, kode ini dapat dikembangkan lebih jauh dan dimodifikasi untuk membuat dasbor, dan akan diintegrasikan dengan ChatBI. Tidak secanggih ChatBI QuickBI, tetapi, ini adalah awal yang baik.
psql atau pgAdmin sebelum menjalankan di Python.print(repr(sql_query)) untuk men-debug karakter tersembunyi.Chatbot ini hanyalah permulaan. Dengan seri Qwen dari Alibaba Cloud, Anda dapat memperluas ke:
Siap untuk memangkas biaya dan meningkatkan produktivitas? Mulai dengan chatbot text to SQL ini– dan buka potensi penuh otomatisasi yang didukung AI.
Artikel ini diterjemahkan dari bahasa Inggris. Lihat artikel aslinyadi sini.
125 posts | 4 followers
FollowRegional Content Hub - July 14, 2025
Regional Content Hub - May 6, 2024
Regional Content Hub - April 1, 2024
Regional Content Hub - August 19, 2024
Regional Content Hub - December 30, 2024
Alibaba Cloud Indonesia - November 7, 2025
125 posts | 4 followers
Follow
Tongyi Qianwen (Qwen)
Top-performance foundation models from Alibaba Cloud
Learn More
Alibaba Cloud Model Studio
A one-stop generative AI platform to build intelligent applications that understand your business, based on Qwen model series such as Qwen-Max and other popular models
Learn More
AI Acceleration Solution
Accelerate AI-driven business and AI model training and inference with Alibaba Cloud GPU technology
Learn More
Alibaba Cloud for Generative AI
Accelerate innovation with generative AI to create new business success
Learn MoreMore Posts by Regional Content Hub