Question answering

Metode: models.generateAnswer

Menghasilkan jawaban dasar dari model yang diberi GenerateAnswerRequest input.

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:

Bidang
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 saat ini hanya mendukung kueri dalam bahasa Inggris.

answerStyle enum (AnswerStyle)

Wajib. Gaya untuk menampilkan jawaban.

safetySettings[] object (SafetySetting)

Opsional. Daftar instance SafetySetting unik untuk memblokir konten tidak aman.

Hal ini akan diterapkan di 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.

Kolom union 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:

Bidang
answer object (Candidate)

Jawaban kandidat dari model.

Catatan: Model selalu berupaya memberikan jawaban dasar, meskipun jawabannya mungkin tidak 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 jawabannya mungkin tidak didasarkan pada sumber tertentu.

Jika answerableProbability rendah, beberapa klien mungkin ingin:

  • Menampilkan pesan "Kami tidak dapat menjawab pertanyaan tersebut" kepada pengguna.
  • Kembali ke LLM tujuan umum yang menjawab pertanyaan dari pengetahuan dunia. Nilai minimum dan sifat penggantian tersebut akan bergantung pada kasus penggunaan masing-masing klien. 0,5 merupakan ambang batas 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 atau GenerateAnswerRequest.inline_passages)
Representasi JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Daftar bagian yang berulang.

Representasi JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Bidang
passages[] object (GroundingPassage)

Daftar bagian.

GroundingPassage

Bagian disertakan sesuai dengan konfigurasi grounding.

Representasi JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
Bidang
id string

ID untuk bagian yang mengatribusikan bagian ini dengan jawaban dasar.

content object (Content)

Konten teks.

SemanticRetrieverConfig

Konfigurasi untuk mengambil konten ground dari Corpus atau Document yang dibuat menggunakan Semantic Retriever API.

Representasi JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Bidang
source string

Wajib. Nama resource yang akan diambil, mis. corpora/123 atau corpora/123/documents/abc.

query object (Content)

Wajib. Kueri yang akan digunakan untuk pencocokan kemiripan Chunk dalam resource yang diberikan.

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 yang relevan yang diambil.

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.

Representasi JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Bidang
safetyRatings[] object (SafetyRating)

Rating untuk keamanan input. Hanya ada satu rating per kategori.

blockReason enum (BlockReason)

Opsional. Jika disetel, input akan diblokir dan tidak ada kandidat yang ditampilkan. Susun ulang frasa input Anda.

BlockReason

Menentukan alasan input diblokir.

Enum
BLOCK_REASON_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
SAFETY Input diblokir karena alasan keamanan. Anda dapat memeriksa safetyRatings untuk memahami kategori keamanan mana yang memblokirnya.
OTHER Input diblokir karena alasan lain.