MedLM adalah kelompok 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 level pakar manusia dalam menjawab pertanyaan bergaya US Medical Licensing Ujian (USMLE). Pengembangan model ini didasarkan pada kebutuhan pelanggan tertentu, seperti menjawab pertanyaan medis dan menyusun ringkasan.
Kartu model MedLM
Kartu model MedLM menguraikan detail model, seperti tujuan penggunaan MedLM, ringkasan data, dan informasi keamanan. Klik link berikut untuk mendownload versi PDF kartu model MedLM:
Kasus penggunaan
- Penjawaban pertanyaan: Memberikan draf jawaban untuk pertanyaan terkait medis, yang diberikan dalam bentuk teks.
- Rangkum: Buat draf versi dokumen yang lebih pendek (seperti catatan Ringkasan Setelah Kunjungan atau Histori dan Pemeriksaan Fisik) yang menyertakan informasi yang relevan dari teks asli.
Untuk mengetahui informasi selengkapnya tentang cara mendesain perintah teks, lihat Mendesain perintah teks.
Permintaan HTTP
MedLM-sedang (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-sedang (
medlm-medium
) - MedLM-besar (
medlm-large
)
Tabel berikut berisi versi model stabil yang tersedia:
model medlm-medium | Tanggal rilis |
---|---|
medlm-sedang | 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 penggunaannya. MedLM-medium memberi pelanggan throughput yang lebih baik dan menyertakan data yang lebih baru. MedLM-large adalah model yang sama dari fase pratinjau. Kedua model akan terus diperbarui selama siklus proses produk. Di halaman ini, "MedLM" mengacu pada kedua model tersebut.
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 mungkin dianggap sensitif. Jika Anda melihat respons penggantian, seperti "Saya tidak dapat membantu soal itu, karena saya hanya seorang model bahasa", artinya perintah 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 kemungkinan
berisi pelecehan, ujaran kebencian, konten berbahaya, atau
konten seksual vulgar. Setelan filter keamanan terletak di sisi kanan
kolom prompt 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 melakukan tindakan komprehensif untuk mendeteksi konten yang melanggar kebijakan penggunaan atau persyaratan layanan Google dan mengambil tindakan yang sesuai.
Skor keyakinan hanyalah prediksi, dan Anda tidak perlu bergantung pada skor 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 untuk mempertimbangkan risiko lain yang spesifik untuk kasus penggunaan, pengguna, dan konteks bisnis Anda selain 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. | Text |
|
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 penggantian, coba tingkatkan suhu. |
|
|
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 pendek dan nilai yang lebih tinggi untuk respons yang berpotensi lebih lama. |
|
|
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 menerapkan Prompt Engineering. Misalnya, sebaiknya berikan petunjuk khusus tugas yang tepat di awal setiap perintah. Untuk mengetahui informasi selengkapnya, lihat Pengantar desain prompt.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Anda.MEDLM_MODEL
: Model MedLM,medlm-medium
ataumedlm-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 Atribut dan filter 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 mungkin mencakup situs berita, repositori GitHub, dan sebagainya. |
title |
Judul yang terkait dengan kutipan ini. Jika ada, judul tersebut merujuk pada judul sumber kutipan ini. Kemungkinan judul 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 mungkin termasuk 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 yang diambil sampelnya. |
tokenLogProbs |
Probabilitas log token yang diambil sampelnya. |
topLogProb |
Token kandidat yang paling mungkin dan probabilitas lognya di setiap langkah. |
logprobs |
Hasil parameter `logprobs`. Pemetaan 1-1 ke `kandidat`. |
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.