Milvus
Zilliz
  • Home
  • Blog
  • Gemini 3 Pro + Milvus: Membangun RAG yang Lebih Kuat Dengan Penalaran Tingkat Lanjut dan Kekuatan Multimodal

Gemini 3 Pro + Milvus: Membangun RAG yang Lebih Kuat Dengan Penalaran Tingkat Lanjut dan Kekuatan Multimodal

  • Tutorial
November 20, 2025
Lumina Wang

Google Gemini 3 Pro mendarat dengan jenis rilis langka yang benar-benar mengubah ekspektasi pengembang - bukan hanya hype, tetapi kemampuan yang secara material memperluas apa yang dapat dilakukan antarmuka bahasa alami. Ini mengubah "mendeskripsikan aplikasi yang Anda inginkan" menjadi alur kerja yang dapat dieksekusi: perutean alat yang dinamis, perencanaan multi-langkah, orkestrasi API, dan pembuatan UX interaktif yang semuanya disatukan dengan mulus. Ini adalah model yang paling dekat dengan model mana pun yang membuat vibe coding terasa layak untuk produksi.

Dan angka-angkanya mendukung narasinya. Gemini 3 Pro membukukan hasil yang luar biasa di hampir semua tolok ukur utama:

  • Humanity's Last Exam: 37,5% tanpa alat, 45,8% dengan alat - pesaing terdekat berada di angka 26,5%.

  • MathArena Apex: 23,4%, sementara sebagian besar model gagal menembus angka 2%.

  • ScreenSpot-Pro: Akurasi 72,7%, hampir dua kali lipat dari yang terbaik berikutnya, yaitu 36,2%.

  • Vending-Bench 2: Nilai bersih rata-rata sebesar $5.478,16, sekitar 1,4 kali lipat di atas posisi kedua.

Lihat tabel di bawah ini untuk hasil benchmark lainnya.

Kombinasi penalaran yang mendalam, penggunaan alat yang kuat, dan kefasihan multimodal membuat Gemini 3 Pro cocok untuk generasi retrieval-augmented (RAG). Pasangkan dengan Milvus, database vektor sumber terbuka berkinerja tinggi yang dibuat untuk pencarian semantik skala miliaran, dan Anda akan mendapatkan lapisan pengambilan yang mendasarkan respons, menskalakan dengan bersih, dan tetap dapat diandalkan dalam produksi, bahkan dalam beban kerja yang berat.

Dalam posting ini, kami akan menjelaskan apa yang baru di Gemini 3 Pro, mengapa Gemini 3 Pro meningkatkan alur kerja RAG, dan cara membangun pipeline RAG yang bersih dan efisien menggunakan Milvus sebagai tulang punggung pencarian Anda.

Peningkatan Utama di Gemini 3 Pro

Gemini 3 Pro memperkenalkan serangkaian peningkatan substansial yang membentuk kembali cara model menalar, membuat, menjalankan tugas, dan berinteraksi dengan pengguna. Peningkatan ini terbagi dalam empat area kemampuan utama:

Pemahaman dan Penalaran Multimodal

Gemini 3 Pro menetapkan rekor baru di seluruh tolok ukur multimodal yang penting, termasuk ARC-AGI-2 untuk penalaran visual, MMMU-Pro untuk pemahaman lintas modal, dan Video-MMMU untuk pemahaman video dan akuisisi pengetahuan. Model ini juga memperkenalkan Deep Think, mode penalaran yang diperluas yang memungkinkan pemrosesan logis multi-langkah yang terstruktur. Hal ini menghasilkan akurasi yang jauh lebih tinggi pada masalah yang kompleks di mana model rantai pemikiran tradisional cenderung gagal.

Pembuatan Kode

Model ini membawa pengkodean generatif ke tingkat yang baru. Gemini 3 Pro dapat menghasilkan SVG interaktif, aplikasi web lengkap, adegan 3D, dan bahkan game fungsional - termasuk lingkungan seperti Minecraft dan biliar berbasis browser - semuanya dari satu prompt bahasa alami. Manfaat pengembangan front-end terutama: model ini dapat membuat ulang desain UI yang sudah ada dengan ketepatan tinggi atau menerjemahkan tangkapan layar langsung ke dalam kode siap produksi, sehingga membuat UI berulang bekerja lebih cepat secara dramatis.

Agen AI dan Penggunaan Alat

Dengan izin pengguna, Gemini 3 Pro dapat mengakses data dari perangkat Google pengguna untuk melakukan tugas-tugas jangka panjang dan multi-langkah seperti merencanakan perjalanan atau memesan mobil sewaan. Kemampuan agen ini tercermin dalam kinerjanya yang kuat pada Vending-Bench 2, sebuah benchmark yang dirancang khusus untuk menguji penggunaan alat cakrawala panjang. Model ini juga mendukung alur kerja agen tingkat profesional, termasuk menjalankan perintah terminal dan berinteraksi dengan alat eksternal melalui API yang terdefinisi dengan baik.

UI Generatif

Gemini 3 Pro bergerak melewati model satu pertanyaan-satu-jawaban konvensional dan memperkenalkan UI generatif, di mana model ini dapat membangun seluruh pengalaman interaktif secara dinamis. Alih-alih mengembalikan teks statis, model ini dapat menghasilkan antarmuka yang sepenuhnya disesuaikan - misalnya, perencana perjalanan yang kaya dan dapat disesuaikan - secara langsung sebagai respons terhadap instruksi pengguna. Hal ini menggeser LLM dari perespon pasif menjadi generator antarmuka aktif.

Menguji Gemini 3 Pro

Di luar hasil benchmark, kami melakukan serangkaian pengujian langsung untuk memahami bagaimana Gemini 3 Pro berperilaku dalam alur kerja yang sesungguhnya. Hasilnya menyoroti bagaimana penalaran multimodal, kemampuan generatif, dan perencanaan jangka panjangnya diterjemahkan ke dalam nilai praktis bagi para pengembang.

Pemahaman multimodal

Gemini 3 Pro menunjukkan keserbagunaan yang mengesankan di seluruh teks, gambar, video, dan kode. Dalam pengujian kami, kami mengunggah video Zilliz langsung dari YouTube. Model ini memproses seluruh klip - termasuk narasi, transisi, dan teks di layar - dalam waktu kurang lebih 40 detik, perputaran yang sangat cepat untuk konten multimodal berdurasi panjang.

Evaluasi internal Google menunjukkan perilaku yang serupa: Gemini 3 Pro menangani resep tulisan tangan dalam berbagai bahasa, menyalin dan menerjemahkannya, serta menyusunnya menjadi buku resep keluarga yang dapat dibagikan.

Tugas Tanpa Jepretan

Gemini 3 Pro dapat menghasilkan UI web yang sepenuhnya interaktif tanpa contoh atau perancah sebelumnya. Ketika diminta untuk membuat game web pesawat ruang angkasa 3D retro-futuristik yang dipoles, model ini menghasilkan pemandangan interaktif yang lengkap: kisi-kisi neon-ungu, kapal bergaya cyberpunk, efek partikel yang bercahaya, dan kontrol kamera yang halus - semuanya dalam satu respons tanpa jepretan.

Perencanaan Tugas yang Kompleks

Model ini juga menunjukkan perencanaan tugas jangka panjang yang lebih kuat daripada kebanyakan model lainnya. Dalam pengujian pengaturan kotak masuk kami, Gemini 3 Pro berperilaku seperti asisten administratif AI: mengkategorikan email yang berantakan ke dalam ember proyek, menyusun saran yang dapat ditindaklanjuti (balas, tindak lanjuti, arsipkan), dan menyajikan ringkasan yang bersih dan terstruktur. Dengan rencana model yang telah disusun, seluruh kotak masuk dapat dibersihkan dengan satu klik konfirmasi.

Cara Membangun Sistem RAG dengan Gemini 3 Pro dan Milvus

Penalaran Gemini 3 Pro yang telah ditingkatkan, pemahaman multimodal, dan kemampuan penggunaan alat yang kuat menjadikannya fondasi yang sangat baik untuk sistem RAG berkinerja tinggi.

Ketika dipasangkan dengan Milvus, basis data vektor sumber terbuka berkinerja tinggi yang dibuat untuk pencarian semantik berskala besar, Anda akan mendapatkan pembagian tanggung jawab yang jelas: Gemini 3 Pro menangani interpretasi, penalaran, dan pembangkitan, sementara Milvus menyediakan lapisan pengambilan yang cepat dan dapat diskalakan yang membuat respons tetap berpijak pada data perusahaan Anda. Pasangan ini sangat cocok untuk aplikasi tingkat produksi seperti basis pengetahuan internal, asisten dokumen, kopilot dukungan pelanggan, dan sistem pakar khusus domain.

Prasyarat

Sebelum membangun pipeline RAG Anda, pastikan pustaka Python inti ini telah diinstal atau ditingkatkan ke versi terbarunya:

  • pymilvus - Milvus Python SDK resmi

  • google-generativeai - pustaka klien Gemini 3 Pro

  • request - untuk menangani panggilan HTTP jika diperlukan

  • tqdm - untuk bilah kemajuan selama konsumsi dataset

! pip install --upgrade pymilvus google-generativeai requests tqdm

Selanjutnya, masuk ke Google AI Studio untuk mendapatkan kunci API Anda.

import os
os.environ["GEMINI_API_KEY"] = "**********"

Mempersiapkan Dataset

Untuk tutorial ini, kita akan menggunakan bagian FAQ dari dokumentasi Milvus 2.4.x sebagai basis pengetahuan pribadi untuk sistem RAG kita.

Unduh arsip dokumentasi dan ekstrak ke dalam sebuah folder bernama milvus_docs.

! wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip
! unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs

Muat semua berkas penurunan harga dari jalur milvus_docs/en/faq. Untuk setiap dokumen, kami menerapkan pemisahan sederhana berdasarkan judul # untuk memisahkan secara kasar bagian utama dalam setiap file Markdown.

from glob import glob
text_lines = []
for file_path in glob("milvus_docs/en/faq/*.md", recursive=True):
    with open(file_path, "r") as file:
        file_text = file.read()
    text_lines += file_text.split("# ")

LLM dan Penyiapan Model Penyematan

Untuk tutorial ini, kita akan menggunakan gemini-3-pro-preview sebagai LLM dan text-embedding-004 sebagai model penyematan.

import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
gemini_model = genai.GenerativeModel("gemini-3-pro-preview")
response = gemini_model.generate_content("who are you")
print(response.text)

Tanggapan model: Saya Gemini, sebuah model bahasa besar yang dibangun oleh Google.

Anda dapat melakukan pemeriksaan cepat dengan membuat embedding uji dan mencetak dimensinya bersama dengan beberapa nilai pertama:

test_embeddings = genai.embed_content(
    model="models/text-embedding-004", content=["This is a test1", "This is a test2"]
)["embedding"]
embedding_dim = len(test_embeddings[0])
print(embedding_dim)
print(test_embeddings[0][:10])

Keluaran vektor uji:

768

[0.013588584, -0.004361838, -0.08481652, -0.039724775, 0.04723794, -0.0051557426, 0.026071774, 0.045514572, -0.016867816, 0.039378334]

Memuat Data ke dalam Milvus

Membuat Koleksi

from pymilvus import MilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
collection_name = "my_rag_collection"

Ketika membuat MilvusClient, Anda dapat memilih dari tiga opsi konfigurasi, tergantung pada skala dan lingkungan Anda:

  • Mode Lokal (Milvus Lite): Atur URI ke jalur file lokal (misalnya, ./milvus.db). Ini adalah cara termudah untuk memulai - Milvus Lite akan secara otomatis menyimpan semua data dalam file tersebut.

  • Milvus yang dihosting sendiri (Docker atau Kubernetes): Untuk kumpulan data yang lebih besar atau beban kerja produksi, jalankan Milvus di Docker atau Kubernetes. Tetapkan URI ke titik akhir server Milvus Anda, seperti http://localhost:19530.

  • Zilliz Cloud (layanan Milvus yang dikelola sepenuhnya): Jika Anda lebih memilih solusi terkelola, gunakan Zilliz Cloud. Atur URI ke Titik Akhir Publik Anda dan berikan kunci API Anda sebagai token autentikasi.

Sebelum membuat koleksi baru, periksa terlebih dahulu apakah koleksi tersebut sudah ada. Jika sudah ada, hapus dan buat ulang untuk memastikan penyiapan yang bersih.

if milvus_client.has_collection(collection_name):
    milvus_client.drop_collection(collection_name)

Buat koleksi baru dengan parameter yang ditentukan.

Jika tidak ada skema yang disediakan, Milvus secara otomatis membuat bidang ID default sebagai kunci utama dan bidang vektor untuk menyimpan penyematan. Milvus juga menyediakan bidang dinamis JSON yang dicadangkan, yang menangkap setiap bidang tambahan yang tidak didefinisikan dalam skema.

milvus_client.create_collection(
    collection_name=collection_name,
    dimension=embedding_dim,
    metric_type="COSINE",
    consistency_level="Strong",  # Strong consistency level
)

Menyisipkan Data

Lakukan iterasi pada setiap entri teks, hasilkan vektor penyematannya, dan sisipkan data ke dalam Milvus. Pada contoh ini, kita menyertakan bidang tambahan bernama text. Karena field ini tidak didefinisikan sebelumnya di dalam skema, Milvus secara otomatis menyimpannya menggunakan field JSON dinamis di bawahnya - tidak perlu pengaturan tambahan.

from tqdm import tqdm
data = []
doc_embeddings = genai.embed_content(
    model="models/text-embedding-004", content=text_lines
)["embedding"]
for i, line in enumerate(tqdm(text_lines, desc="Creating embeddings")):
    data.append({"id": i, "vector": doc_embeddings[i], "text": line})
milvus_client.insert(collection_name=collection_name, data=data)

Contoh keluaran:

Creating embeddings: 100%|█████████████████████████| 72/72 [00:00<00:00, 431414.13it/s]
{'insert_count': 72, 'ids': [0, 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], 'cost': 0}

Membangun Alur Kerja RAG

Mengambil Data yang Relevan

Untuk menguji pengambilan data, kami mengajukan pertanyaan umum tentang Milvus.

question = "How is data stored in milvus?"

Telusuri koleksi untuk pertanyaan tersebut dan kembalikan 3 hasil teratas yang paling relevan.

question_embedding = genai.embed_content(
    model="models/text-embedding-004", content=question
)["embedding"]
search_res = milvus_client.search(
    collection_name=collection_name,
    data=[question_embedding],
    limit=3,  # Return top 3 results
    search_params={"metric_type": "COSINE", "params": {}},  # Inner product distance
    output_fields=["text"],  # Return the text field
)
import json
retrieved_lines_with_distances = [
    (res["entity"]["text"], res["distance"]) for res in search_res[0]
]
print(json.dumps(retrieved_lines_with_distances, indent=4))

Hasilnya dikembalikan dalam urutan kemiripan, dari yang paling mirip hingga yang paling tidak mirip.

[
    [
        " Where does Milvus store data?\n\nMilvus deals with two types of data, inserted data and metadata. \n\nInserted data, including vector data, scalar data, and collection-specific schema, are stored in persistent storage as incremental log. Milvus supports multiple object storage backends, including [MinIO](
https://min.io/
), [AWS S3](
https://aws.amazon.com/s3/?nc1=h_ls
), [Google Cloud Storage](
https://cloud.google.com/storage?hl=en#object-storage-for-companies-of-all-sizes
) (GCS), [Azure Blob Storage](
https://azure.microsoft.com/en-us/products/storage/blobs
), [Alibaba Cloud OSS](
https://www.alibabacloud.com/product/object-storage-service
), and [Tencent Cloud Object Storage](
https://www.tencentcloud.com/products/cos
) (COS).\n\nMetadata are generated within Milvus. Each Milvus module has its own metadata that are stored in etcd.\n\n###",
        0.8048489093780518
    ],
    [
        "Does the query perform in memory? What are incremental data and historical data?\n\nYes. When a query request comes, Milvus searches both incremental data and historical data by loading them into memory. Incremental data are in the growing segments, which are buffered in memory before they reach the threshold to be persisted in storage engine, while historical data are from the sealed segments that are stored in the object storage. Incremental data and historical data together constitute the whole dataset to search.\n\n###",
        0.757495105266571
    ],
    [
        "What is the maximum dataset size Milvus can handle?\n\n  \nTheoretically, the maximum dataset size Milvus can handle is determined by the hardware it is run on, specifically system memory and storage:\n\n- Milvus loads all specified collections and partitions into memory before running queries. Therefore, memory size determines the maximum amount of data Milvus can query.\n- When new entities and and collection-related schema (currently only MinIO is supported for data persistence) are added to Milvus, system storage determines the maximum allowable size of inserted data.\n\n###",
        0.7453694343566895
    ]
]

Hasilkan Tanggapan RAG dengan LLM

Setelah mengambil dokumen, ubahlah menjadi format string

context = "\n".join(
    [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)

Berikan LLM dengan perintah sistem dan perintah pengguna, keduanya dibuat dari dokumen yang diambil dari Milvus.

SYSTEM_PROMPT = """
Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.
"""
USER_PROMPT = f"""
Use the following pieces of information enclosed in <context> tags to provide an answer to the question enclosed in <question> tags.
<context>
{context}
</context>
<question>
{question}
</question>
"""

Gunakan model gemini-3-pro-preview bersama dengan prompt ini untuk menghasilkan respons akhir.

gemini_model = genai.GenerativeModel(
    "gemini-3-pro-preview", system_instruction=SYSTEM_PROMPT
)
response = gemini_model.generate_content(USER_PROMPT)
print(response.text)

Dari hasil keluarannya, Anda dapat melihat bahwa Gemini 3 Pro menghasilkan jawaban yang jelas dan terstruktur dengan baik berdasarkan informasi yang diambil.

Based on the provided documents, Milvus stores data in the following ways:
*   **Inserted Data:** Vector data, scalar data, and collection-specific schema are stored in persistent storage as an incremental log. Milvus supports multiple object storage backends for this purpose, including:
    *   MinIO
    *   AWS S3
    *   Google Cloud Storage (GCS)
    *   Azure Blob Storage
    *   Alibaba Cloud OSS
    *   Tencent Cloud Object Storage (COS)
*   **Metadata:** Metadata generated within Milvus modules is stored in **etcd**.
*   **Memory Buffering:** Incremental data (growing segments) are buffered in memory before being persisted, while historical data (sealed segments) resides in object storage but is loaded into memory for querying.

Catatan: Gemini 3 Pro saat ini tidak tersedia untuk pengguna tingkat gratis. Klik di sini untuk informasi lebih lanjut.

Anda dapat mengaksesnya melalui OpenRouter:

from openai import OpenAI
client = OpenAI(
  base_url="https://openrouter.ai/api/v1",
  api_key="<OPENROUTER_API_KEY>",
)
response2 = client.chat.completions.create(
  model="google/gemini-3-pro-preview",
  messages=[
        {
            "role": "system",
            "content": SYSTEM_PROMPT
        },
        {
            "role": "user", 
            "content": USER_PROMPT
        }
    ],
  extra_body={"reasoning": {"enabled": True}}
)
response_message = response2.choices[0].message
print(response_message.content)

Satu Hal Lagi: Pengkodean Getaran dengan Google Antigravity

Bersamaan dengan Gemini 3 Pro, Google memperkenalkan Google Antigravity, sebuah platform pengkodean video yang berinteraksi secara mandiri dengan editor, terminal, dan browser Anda. Tidak seperti alat bantuan AI sebelumnya yang menangani instruksi satu kali, Antigravity beroperasi pada tingkat yang berorientasi pada tugas - memungkinkan pengembang untuk menentukan apa yang ingin mereka buat sementara sistem mengatur caranya, mengatur alur kerja lengkap dari ujung ke ujung.

Alur kerja pengkodean AI tradisional biasanya menghasilkan potongan-potongan yang terisolasi yang masih harus ditinjau, diintegrasikan, di-debug, dan dijalankan secara manual oleh pengembang. Antigravitasi mengubah dinamika itu. Anda cukup mendeskripsikan tugas - misalnya, "Buat game interaksi hewan peliharaan sederhana " - dan sistem akan menguraikan permintaan, membuat kode, menjalankan perintah terminal, membuka browser untuk menguji hasilnya, dan mengulanginya hingga berhasil. Hal ini meningkatkan AI dari mesin pelengkapan otomatis yang pasif menjadi mitra teknik yang aktif - yang mempelajari preferensi Anda dan beradaptasi dengan gaya pengembangan pribadi Anda dari waktu ke waktu.

Ke depannya, ide tentang agen yang berkoordinasi langsung dengan database bukanlah hal yang mengada-ada. Dengan pemanggilan alat melalui MCP, AI pada akhirnya dapat membaca dari basis data Milvus, mengumpulkan basis pengetahuan, dan bahkan memelihara jalur pengambilannya sendiri secara mandiri. Dalam banyak hal, pergeseran ini bahkan lebih signifikan daripada peningkatan model itu sendiri: begitu AI dapat mengambil deskripsi tingkat produk dan mengubahnya menjadi urutan tugas yang dapat dieksekusi, upaya manusia secara alami bergeser ke arah mendefinisikan tujuan, kendala, dan seperti apa "kebenaran" itu - pemikiran tingkat yang lebih tinggi yang benar-benar mendorong pengembangan produk.

Siap Membangun?

Jika Anda siap untuk mencobanya, ikuti tutorial langkah demi langkah kami dan buat sistem RAG dengan Gemini 3 Pro + Milvus hari ini.

Ada pertanyaan atau ingin mendalami fitur apa pun? Bergabunglah dengan saluran Discord kami atau ajukan pertanyaan di GitHub. Anda juga dapat memesan sesi tatap muka selama 20 menit untuk mendapatkan wawasan, panduan, dan jawaban atas pertanyaan Anda melalui Milvus Office Hours.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Terus Baca