Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pengantar penelusuran vektor
Dokumen ini memberikan ringkasan tentang penelusuran vektor di BigQuery. Penelusuran
vektor adalah teknik untuk membandingkan objek serupa menggunakan penyematan, dan
digunakan untuk mendukung produk Google, termasuk Google Penelusuran,
YouTube, dan Google Play. Anda dapat menggunakan penelusuran vektor untuk melakukan penelusuran dalam skala besar. Saat menggunakan indeks vektor
dengan penelusuran vektor, Anda dapat memanfaatkan teknologi dasar seperti
indeks file terbalik (IVF) dan
algoritma ScaNN.
Penelusuran vektor dibuat berdasarkan embedding. Embedding adalah vektor numerik berdimensi tinggi yang mewakili entitas tertentu, seperti potongan teks atau file audio.
Model machine learning (ML) menggunakan penyematan untuk mengenkode semantik tentang entity tersebut
agar lebih mudah untuk memahami dan membandingkannya. Misalnya, operasi umum dalam model pengelompokan, klasifikasi, dan rekomendasi adalah
mengukur jarak antara vektor dalam
ruang embedding untuk menemukan item
yang paling mirip secara semantik.
Konsep kemiripan dan jarak semantik dalam ruang penyematan ini
ditunjukkan secara visual saat Anda mempertimbangkan cara plot item yang berbeda.
Misalnya, istilah seperti kucing, , dan singa, yang semuanya mewakili jenis
binatang, dikelompokkan berdekatan dalam ruang ini karena karakteristik semantiknya
yang sama. Demikian pula, istilah seperti mobil, truk, dan istilah yang lebih umum
kendaraan akan membentuk cluster lain. Hal ini ditunjukkan dalam gambar berikut:
Anda dapat melihat bahwa cluster hewan dan kendaraan diposisikan jauh
dari satu sama lain. Pemisahan antargrup mengilustrasikan prinsip
bahwa semakin dekat objek dalam ruang penyematan, semakin semantik
objek tersebut, dan jarak yang lebih besar menunjukkan ketidaksamaan semantik yang lebih besar.
BigQuery menyediakan pengalaman menyeluruh untuk membuat
penyematan, mengindeks konten, dan melakukan penelusuran vektor. Anda dapat menyelesaikan
setiap tugas ini secara terpisah, atau dalam satu perjalanan. Untuk tutorial
yang menunjukkan cara menyelesaikan semua tugas ini, lihat
Melakukan penelusuran semantik dan retrieval augmented generation.
Untuk melakukan penelusuran vektor menggunakan SQL, Anda menggunakan
fungsi VECTOR_SEARCH.
Secara opsional, Anda dapat membuat indeks vektor dengan menggunakan pernyataan CREATE VECTOR INDEX.
Saat indeks vektor digunakan, VECTOR_SEARCH menggunakan teknik penelusuran Approximate Nearest Neighbor untuk meningkatkan performa penelusuran vektor, dengan kompromi pengurangan recall sehingga menampilkan hasil yang lebih mendekati. Tanpa indeks vektor,
VECTOR_SEARCH menggunakan
penelusuran brute force
untuk mengukur jarak setiap data. Anda juga dapat memilih untuk menggunakan brute force untuk mendapatkan hasil yang tepat meskipun indeks vektor tersedia.
Kombinasi pembuatan penyematan dan penelusuran vektor memungkinkan banyak
kasus penggunaan yang menarik. Beberapa kemungkinan kasus penggunaan adalah sebagai berikut:
Merekomendasikan produk pengganti atau produk yang cocok: Tingkatkan
aplikasi e-commerce dengan menyarankan alternatif produk berdasarkan perilaku
pelanggan dan kesamaan produk.
Analisis log: Membantu tim melakukan triage anomali secara proaktif dalam log dan mempercepat investigasi. Anda juga dapat menggunakan kemampuan ini untuk memperkaya
konteks untuk LLM, guna meningkatkan alur kerja deteksi ancaman, forensik, dan
pemecahan masalah. Untuk notebook yang mengilustrasikan skenario ini, lihat Pendeteksian & Investigasi Anomali Log dengan Embedding Teks + Penelusuran Vektor BigQuery.
Pengelompokan dan penargetan: Segmentasikan audiens dengan presisi. Misalnya,
jaringan rumah sakit dapat mengelompokkan pasien menggunakan catatan bahasa alami dan
data terstruktur, atau pemasar dapat menargetkan iklan berdasarkan intent kueri.
Untuk notebook yang mengilustrasikan skenario ini, lihat Create-Campaign-Customer-Segmentation.
Resolusi dan penghapusan duplikat entitas: Membersihkan dan menggabungkan data.
Misalnya, perusahaan periklanan dapat menghapus duplikat data informasi
identitas pribadi (PII), atau
perusahaan real estate dapat mengidentifikasi alamat surat yang cocok.
Fungsi VECTOR_SEARCH: Anda akan ditagih untuk penelusuran kesamaan, menggunakan harga sesuai permintaan atau edisi.
On-demand: Anda akan ditagih berdasarkan jumlah byte yang dipindai di tabel dasar, indeks, dan kueri penelusuran.
Harga edisi: Anda akan ditagih untuk slot yang diperlukan guna menyelesaikan tugas dalam edisi reservasi. Penghitungan kemiripan yang lebih besar dan lebih kompleks akan dikenai biaya lebih banyak.
Pernyataan CREATE VECTOR INDEX: Pemrosesan yang diperlukan untuk membuat dan memuat ulang indeks vektor tidak dikenai biaya selama ukuran total data tabel yang diindeks berada di bawah batas per organisasi. Untuk
mendukung pengindeksan di luar batas ini, Anda harus
menyediakan pemesanan sendiri
untuk menangani tugas pengelolaan indeks.
Penyimpanan juga merupakan pertimbangan untuk penyematan dan indeks. Jumlah byte yang disimpan sebagai penyematan dan indeks akan dikenai biaya penyimpanan aktif.
Indeks vektor akan dikenai biaya penyimpanan saat aktif.
Anda dapat menemukan ukuran penyimpanan indeks menggunakan
tampilan INFORMATION_SCHEMA.VECTOR_INDEXES.
Jika indeks vektor belum mencapai cakupan 100%, Anda tetap akan ditagih untuk
apa pun yang telah diindeks. Anda dapat memeriksa cakupan indeks menggunakan
tampilan INFORMATION_SCHEMA.VECTOR_INDEXES.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eVector search in BigQuery allows searching embeddings to identify semantically similar entities, using high-dimensional numerical vectors that represent data like text or audio.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e function, optionally enhanced by a vector index, enables this search, with the index improving performance through Approximate Nearest Neighbor search, and brute force offering an alternative to get exact results.\u003c/p\u003e\n"],["\u003cp\u003eEmbedding generation combined with vector search powers use cases like retrieval-augmented generation (RAG), resolving similar support cases, patient profile matching, and analyzing sensor data.\u003c/p\u003e\n"],["\u003cp\u003ePricing for \u003ccode\u003eCREATE VECTOR INDEX\u003c/code\u003e and \u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e falls under BigQuery compute pricing, with free indexing up to a per-organization limit, after which users need to use their own reservations to index.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eVECTOR_SEARCH\u003c/code\u003e queries aren't supported by BigQuery BI Engine, and BigQuery's data security and governance rules apply to its use.\u003c/p\u003e\n"]]],[],null,["# Introduction to vector search\n=============================\n\nThis document provides an overview of\n[vector search](/bigquery/docs/vector-search) in BigQuery. Vector\nsearch is a technique to compare similar objects using embeddings, and it\nis used to power Google products, including Google Search,\nYouTube, and Google Play. You can use vector search to perform\nsearches at scale. When you use [vector indexes](/bigquery/docs/vector-index)\nwith vector search, you can take advantage of foundational technologies like\ninverted file indexing (IVF) and the\n[ScaNN algorithm](https://research.google/blog/announcing-scann-efficient-vector-similarity-search/).\n\nVector search is built on embeddings. Embeddings are high-dimensional numerical\nvectors that represent a given entity, like a piece of text or an audio file.\nMachine learning (ML) models use embeddings to encode semantics about such\nentities to make it easier to reason about and compare them. For example, a\ncommon operation in clustering, classification, and recommendation models is to\nmeasure the distance between vectors in an\n[embedding space](https://en.wikipedia.org/wiki/Latent_space) to find items\nthat are most semantically similar.\n\nThis concept of semantic similarity and distance in an embedding space is\nvisually demonstrated when you consider how different items might be plotted.\nFor example, terms like *cat* , *dog* , and *lion* , which all represent types of\nanimals, are grouped close together in this space due to their shared semantic\ncharacteristics. Similarly, terms like *car* , *truck* , and the more generic term\n*vehicle* would form another cluster. This is shown in the following image:\n\nYou can see that the animal and vehicle clusters are positioned far apart\nfrom each other. The separation between the groups illustrates the principle\nthat the closer objects are in the embedding space, the more semantically\nsimilar they are, and greater distances indicate greater semantic dissimilarity.\n\nBigQuery provides an end-to-end experience for generating\nembeddings, indexing content, and performing vector searches. You can complete\neach of these tasks independently, or in a single journey. For a tutorial\nthat shows how to complete all of these tasks, see\n[Perform semantic search and retrieval-augmented generation](/bigquery/docs/vector-index-text-search-tutorial).\n\nTo perform a vector search by using SQL, you use the\n[`VECTOR_SEARCH` function](/bigquery/docs/reference/standard-sql/search_functions#vector_search).\nYou can optionally create a [vector index](/bigquery/docs/vector-index) by\nusing the\n[`CREATE VECTOR INDEX` statement](/bigquery/docs/reference/standard-sql/data-definition-language#create_vector_index_statement).\nWhen a vector index is used, `VECTOR_SEARCH` uses the\n[Approximate Nearest Neighbor](https://en.wikipedia.org/wiki/Nearest_neighbor_search#Approximation_methods)\nsearch technique to improve vector search performance, with the\ntrade-off of reducing\n[recall](https://developers.google.com/machine-learning/crash-course/classification/precision-and-recall#recallsearch_term_rules)\nand so returning more approximate results. Without a vector index,\n`VECTOR_SEARCH` uses\n[brute force search](https://en.wikipedia.org/wiki/Brute-force_search)\nto measure distance for every record. You can also choose to use brute\nforce to get exact results even when a vector index is available.\n\nThis document focuses on the SQL approach, but you can also perform\nvector searches by using BigQuery DataFrames in Python. For a notebook\nthat illustrates the Python approach, see\n[Build a Vector Search application using BigQuery DataFrames](https://github.com/googleapis/python-bigquery-dataframes/blob/main/notebooks/generative_ai/bq_dataframes_llm_vector_search.ipynb).\n\nUse cases\n---------\n\nThe combination of embedding generation and vector search enables many\ninteresting use cases. Some possible use cases are as follows:\n\n- **[Retrieval-augmented generation (RAG)](/use-cases/retrieval-augmented-generation):** Parse documents, perform vector search on content, and generate summarized answers to natural language questions using Gemini models, all within BigQuery. For a notebook that illustrates this scenario, see [Build a Vector Search application using BigQuery DataFrames](https://github.com/googleapis/python-bigquery-dataframes/blob/main/notebooks/generative_ai/bq_dataframes_llm_vector_search.ipynb).\n- **Recommending product substitutes or matching products:** Enhance ecommerce applications by suggesting product alternatives based on customer behavior and product similarity.\n- **Log analytics:** Help teams proactively triage anomalies in logs and accelerate investigations. You can also use this capability to enrich context for LLMs, in order to improve threat detection, forensics, and troubleshooting workflows. For a notebook that illustrates this scenario, see [Log Anomaly Detection \\& Investigation with Text Embeddings + BigQuery Vector Search](https://github.com/GoogleCloudPlatform/generative-ai/blob/main/embeddings/use-cases/outlier-detection/bq-vector-search-outlier-detection-audit-logs.ipynb).\n- **Clustering and targeting:** Segment audiences with precision. For example, a hospital chain could cluster patients using natural language notes and structured data, or a marketer could target ads based on query intent. For a notebook that illustrates this scenario, see [Create-Campaign-Customer-Segmentation](https://github.com/GoogleCloudPlatform/chocolate-ai/blob/main/colab-enterprise/Create-Campaign-Customer-Segmentation.ipynb).\n- **Entity resolution and deduplication:** Cleanse and consolidate data. For example, an advertising company could deduplicate personally identifiable information (PII) records, or a real estate company could identify matching mailing addresses.\n\nPricing\n-------\n\nThe `VECTOR_SEARCH` function and the `CREATE VECTOR INDEX` statement use\n[BigQuery compute pricing](/bigquery/pricing#analysis_pricing_models).\n\n- `VECTOR_SEARCH` function: You are charged for similarity search, using\n on-demand or editions pricing.\n\n - On-demand: You are charged for the amount of bytes scanned in the base table, the index, and the search query.\n - Editions pricing: You are charged for the slots required to complete\n the job within your reservation edition. Larger, more complex\n similarity calculations incur more charges.\n\n | **Note:** Using an index isn't supported in [Standard editions](/bigquery/docs/editions-intro).\n- `CREATE VECTOR INDEX` statement: There is no charge for the processing\n required to build and refresh your vector indexes as long as the total\n size of the indexed table data is below your per-organization\n [limit](/bigquery/quotas#vector_index_maximum_table_size). To\n support indexing beyond this limit, you must\n [provide your own reservation](/bigquery/docs/vector-index#use_your_own_reservation)\n for handling the index management jobs.\n\nStorage is also a consideration for embeddings and indexes. The amount of bytes\nstored as embeddings and indexes are subject to\n[active storage costs](/bigquery/pricing#storage).\n\n- Vector indexes incur storage costs when they are active.\n- You can find the index storage size by using the [`INFORMATION_SCHEMA.VECTOR_INDEXES` view](/bigquery/docs/information-schema-vector-indexes). If the vector index is not yet at 100% coverage, you are still charged for whatever has been indexed. You can check index coverage by using the `INFORMATION_SCHEMA.VECTOR_INDEXES` view.\n\nQuotas and limits\n-----------------\n\nFor more information, see\n[Vector index limits](/bigquery/quotas#vector_index_limits).\n\nLimitations\n-----------\n\nQueries that contain the `VECTOR_SEARCH` function aren't accelerated by\n[BigQuery BI Engine](/bigquery/docs/bi-engine-intro).\n\nWhat's next\n-----------\n\n- Learn more about [creating a vector index](/bigquery/docs/vector-index).\n- Learn how to perform a vector search using the [`VECTOR_SEARCH`\n function](/bigquery/docs/reference/standard-sql/search_functions#vector_search).\n- Try the [Search embeddings with vector search](/bigquery/docs/vector-search) tutorial to learn how to create a vector index, and then do a vector search for embeddings both with and without the index.\n- Try the [Perform semantic search and retrieval-augmented generation](/bigquery/docs/vector-index-text-search-tutorial)\n tutorial to learn how to do the following tasks:\n\n - Generate text embeddings.\n - Create a vector index on the embeddings.\n - Perform a vector search with the embeddings to search for similar text.\n - Perform retrieval-augmented generation (RAG) by using vector search results to augment the prompt input and improve results.\n- Try the [Parse PDFs in a retrieval-augmented generation pipeline](/bigquery/docs/rag-pipeline-pdf)\n tutorial to learn how to create a RAG pipeline based on parsed PDF content."]]