Method: models.generateAnswer

Menghasilkan jawaban yang didasarkan pada model yang diberi input GenerateAnswerRequest.

Permintaan HTTP

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

URL menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
model

string

Wajib. Nama Model yang akan digunakan untuk membuat respons dasar.

Format model=models/{model}.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
Kolom
contents[]

object (Content)

Wajib. Konten percakapan saat ini dengan model. Untuk kueri satu giliran, 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 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 konten dan respons apa pun yang gagal memenuhi nilai minimum yang ditetapkan oleh setelan ini. Daftar ini mengganti setelan default untuk setiap SafetyCategory yang ditentukan di Setelan Keamanan. Jika tidak ada SafetySetting untuk SafetyCategory tertentu yang diberikan 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 mendasari jawaban. grounding_source hanya ada berupa salah satu diantara 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.

Nilai dapat berkisar dari [0.0,1.0], inklusif. Nilai yang mendekati 1,0 akan menghasilkan respons yang lebih bervariasi dan kreatif, sedangkan nilai yang mendekati 0,0 biasanya akan menghasilkan respons yang lebih lugas dari model. Suhu rendah (~0,2) biasanya direkomendasikan untuk kasus penggunaan Attributed-Question-Answering.

Isi respons

Respons dari model untuk jawaban yang didasarkan pada.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Kolom
answer

object (Candidate)

Jawaban kandidat dari model.

Catatan: Model selalu berupaya memberikan jawaban yang didasarkan pada, meskipun jawaban tersebut tidak mungkin dapat dijawab dari bagian yang diberikan. Dalam hal ini, jawaban berkualitas rendah atau tidak berdasar mungkin akan diberikan, beserta answerableProbability yang rendah.

answerableProbability

number

Hanya output. Estimasi model terhadap probabilitas jawabannya benar dan didasarkan pada bagian input.

Probabilitas yang dapat dijawab yang rendah menunjukkan bahwa jawaban mungkin tidak didasarkan pada sumber.

Saat answerableProbability rendah, beberapa klien mungkin ingin:

  • Menampilkan pesan dengan efek "Kami tidak dapat menjawab pertanyaan tersebut" kepada pengguna.
  • Gunakan LLM untuk tujuan umum yang menjawab pertanyaan dari pengetahuan dunia. Ambang batas dan sifat penggantian tersebut akan bergantung pada kasus penggunaan masing-masing klien. 0,5 adalah batas awal yang baik.
inputFeedback

object (InputFeedback)

Hanya output. Masukan yang terkait dengan data input yang digunakan untuk menjawab pertanyaan, bukan respons yang dibuat oleh model untuk pertanyaan tersebut.

"Data input" dapat berupa satu atau beberapa hal berikut:

  • Pertanyaan yang ditentukan oleh entri terakhir di GenerateAnswerRequest.content
  • Histori percakapan yang ditentukan oleh entri lain di GenerateAnswerRequest.content
  • Sumber ground (GenerateAnswerRequest.semantic_retriever atau GenerateAnswerRequest.inline_passages)

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

Untuk informasi selengkapnya, lihat Ringkasan Autentikasi.

GroundingPassages

Daftar bagian berulang.

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

object (GroundingPassage)

Daftar bagian.

GroundingPassage

Jalur yang disertakan inline dengan konfigurasi ground.

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

string

ID untuk bagian yang mengatribusikan bagian ini dalam jawaban yang didasarkan pada.

content

object (Content)

Konten bagian.

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
}
Kolom
source

string

Wajib. Nama resource untuk pengambilan, misalnya corpora/123 atau corpora/123/documents/abc.

query

object (Content)

Wajib. Kueri yang akan digunakan untuk kesamaan yang cocok dengan Chunk di resource yang diberikan.

metadataFilters[]

object (MetadataFilter)

Opsional. Filter untuk memilih Document dan/atau Chunk dari resource.

maxChunksCount

integer

Opsional. Jumlah maksimum Chunk yang relevan untuk diambil.

minimumRelevanceScore

number

Opsional. Skor relevansi minimum untuk Chunk yang relevan.

AnswerStyle

Gaya untuk jawaban yang didasarkan pada.

Enum
ANSWER_STYLE_UNSPECIFIED Gaya jawaban tidak ditentukan.
ABSTRACTIVE Gaya yang ringkas, tetapi abstrak.
EXTRACTIVE Gaya yang sangat singkat dan ekstraktif.
VERBOSE Gaya panjang yang menyertakan 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 oleh model untuk pertanyaan tersebut.

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

object (SafetyRating)

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

blockReason

enum (BlockReason)

Opsional. Jika ditetapkan, input akan diblokir dan tidak ada kandidat yang ditampilkan. Sampaikan ulang masukan 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.