Untuk mengakses model generatif lainnya, serta model gemini dan gemini-vision dari gemini dan Google AI, Anda dapat menggunakan kelas ChatGoogleGenerativeAI dalam paket integrasi langchain-google-genai.
from langchain_google_genai import ChatGoogleGenerativeAI# Inisialisasi model bahasa ChatGoogleGenerativeAI.llm =ChatGoogleGenerativeAI(model ="gemini-1.5-pro-latest")# Berikan perintah untuk menghasilkan hasil.answer = llm.stream("Ceritakan sedikit tentang pemrosesan bahasa alami")# mencetak hasilnya.stream_response(jawaban)
from langchain_core.prompts import PromptTemplate# Inisialisasi model bahasa ChatGoogleGenerativeAI.model =ChatGoogleGenerativeAI( model ="gemini-1.5-flash-latest", # Tentukan model yang akan digunakan.)# Membuat prompt.prompt = PromptTemplate.from_template("Jawab pertanyaan ya/tidak. Apakah {pertanyaan} adalah buah?")# Membuat sebuah rantai.chain = prompt | model# Keluarkan hasilnya.stream_response(chain.stream({"pertanyaan": "apel"}))
Pengaturan Keamanan
Model Gemini memiliki Pengaturan Keamanan default, tetapi Anda dapat menggantinya.
Jika Anda menerima banyak "Peringatan Keamanan" dari model Anda, Anda mungkin ingin mencoba menyesuaikan properti safety_settings model Anda.
Artikel Safety Setting Types menyediakan informasi lengkap tentang kategori dan ambang batas yang tersedia.
Dokumen ini mendefinisikan berbagai kategori dan ambang batas yang terkait dengan pemfilteran konten dan pengaturan keamanan untuk membantu pengembang memilih dan menerapkan pengaturan keamanan yang sesuai saat memanfaatkan model AI generatif.
Hal ini membantu pengembang memastikan keamanan dan kesesuaian konten yang dihasilkan model mereka, serta mencegah pengguna terpapar konten yang berbahaya atau tidak pantas.
from langchain_google_genai import ( ChatGoogleGenerativeAI, Ambang batas pemblokiran bahaya, HarmCategory,)llm =ChatGoogleGenerativeAI(# Tentukan model yang akan digunakan sebagai "gemini-pro". model ="gemini-1.5-pro-latest", pengaturan_keamanan={# Tetapkan ambang batas pemblokiran untuk konten berbahaya.# Dalam kasus ini, ini diatur untuk tidak memblokir konten berbahaya (mungkin masih ada blokir default). HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE, HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE, HarmCategory.HARM_CATEGORY_HARASSMENT_HARASSMENT: HarmBlockThreshold.BLOCK_NONE, HarmCategory.HARM_CATEGORY_DANGEROUS_Content: HarmBlockThreshold.BLOCK_NONE, },)
Eksekusi prompt secara berkelompok
from langchain_google_genai import ChatGoogleGenerativeAIllm =ChatGoogleGenerativeAI(# Tentukan model yang akan digunakan sebagai "gemini-pro". model ="gemini-1.5-pro-latest",)hasil = llm.batch( ["Apa ibu kota Korea Selatan?","Sebutkan 5 tempat wisata terbaik di Korea Selatan", ])for res in hasil:# mencetak konten dari setiap hasil.print(res.content)
Model Multimodal
Model multimodal yang diimplementasikan dalam langchain-teddynote dapat digunakan dengan model gemini-1.5-pro untuk mengonversi gambar ke teks.
from langchain_teddynote.models import MultiModalfrom langchain_teddynote.messages import stream_response# Membuat objekgemini =ChatGoogleGenerativeAI(model="gemini-1.5-pro-latest")system_prompt = ("Anda adalah seorang penyair, dan tugas Anda adalah menulis puisi dengan gambar yang diberikan.")user_prompt ="Tulislah sebuah puisi tentang gambar berikut ini."# Membuat objek multimodalmultimodal_gemini =MultiModal( llm, system_prompt=system_prompt, user_prompt=user_prompt)
# tentukan jalur ke gambar sampel (jalur ke file, URL, dll.)IMAGE_URL ="images/beach.jpg"# kueri dari file gambaranswer = multimodal_gemini.stream(IMAGE_URL)# mengeluarkan setiap token secara streaming (keluaran waktu nyata)stream_response(answer)
Langit biru membentang luas,
Samudra berkilauan, sentuhan halus.
Sebuah pulau hijau, di bawah sinar matahari,
Sebuah pemandangan tenang, hari yang baru saja dimulai.
Air jernih, warna biru kehijauan,
Membisikkan kisah, lembut dan benar.
Batu-batu vulkanik, gelap dan dalam,
Rahasia yang mereka simpan, tidur nyenyak.
Gelombang kecil menari, dengan renda putih,
Di atas pasir keemasan, cahaya lembut.
Sebuah momen yang ditangkap, pemandangan untuk dilihat,
Kedamaian yang tenang, jiwa terbebas.