نحوه راه اندازی و دسترسی و استفاده رایگان از Gemini API
به گزارش رسانه مدیاتی، Gemini مدل جدیدی است که توسط گوگل توسعه یافته است. با استفاده از Gemini، میتوانید با ارائه تصاویر، صدا و متن برای سوالات خود پاسخهای تقریباً کاملی دریافت کنید. در این آموزش با Gemini API و نحوه راهاندازی آن روی دستگاه خود آشنا خواهید شد. ما همچنین توابع مختلف Python API از جمله تولید متن و درک تصویر را نیز بررسی خواهیم کرد.
معرفی مدلهای هوش مصنوعی Gemini
Gemini مدل جدیدی از هوش مصنوعی است که از طریق همکاری بین تیمهای Google، از جمله Google Research و Google DeepMind ایجاد شده است. این مدل به طور خاص چندوجهی ساخته شده است، به این معنی که میتواند انواع مختلف دادهها مانند متن، کد، صدا، تصاویر و ویدئو را درک کند و با آن کار کند.
جمینی پیشرفتهترین و بزرگترین مدل هوش مصنوعی است که تا به امروز توسط گوگل توسعه یافته است. این ربات، به گونهای طراحی شده است که بسیار انعطافپذیر باشد به طوری که بتواند به طور موثر در طیف گستردهای از سیستمها، از مراکز داده گرفته تا دستگاههای تلفن همراه، کار کند. این به این معنی است که این پتانسیل را دارد که روشی را که کسبوکارها و توسعهدهندگان میتوانند با آنها برنامههای هوش مصنوعی بسازند و مقیاسبندی کنند، متحول کند.
در اینجا سه نسخه از مدل Gemini برای موارد استفادههای مختلف طراحی شده است:
- Gemini Ultra: بزرگترین و پیشرفتهترین هوش مصنوعی که قادر به انجام کارهای پیچیده است.
- Gemini Pro: مدل متعادلی که عملکرد و مقیاسپذیری خوبی دارد.
- Gemini Nano: کارآمدترین برای دستگاههای تلفن همراه.
Gemini Ultra دارای عملکردی پیشرفته است که در چندین معیار، از عملکرد GPT-4 فراتر میرود. این اولین مدلی است که در معیار درک زبان، دانش جهانی و حل مسئله را در 57 موضوع مختلف آزمایش میکند و از متخصصان انسانی هم پیشی گرفته است.
راهاندازی
برای استفاده از API، ابتدا باید یک کلید API دریافت کنیم که میتوانید از لینک زیر آن را دانلود کنید:
https://ai.google.dev/tutorials/setup
پس از آن روی دکمه Get an API key کلیک کنید و سپس روی Create API key in new project کلیک کنید.
کلید API را کپی کرده و آن را به عنوان متغیر محیطی تنظیم کنید. میتوانید از Deepnote استفاده کنید. به integration بروید، به پایین بروید و environment variables را انتخاب کنید.
در مرحله بعد، API پایتون را با استفاده از PIP نصب کنید: pip install -q -U google-generativeai
پس از آن، کلید API را روی GenAI Google تنظیم کنید و کار را شروع کنید: import google.generativeai as genai import os
gemini_api_key = os.environ[“GEMINI_API_KEY”] genai.configure(api_key = gemini_api_key)
استفاده از Gemini Pro
پس از تنظیم کلید API، استفاده از مدل Gemini Pro برای تولید محتوا ساده است. یک فرمان برای تابع generate_content ارائه دهید و خروجی را به صورت Markdown نمایش دهید.
from IPython.display import Markdown model = genai.GenerativeModel(‘gemini-pro’) response = model.generate_content(“Who is the GOAT in the NBA?”) Markdown(response.text)
Gemini میتواند چندین پاسخ برای یک درخواست ایجاد کند. شما میتوانید مناسبترین پاسخ را انتخاب کنید.
response.candidates
برای آزمایش، از آن بخواهید که یک بازی ساده در پایتون انجام دهد.
response = model.generate_content(“Build a simple game in Python”) Markdown(response.text)
نتیجه ساده و دقیق است. اکثر LLMها به جای نوشتن کد پایتون، شروع به توضیح آن میکنند.
پیکربندی پاسخ
میتوانید پاسخ خود را با استفاده از آرگومان ‘generation_config’ سفارشی کنید.
response = model.generate_content( ‘Write a short story about aliens.’, generation_config=genai.types.GenerationConfig( candidate_count=1, stop_sequences=[‘space’], max_output_tokens=200, temperature=0.7) ) Markdown(response.text)
پاسخ استریمینگ
همچنین میتوانید از آرگومان «stream» برای پخش استریمینگ پاسخ استفاده کنید. این کار شبیه به Anthropic و OpenAI API است اما سریعتر از آن است.
model = genai.GenerativeModel(‘gemini-pro’) response = model.generate_content(“Write a Julia function for cleaning the data.”, stream=True) for chunk in response: print(chunk.text)
استفاده از Gemini Pro Vision
در این بخش، یک عکس را بارگیری میکنیم و از آن برای آزمایش چندوجهی بودن Gemini Pro Vision استفاده میکنیم.
تصاویر را در “PIL” بارگیری کرده و آن را نمایش دهید.
import PIL.Image img = PIL.Image.open(‘images/photo-1.jpg’) img
در زیر مشاهده میکنید که ما یک عکس باکیفیت از طاق روآ آگوستا داریم. بیایید مدل Gemini Pro Vision را بارگذاری کنیم و تصویر را در اختیار آن قرار دهیم.
model = genai.GenerativeModel(‘gemini-pro-vision’) response = model.generate_content(img) Markdown(response.text)
این مدل به طور دقیق کاخ را شناسایی کرد و اطلاعات بیشتری در مورد تاریخچه و معماری آن ارائه کرد.
اگر همان تصویر را به GPT-4 ارائه دهیم و از آن در مورد تصویر بپرسیم، هر دو مدل پاسخهای تقریبا مشابهی ارائه کردهاند. اما پاسخ GPT-4 کمی بهتر است.
اکنون متن و تصویر را به API ارائه میدهیم. ما از مدل خواستهایم تا با استفاده از تصویر به عنوان مرجع، یک وبلاگ سفر بنویسد.
response = model.generate_content([“Write a travel blog post using the image as reference.”, img]) Markdown(response.text)
در مقایسه با GPT-4، مدل Gemini Pro Vision برای ایجاد یک وبلاگ با فرمت طولانی تلاش بیشتری کرده است.
جلسه گفتگوهای چت
میتوانیم مدل را طوری تنظیم کنیم که یک جلسه گفتگوی دو طرفه داشته باشیم. به این ترتیب مدل، زمینه و پاسخ را با استفاده از مکالمات قبلی به خاطر میآورد.
در مورد زیر، از مدل درخواست شده که به کاربر کمک کند تا درباره بازی Dota 2 او را راهنمایی کند.
model = genai.GenerativeModel(‘gemini-pro’) chat = model.start_chat(history=[]) chat.send_message(“Can you please guide me on how to start playing Dota 2?”) chat.history
همانطور که می بینید، تاریخچه کاربر و حالت چت را ذخیره میکند. همچنین میتوانید آنها را به سبک Markdown نمایش دهید.
for message in chat.history: display(Markdown(f'{message.role}: {message.parts[0].text}’))
بیایید سوال بعدی را بپرسیم.
chat.send_message(“Which Dota 2 heroes should I start with?”) for message in chat.history: display(Markdown(f'{message.role}: {message.parts[0].text}’))
میتوانیم به پایین اسکرول کنیم و کل گفتوگو با مدل را ببینیم.
استفاده از Embeddings
مدل Gemini embedding-001 به کلمات، جملات یا کل اسناد اجازه میدهد تا به عنوان بردارهای متراکم که قابلیت رمزگذاری دارند، نمایش داده شوند. این نمایش برداری امکان مقایسه شباهت بین قطعات مختلف متن را با مقایسه بردارهای متناظر آنها فراهم میکند.
همچنین میتوانید محتوا را به «embed_content» ارائه کنید.
output = genai.embed_content( model=”models/embedding-001″, content=”Can you please guide me on how to start playing Dota 2?”, task_type=”retrieval_document”, title=”Embedding of Dota 2 question”) print(output[’embedding’][0:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664]
میتوانید چندین تکه متن را با ارسال فهرستی از رشتهها به آرگومان content، به جاسازیها تبدیل کنیم.
output = genai.embed_content( model=”models/embedding-001″, content=[ “Can you please guide me on how to start playing Dota 2?”, “Which Dota 2 heroes should I start with?”, ], task_type=”retrieval_document”, title=”Embedding of Dota 2 question”) for emb in output[’embedding’]: print(emb[:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664] [0.04775657, -0.044990525, -0.014886052, -0.08473655, 0.04060122, 0.035374347, 0.031866882, 0.071754575, 0.042207796, 0.04577447]
نتیجه
توابع پیشرفته بسیار زیادی وجود دارد که در این آموزش مقدماتی به آنها اشاره نکردیم. با رفتن به Gemini API: Quickstart with Python میتوانید درباره Gemini API بیشتر بدانید. در این آموزش با Gemini و نحوه دسترسی به API پایتون برای تولید پاسخ آشنا شدید. به طور خاص، ما در مورد تولید متن، درک بصری، تاریخچه مکالمه و… صحبت کردیم. با این حال، این فقط بخش کوچکی از کاری است که Gemini میتواند انجام دهد.