Mencari informasi adalah salah satu penggunaan paling umum dari kecerdasan model generatif kecerdasan (AI). Membangun antarmuka penelusuran percakapan untuk konten Anda menggunakan AI memungkinkan pengguna untuk mengajukan pertanyaan spesifik dan jawaban langsung.
Tutorial ini menunjukkan kepada Anda cara membuat penelusuran percakapan dengan teknologi AI untuk konten Anda. Hal ini didasarkan pada Agen Dokumen, project open source yang menggunakan Google Gemini API untuk membuat antarmuka penelusuran, tanpa melatih model AI baru atau melakukan tuning model dengan Model Gemini. Hal itu berarti Anda bisa mengembangkan kemampuan pencarian Anda dengan cepat dan menggunakannya untuk set konten kecil dan besar.
Untuk video ringkasan proyek dan cara memperluasnya, termasuk wawasan dari orang-orang yang membuatnya, lihat: Penelusuran Konten AI | Membangun aplikasi dengan AI Google. Jika tidak, Anda dapat mulai memperpanjang project dengan mengikuti petunjuk di bawah ini.
Ringkasan
Project Agen Dokumen menyediakan antarmuka penelusuran percakapan untuk set konten yang didukung, yang didukung oleh Gemini API dan model generatif dari Google. Pengguna dapat mengajukan pertanyaan terperinci dengan gaya percakapan dan mendapatkan jawaban yang terperinci berdasarkan kumpulan konten tertentu. Di balik layar, Agen Dokumen mengambil pertanyaan dan penelusuran terhadap {i>database<i} vektor konten, dan membuat perintah terperinci untuk model generatif, termasuk cuplikan teks yang relevan. Model generatif akan menghasilkan respons terhadap pertanyaan dan Agen Dokumen memformat respons dan menyajikannya kepada pengguna.
Gambar 1. Diagram fungsional aplikasi project Agen Dokumen.
Kunci agar Agen Dokumen dapat menjawab pertanyaan tentang konten Anda adalah pembuatan database vektor dari konten tersebut. Anda memisahkan konten ke dalam potongan teks yang logis dan menghasilkan sebuah vektor untuk masing-masing teks. Semua vektor ini representasi numerik dari informasi di setiap potongan dan dihasilkan dengan fungsi penyematan teks AI dari model generatif Google.
Saat pengguna mengajukan pertanyaan, Agen Dokumen menggunakan penyematan teks yang sama untuk membuat representasi numerik dari pertanyaan itu, dan menggunakannya nilai untuk menelusuri database vektor dan menemukan konten yang terkait. Model ini mengambil alih dan menambahkan informasi tersebut ke prompt untuk model generatif. AI mengambil pertanyaan dan informasi konteks tambahan, lalu ke suatu jawaban tertentu.
Penyiapan project
Petunjuk ini akan memandu Anda menyiapkan project Agen Dokumen untuk pengembangan dan pengujian. Langkah-langkah umumnya adalah menginstal beberapa prasyarat mengatur beberapa variabel lingkungan, meng-clone proyek dari kode repositori, dan menjalankan instalasi konfigurasi. Project kode menggunakan Python Poetry untuk mengelola paket dan lingkungan runtime Python.
Instal prasyarat
Project Agen Dokumen menggunakan Python 3 dan Python Poetry untuk mengelola paket dan menjalankan aplikasi. Petunjuk penginstalan berikut ditujukan untuk komputer mesin host.
Untuk menginstal software yang diperlukan:
- Instal Python 3 dan paket lingkungan virtual
venv
untuk Python.
sudo apt update sudo apt install git pip python3-venv
- Instal Python Poetry untuk mengelola dependensi dan pengemasan untuk
proyek.
curl -sSL https://install.python-poetry.org | python3 -
Anda dapat menggunakan Python Poetry untuk menambahkan lebih banyak library Python jika Anda memperluas proyek.
Menetapkan variabel lingkungan
Menetapkan beberapa variabel lingkungan yang diperlukan untuk mengizinkan kode Agen Dokumen
project yang akan dijalankan, termasuk Kunci Gemini API Google dan Python
Setelan puisi. Sebaiknya tambahkan variabel ini ke file $HOME/.bashrc
Anda
jika Anda menggunakan Linux, untuk menjadikannya sebagai
pengaturan {i>default<i} untuk terminal Anda
sesi.
Untuk menetapkan variabel lingkungan:
- Dapatkan Kunci Gemini API Google dan salin string kuncinya.
- Menetapkan Kunci API sebagai variabel lingkungan. Pada host Linux, gunakan
perintah berikut.
export API_KEY=<YOUR_API_KEY_HERE>
- Menyelesaikan masalah yang diketahui
masalah
untuk Python Poetry dengan menyetel parameter
PYTHON_KEYRING_BACKEND
. Pada host Linux, gunakan perintah berikut.
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
Meng-clone dan mengonfigurasi project
Mendownload kode project dan menggunakan perintah penginstalan Poetry untuk mendownload dependensi yang diperlukan dan mengonfigurasi project. Anda perlu git software kontrol sumber untuk mengambil kode sumber project Anda. eksternal Untuk mendownload dan mengonfigurasi kode project:
- Clone repositori git menggunakan perintah berikut.
git clone https://github.com/google/generative-ai-docs
- Secara opsional, konfigurasikan repositori git lokal Anda untuk menggunakan checkout sparse,
jadi Anda hanya memiliki file untuk project Agen Dokumen.
cd generative-ai-docs/ git sparse-checkout init --cone git sparse-checkout set examples/gemini/python/docs-agent/
- Pindahkan ke direktori utama project
docs-agent
.
cd examples/gemini/python/docs-agent/
- Jalankan perintah penginstalan Poetry untuk mendownload dependensi dan mengonfigurasi
proyek:
poetry install
Menyiapkan konten
Project Agen Dokumen dirancang agar dapat digunakan dengan konten teks, dan mencakup alat yang khusus untuk bekerja dengan {i>website<i} yang menggunakan Markdown sebagai format sumber. Jika Anda bekerja dengan konten situs web, Anda harus mempertahankan (atau mereplikasi) struktur direktori situs web yang dilayani untuk memungkinkan tugas pemrosesan konten untuk memetakan dan membuat tautan ke konten tersebut.
Tergantung format dan detail konten, Anda mungkin perlu membersihkan konten untuk menghapus informasi non-publik, catatan internal, atau informasi lainnya yang tidak Anda inginkan untuk dapat ditelusuri. Anda harus mempertahankan pemformatan dasar seperti seperti judul dan {i>heading<i}, yang membantu membuat pemisahan teks yang logis, atau potongan, dalam konten.
Untuk menyiapkan konten yang akan diproses:
- Buat direktori untuk konten yang Anda inginkan untuk ditelusuri oleh agen AI.
mkdir docs-agent/content/
- Salin konten Anda ke direktori
docs-agent/content/
. Jika konten berupa situs web, mempertahankan (atau mereplikasi) struktur direktori untuk situs yang ditayangkan. - Bersihkan atau edit konten sesuai kebutuhan untuk menghapus informasi non-publik, atau informasi lain yang tidak ingin disertakan dalam penelusuran.
Menggunakan dokumen Flutter untuk pengujian
Jika memerlukan sekumpulan konten untuk menguji Agen Dokumen, Anda dapat menggunakan Flutter dokumen developer untuk pengujian.
Untuk mendapatkan dokumen developer Flutter:
- Pindah ke direktori konten untuk konten yang Anda inginkan untuk diperiksa oleh agen AI
cari.
cd docs-agent/content/
- Clone dokumen Flutter ke direktori
docs-agent/content/
.
git clone --recurse-submodules https://github.com/flutter/website.git
Memproses konten
Agar agen penelusuran dapat menelusuri konten yang terkait dengan secara efektif pengguna pertanyaan, Anda perlu membangun {i>database<i} vektor yang mewakili saat ini. Vektor dihasilkan menggunakan fungsi model generatif AI yang disebut penyematan teks. Embedding teks merupakan representasi numerik dari teks saat ini. Dia memperkirakan makna semantik teks sebagai sekumpulan angka. Memiliki representasi numerik dari informasi memungkinkan sistem untuk mengambil terhadap pertanyaan pengguna, memperkirakan maknanya menggunakan embedding teks yang sama fungsi, dan kemudian menemukan informasi terkait sebagai kalkulasi matematis, menggunakan k-tetangga terdekat (k-NN).
Pisahkan konten teks
Jumlah teks yang dapat diwakili oleh vektor embedding teks secara efektif adalah secara terbatas. Project ini membatasi teks yang direpresentasikan dalam vektor hingga 3000 karakter atau lebih sedikit, dan itu berarti Anda harus membagi konten menjadi beberapa bagian di bawah batas karakter. Bagian ini menjelaskan cara menggunakan skrip yang disediakan dengan Agen Docs untuk membagi file Markdown menjadi potongan teks yang lebih kecil. Untuk tips tentang bekerja dengan format konten lain, lihat Menangani format lain.
Untuk membagi konten format Markdown:
- Konfigurasikan parameter input untuk skrip pemrosesan dengan mengedit
File
docs-agent/config.yaml
. Contoh ini menargetkan subset dokumentasi Flutter:
input: - path: "content/website/src/ui" url_prefix: "https://docs.flutter.dev/ui"
- Simpan perubahan Anda pada file konfigurasi ini.
- Buka direktori project
docs-agent
:
cd docs-agent/
- Pisahkan konten sumber Markdown dengan menjalankan perintah
agent chunk
:
agent chunk
Skrip ini memproses konten input dan membuat file teks output dalam
Direktori docs-agent/data
, yang memisahkan teks berdasarkan judul, heading, dan
paragraf yang terkait. Pemrosesan mungkin butuh waktu beberapa saat, tergantung pada ukuran
saat ini.
Membuat vektor embedding teks
Setelah membagi konten menjadi potongan-potongan bermakna dengan ukuran yang tepat, Anda dapat mengisi database vektor dengan konten menggunakan embedding teks fungsi tersebut. Project Agen Dokumen menggunakan Chroma database vektor untuk menyimpan vektor embedding teks. Petunjuk ini mencakup cara untuk menggunakan skrip Agen Dokumen guna mengisi database vektor dengan pemisahan Anda saat ini.
Untuk menghasilkan embedding teks dan mengisi database vektor:
- Buka direktori project
docs-agent
:
cd docs-agent/
- Mengisi database vektor dengan konten Anda menggunakan
agent populate
perintah:
agent populate
Skrip ini menggunakan Gemini API Google untuk menghasilkan penyematan teks vektor, lalu menyimpan output-nya ke database vektor. Mungkin perlu waktu untuk memproses waktu, tergantung pada ukuran konten Anda.
Menangani format lain
Proyek Agen Dokumen dirancang untuk bekerja dengan konten situs web dalam Markdown format font. Penulis proyek telah membuat beberapa skrip pengonversi untuk menghasilkan jenis konten lain ke dalam format Markdown, termasuk Google Docs, Portable Document Format (PDF), dan Gmail. Untuk informasi selengkapnya tentang cara menggunakan pelaku konversi, lihat docs-agent/apps_script dari repositori kode.
Mengonversi format konten lain
Anda dapat menggunakan format konten lain dengan project, tetapi metode tambahan perlu dibuat oleh Anda atau anggota komunitas lainnya. Memeriksa repositori kode Masalah dan Permintaan Pull bagi orang-orang yang sedang membangun solusi serupa.
Kode kunci yang perlu Anda bangun untuk mendukung format konten lain adalah pemisah
skrip seperti
files_to_plain_text.py
{i>script<i}. Targetkan untuk membangun skrip atau program yang menghasilkan {i>output<i} yang mirip dengan ini
{i>script<i}. Ingat bahwa {i>output<i} teks akhir harus
memiliki format yang minimal dan
informasi asing. Jika Anda menggunakan format konten seperti HTML atau JSON,
pastikan Anda menghapus sebanyak
banyak pemformatan non-informatif (tag,
pembuatan skrip, CSS) sebaik mungkin, sehingga tidak mendistorsi nilai teks
embedding yang dihasilkan darinya.
Setelah membuat skrip pemisah untuk format konten, Anda seharusnya dapat
jalankan
populate_vector_database.py
skrip untuk mengisi database vektor Anda. Untuk informasi selengkapnya tentang pemrosesan
file untuk digunakan dengan Agen Dokumen, lihat Agen Dokumen
Praproses Readme.
Menguji aplikasi
Setelah Anda selesai mengisi database vektor, project siap untuk pengujian. Project ini menyediakan fungsi pengemasan yang memungkinkan Anda menjalankan project secara lokal.
Untuk menjalankan dan menguji antarmuka web project:
- Buka direktori project
docs-agent
:
cd docs-agent/
- Jalankan skrip peluncuran aplikasi web:
agent chatbot
- Dengan menggunakan browser web Anda, navigasikan ke alamat web URL yang ditampilkan di
output skrip peluncuran dan menguji aplikasi.
* Running on http://your-hostname-here:5000
Opsi penerapan
Gemini API menyediakan alat pemrograman yang dapat menggantikan komponen penerapan Agen Dokumen, khususnya: Pengambilan Semantik dan Diatribusikan Varian model Question Answering (AQA) Gemini. Anda dapat menggunakan Pengambilan Semantik untuk menggantikan database vektor terpisah. Fitur Pengambilan Semantik memungkinkan Anda menghasilkan embeddings untuk konten Anda, dan menyimpan konten tersebut. Tujuan Model Gemini AQA telah disesuaikan menjawab pertanyaan dengan materi sumber yang disediakan dalam perintah. Anda menggunakan Semantik Pengambilan data bersama model AQA untuk menjawab pertanyaan mengenai konten Anda, semuanya dalam Gemini API.
Agen Dokumen menyertakan opsi konfigurasi untuk menggunakan Semantik Fitur API pengambilan, model AQA Gemini, atau keduanya. Untuk informasi selengkapnya, lihat tindakan Readme Agen Dokumen.
Referensi lainnya
Untuk informasi selengkapnya tentang project Agen Dokumen, lihat repositori kode. Jika Anda membutuhkan bantuan untuk membuat aplikasi atau mencari developer kolaborator, lihat Perselisihan Komunitas Google Developers server tertentu.
Aplikasi produksi
Jika Anda berencana menerapkan Agen Dokumen untuk audiens dalam jumlah besar, perhatikan bahwa penggunaan Gemini API Google mungkin dikenai pembatasan kapasitas dan pembatasan penggunaan. Jika Anda mempertimbangkan untuk membangun aplikasi produksi dengan Gemini API seperti Agen Dokumen, lihat Vertex AI Google Cloud untuk meningkatkan skalabilitas dan keandalan aplikasi Anda.