Semantic Retrieval API menyediakan layanan penjawaban pertanyaan yang dihosting untuk membangun sistem Retrieval Augmented Generation (RAG) menggunakan infrastruktur Google. Untuk panduan mendetail, lihat Panduan pengambilan semantik.
Metode: models.generateAnswer
- Endpoint
- Parameter jalur
- Isi permintaan
- Isi respons
- Cakupan otorisasi
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Menghasilkan jawaban yang berisi rujukan dari model yang diberi input GenerateAnswerRequest
.
Endpoint
posting
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer
Parameter jalur
model
string
Wajib. Nama Model
yang akan digunakan untuk membuat respons yang di-ground.
Format: model=models/{model}
. Formatnya adalah models/{model}
.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
contents[]
object (Content
)
Wajib. Konten percakapan saat ini dengan Model
. Untuk kueri satu putaran, ini adalah satu pertanyaan yang harus dijawab. Untuk kueri multi-giliran, ini adalah kolom berulang yang berisi histori percakapan dan Content
terakhir dalam daftar yang berisi pertanyaan.
Catatan: models.generateAnswer
hanya mendukung kueri dalam bahasa Inggris.
answerStyle
enum (AnswerStyle
)
Wajib. Gaya jawaban yang akan ditampilkan.
safetySettings[]
object (SafetySetting
)
Opsional. Daftar instance SafetySetting
unik untuk memblokir konten yang tidak aman.
Kebijakan ini akan diterapkan pada GenerateAnswerRequest.contents
dan GenerateAnswerResponse.candidate
. Tidak boleh ada lebih dari satu setelan untuk setiap jenis SafetyCategory
. API akan memblokir semua konten dan respons yang gagal memenuhi nilai minimum yang ditetapkan oleh setelan ini. Daftar ini menggantikan setelan default untuk setiap SafetyCategory
yang ditentukan di safetySettings. Jika tidak ada SafetySetting
untuk SafetyCategory
tertentu yang disediakan dalam daftar, API akan menggunakan setelan keamanan default untuk kategori tersebut. Kategori bahaya HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT didukung. Lihat panduan untuk mengetahui informasi mendetail tentang setelan keamanan yang tersedia. Lihat juga Panduan keselamatan untuk mempelajari cara menyertakan pertimbangan keselamatan dalam aplikasi AI Anda.
grounding_source
. Sumber yang digunakan sebagai dasar jawaban. grounding_source
hanya dapat berupa salah satu dari berikut:
inlinePassages
object (GroundingPassages
)
Bagian yang disediakan sesuai dengan permintaan.
semanticRetriever
object (SemanticRetrieverConfig
)
Konten yang diambil dari resource yang dibuat melalui Semantic Retriever API.
temperature
number
Opsional. Mengontrol keacakan output.
Nilainya dapat berkisar dari [0.0,1.0], inklusif. Nilai yang lebih dekat ke 1,0 akan menghasilkan respons yang lebih bervariasi dan kreatif, sedangkan nilai yang lebih dekat ke 0,0 biasanya akan menghasilkan respons yang lebih jelas dari model. Suhu rendah (~0,2) biasanya direkomendasikan untuk kasus penggunaan Attributed-Question-Answering.
Isi respons
Respons dari model untuk jawaban dasar.
Jika berhasil, isi respons memuat data dengan struktur berikut:
answer
object (Candidate
)
Jawaban kandidat dari model.
Catatan: Model selalu mencoba memberikan jawaban yang berdasar, meskipun jawaban tersebut tidak mungkin dapat dijawab dari bagian yang diberikan. Dalam hal ini, jawaban berkualitas rendah atau tidak berdasar mungkin diberikan, beserta answerableProbability
yang rendah.
answerableProbability
number
Hanya output. Estimasi model tentang probabilitas bahwa jawabannya benar dan didasarkan pada bagian input.
answerableProbability
yang rendah menunjukkan bahwa jawaban mungkin tidak didasarkan pada sumber.
Jika answerableProbability
rendah, Anda dapat:
- Tampilkan pesan dengan efek "Kami tidak dapat menjawab pertanyaan tersebut" kepada pengguna.
- Kembali ke LLM tujuan umum yang menjawab pertanyaan dari pengetahuan dunia. Batas dan sifat penggantian tersebut akan bergantung pada masing-masing kasus penggunaan.
0.5
adalah nilai minimum awal yang baik.
inputFeedback
object (InputFeedback
)
Hanya output. Masukan yang terkait dengan data input yang digunakan untuk menjawab pertanyaan, bukan respons yang dibuat model untuk pertanyaan.
Data input dapat berupa satu atau beberapa hal berikut:
- Pertanyaan ditentukan oleh entri terakhir di
GenerateAnswerRequest.content
- Histori percakapan yang ditentukan oleh entri lain di
GenerateAnswerRequest.content
- Sumber dasar (
GenerateAnswerRequest.semantic_retriever
atauGenerateAnswerRequest.inline_passages
)
Representasi JSON |
---|
{ "answer": { object ( |
GroundingPassages
Daftar bagian yang berulang.
passages[]
object (GroundingPassage
)
Daftar bagian.
Representasi JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Konfigurasi untuk mengambil konten dasar dari Corpus
atau Document
yang dibuat menggunakan Semantic Retriever API.
source
string
Wajib. Nama resource untuk pengambilan. Contoh: corpora/123
atau corpora/123/documents/abc
.
query
object (Content
)
Wajib. Kueri yang akan digunakan untuk mencocokkan Chunk
dalam resource tertentu berdasarkan kemiripan.
metadataFilters[]
object (MetadataFilter
)
Opsional. Filter untuk memilih Document
dan/atau Chunk
dari resource.
maxChunksCount
integer
Opsional. Jumlah maksimum Chunk
relevan yang dapat diambil.
minimumRelevanceScore
number
Opsional. Skor relevansi minimum untuk Chunk
relevan yang diambil.
Representasi JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Gaya untuk jawaban berdasar.
Enum | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Gaya jawaban tidak ditentukan. |
ABSTRACTIVE |
Gaya ringkas tetapi abstrak. |
EXTRACTIVE |
Gaya yang sangat singkat dan ekstraktif. |
VERBOSE |
Gaya panjang termasuk detail tambahan. Respons dapat diformat sebagai kalimat, paragraf, beberapa paragraf, atau poin butir, dll. |
InputFeedback
Masukan yang terkait dengan data input yang digunakan untuk menjawab pertanyaan, bukan respons yang dibuat model untuk pertanyaan.
safetyRatings[]
object (SafetyRating
)
Rating untuk keamanan input. Maksimal satu rating per kategori.
blockReason
enum (BlockReason
)
Opsional. Jika disetel, input akan diblokir dan tidak ada kandidat yang ditampilkan. Ubah susunan kata input.
Representasi JSON |
---|
{ "safetyRatings": [ { object ( |
BlockReason
Menentukan alasan input diblokir.
Enum | |
---|---|
BLOCK_REASON_UNSPECIFIED |
Nilai default. Nilai ini tidak digunakan. |
SAFETY |
Input diblokir karena alasan keamanan. Periksa safetyRatings untuk memahami kategori keamanan mana yang memblokirnya. |
OTHER |
Input diblokir karena alasan lain. |