MedLM adalah sekumpulan model dasar yang disesuaikan untuk industri layanan kesehatan. Med-PaLM 2 adalah salah satu model berbasis teks yang dikembangkan oleh Tim Riset Google yang mendukung MedLM, dan merupakan sistem AI pertama yang mencapai tingkat pakar manusia dalam menjawab pertanyaan bergaya US Medical Licensing Examination (USMLE). Pengembangan model ini didasarkan pada kebutuhan pelanggan tertentu seperti menjawab pertanyaan medis dan membuat draf ringkasan.
Kartu model MedLM
Kartu model MedLM menguraikan detail model, seperti penggunaan yang dimaksudkan MedLM, ringkasan data, dan informasi keamanan. Klik link berikut untuk mendownload kartu model MedLM versi PDF:
Kasus penggunaan
- Penjawaban pertanyaan: Memberikan draf jawaban atas pertanyaan terkait medis, yang diberikan sebagai teks.
- Ringkasan: Membuat draf versi dokumen yang lebih pendek (seperti Ringkasan Setelah Kunjungan atau catatan Riwayat dan Pemeriksaan Fisik) yang menggabungkan informasi yang relevan dari teks asli.
Untuk mengetahui informasi selengkapnya tentang cara mendesain perintah teks, lihat Mendesain perintah teks.
Permintaan HTTP
MedLM-medium (medlm-medium
):
POST https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/medlm-medium:predict
MedLM-large (medlm-large
):
POST https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/medlm-large:predict
Lihat metode predict
untuk informasi selengkapnya.
Versi model
MedLM menyediakan model berikut:
- MedLM-medium (
medlm-medium
) - MedLM-large (
medlm-large
)
Tabel berikut berisi versi model stabil yang tersedia:
model medlm-medium | Tanggal rilis |
---|---|
medlm-medium | 13 Desember 2023 |
model medlm-large | Tanggal rilis |
---|---|
medlm-large | 13 Desember 2023 |
MedLM-medium dan MedLM-large memiliki endpoint terpisah dan memberikan fleksibilitas tambahan kepada pelanggan untuk kasus penggunaan mereka. MedLM-medium memberikan throughput yang lebih baik kepada pelanggan dan menyertakan data yang lebih baru. MedLM-large adalah model yang sama dari fase pratinjau. Kedua model tersebut akan terus diperbarui selama siklus proses produk. Di halaman ini, "MedLM" mengacu pada kedua model.
Untuk mengetahui informasi selengkapnya, baca Versi dan siklus proses model.
Filter dan atribut keamanan MedLM
Konten yang diproses melalui MedLM API dinilai berdasarkan daftar atribut keamanan, termasuk "kategori berbahaya" dan topik yang dapat dianggap sensitif. Jika Anda melihat respons penggantian, seperti "Saya tidak dapat membantu, karena saya hanya model bahasa", artinya prompt atau respons memicu filter keamanan.
Nilai minimum keamanan
Saat menggunakan Vertex AI Studio, Anda dapat menggunakan
nilai minimum filter keamanan yang dapat disesuaikan untuk menentukan seberapa besar kemungkinan Anda
melihat respons yang dapat berbahaya. Respons model diblokir berdasarkan
probabilitas bahwa konten tersebut berisi pelecehan, ujaran kebencian, konten berbahaya, atau
konten seksual vulgar. Setelan filter keamanan terletak di sisi
kanan kolom perintah di Vertex AI Studio. Anda dapat memilih dari
tiga opsi: block most
, block some
, dan
block few
.
Menguji nilai minimum keyakinan dan tingkat keparahan
Anda dapat menguji filter keamanan Google dan menentukan nilai minimum keyakinan yang tepat untuk bisnis Anda. Dengan menggunakan nilai minimum ini, Anda dapat mengambil tindakan yang komprehensif untuk mendeteksi konten yang melanggar kebijakan penggunaan atau persyaratan layanan Google dan mengambil tindakan yang sesuai.
Skor keyakinan hanyalah prediksi, dan Anda tidak boleh bergantung pada skor tersebut dalam hal keandalan atau akurasi. Google tidak bertanggung jawab untuk menafsirkan atau menggunakan skor ini untuk keputusan bisnis.
Praktik yang direkomendasikan
Untuk memanfaatkan teknologi ini dengan aman dan bertanggung jawab, penting juga untuk mempertimbangkan risiko lain yang spesifik untuk kasus penggunaan, pengguna, dan konteks bisnis Anda, selain memanfaatkan perlindungan teknis bawaan.
Anda sebaiknya melakukan langkah-langkah berikut ini:
- Menilai risiko keamanan aplikasi Anda.
- Mempertimbangkan penyesuaian untuk mengurangi risiko keselamatan.
- Melakukan pengujian keamanan yang sesuai dengan kasus penggunaan Anda.
- Meminta masukan pengguna dan memantau konten.
Untuk mempelajari lebih lanjut, lihat rekomendasi Google untuk Responsible AI.
Isi permintaan
{
"instances": [
{
"content": string
}
],
"parameters": {
"temperature": number,
"maxOutputTokens": integer,
"topK": integer,
"topP": number
}
}
Gunakan parameter berikut untuk model medlm-medium
dan medlm-large
.
Untuk mengetahui informasi selengkapnya, lihat Mendesain perintah teks.
Parameter | Deskripsi | Nilai yang dapat diterima |
---|---|---|
|
Input teks untuk menghasilkan respons model. Perintah dapat mencakup preamble, pertanyaan, saran, instruksi, atau contoh. | Teks |
|
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat topP
dan topK diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token.
Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan
suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu 0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan
tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.
Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons pengganti, coba tingkatkan suhunya. |
|
|
Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata.
Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang berpotensi lebih panjang. |
|
|
Top-K mengubah cara model memilih token untuk output. Top-K
1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua
token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K
3 berarti token berikutnya dipilih di antara tiga token yang paling
mungkin dengan menggunakan suhu.
Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. |
|
|
Top-P mengubah cara model memilih token untuk output. Token dipilih
dari yang paling mungkin (lihat top-K) hingga yang paling tidak mungkin sampai jumlah probabilitasnya
sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas
0,3, 0,2, dan 0,1 dengan nilai top-P 0.5 , model akan
memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan
C sebagai kandidat.
Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. |
|
Permintaan sampel
Saat menggunakan MedLM API, penting untuk menyertakan rekayasa perintah. Misalnya, sebaiknya berikan petunjuk khusus tugas yang sesuai di awal setiap perintah. Untuk mengetahui informasi selengkapnya, lihat Pengantar desain perintah.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.MEDLM_MODEL
: Model MedLM, baikmedlm-medium
maupunmedlm-large
.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MEDLM_MODEL:predict
Isi JSON permintaan:
{ "instances": [ { "content": "Question: What causes you to get ringworm?" } ], "parameters": { "temperature": 0, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "instances": [ { "content": "Question: What causes you to get ringworm?" } ], "parameters": { "temperature": 0, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MEDLM_MODEL:predict"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "instances": [ { "content": "Question: What causes you to get ringworm?" } ], "parameters": { "temperature": 0, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MEDLM_MODEL:predict" | Select-Object -Expand Content
Isi respons
{
"predictions": [
{
"content": string,
"citationMetadata": {
"citations": [
{
"startIndex": integer,
"endIndex": integer,
"url": string,
"title": string,
"license": string,
"publicationDate": string
}
]
},
"logprobs": {
"tokenLogProbs": [ float ],
"tokens": [ string ],
"topLogProbs": [ { map<string, float> } ]
},
"safetyAttributes": {
"categories": [ string ],
"blocked": boolean,
"scores": [ float ],
"errors": [ int ]
}
}
],
"metadata": {
"tokenMetadata": {
"input_token_count": {
"total_tokens": integer,
"total_billable_characters": integer
},
"output_token_count": {
"total_tokens": integer,
"total_billable_characters": integer
}
}
}
}
Elemen respons | Deskripsi |
---|---|
content |
Hasil yang dihasilkan dari teks input. |
categories |
Nama tampilan kategori Atribut Keamanan terkait dengan konten yang dibuat. Urutan cocok dengan Skor. |
scores |
Skor keyakinan setiap kategori, nilai yang lebih tinggi berarti keyakinan yang lebih tinggi. |
blocked |
Flag yang menunjukkan apakah input atau output model diblokir. |
errors |
Kode error yang mengidentifikasi alasan input atau output diblokir. Untuk mengetahui daftar kode error, lihat Filter dan atribut keamanan. |
startIndex |
Indeks dalam output prediksi tempat kutipan dimulai (inklusif). Harus lebih besar dari atau sama dengan 0 dan kurang dari end_index . |
endIndex |
Indeks dalam output prediksi tempat kutipan berakhir (eksklusif). Harus lebih besar dari start_index dan kurang dari len(output) . |
url |
URL yang terkait dengan kutipan ini. Jika ada, URL ini akan ditautkan ke halaman web sumber kutipan ini. URL yang memungkinkan mencakup situs berita, repositori GitHub, dan sebagainya. |
title |
Judul yang terkait dengan kutipan ini. Jika ada, judul tersebut merujuk pada judul sumber kutipan ini. Judul yang memungkinkan mencakup judul berita, judul buku, dan sebagainya. |
license |
Lisensi yang terkait dengan kutipan ini. Jika ada, lisensi tersebut merujuk pada lisensi sumber kutipan ini. Lisensi yang memungkinkan mencakup lisensi kode, seperti lisensi MIT. |
publicationDate |
Tanggal terbit yang terkait dengan kutipan ini. Jika ada, tanggal terbit tersebut mengacu pada tanggal sumber kutipan ini dipublikasikan. Format yang memungkinkan adalah YYYY, YYYY-MM, YYYY-MM-DD. |
input_token_count |
Jumlah token input. Ini adalah jumlah total token di seluruh perintah, awalan, dan akhiran. |
output_token_count |
Jumlah token output. Ini adalah jumlah total token dalam content di seluruh prediksi. |
tokens |
Token sampel. |
tokenLogProbs |
Probabilitas log token sampel. |
topLogProb |
Token kandidat yang paling mungkin dan probabilitas lognya di setiap langkah. |
logprobs |
Hasil parameter `logprobs`. Pemetaan 1-1 ke `candidates`. |
Contoh respons
{
"predictions": [
{
"citationMetadata": {
"citations": []
},
"content": "\n\nAnswer and Explanation:\nRingworm is a fungal infection of the skin that is caused by a type of fungus called dermatophyte. Dermatophytes can live on the skin, hair, and nails, and they can be spread from person to person through direct contact or through contact with contaminated objects.\n\nRingworm can cause a variety of symptoms, including:\n\n* A red, itchy rash\n* A raised, circular border\n* Blisters or scales\n* Hair loss\n\nRingworm is most commonly treated with antifungal medications, which can be applied to the skin or taken by mouth. In some cases, surgery may be necessary to remove infected hair or nails.",
"safetyAttributes": {
"scores": [
1
],
"blocked": false,
"categories": [
"Health"
]
}
}
],
"metadata": {
"tokenMetadata": {
"outputTokenCount": {
"totalTokens": 140,
"totalBillableCharacters": 508
},
"inputTokenCount": {
"totalTokens": 10,
"totalBillableCharacters": 36
}
}
}
}
Streaming respons dari model AI Generatif
Parameternya sama untuk permintaan streaming dan non-streaming ke API.
Untuk melihat contoh permintaan dan respons kode menggunakan REST API, lihat Contoh menggunakan REST API.
Untuk melihat contoh permintaan dan respons kode menggunakan Vertex AI SDK untuk Python, lihat Contoh penggunaan Vertex AI SDK untuk Python.