Начните работать с Gemini Pro используя Python за 5 минут

30 апреля 2024
Начните работать с Gemini Pro используя Python за 5 минут

Google Gemini Pro является частью новейшей модели ИИ Google Gemini, которая была объявлена как их наиболее способная и общая модель ИИ на сегодняшний день. Это значительный шаг вперед в разработке ИИ Google, предназначенной для решения широкого круга задач с передовыми показателями по многим ведущим тестам. Gemini Pro, наряду с Gemini Ultra и Gemini Nano, был представлен, чтобы отметить начало того, что Google DeepMind называет эрой Gemini.

Google Bard теперь Gemini
Google Bard теперь Gemini

Gemini Pro был запущен в январе 2024 года после сотрудничества с Samsung по интеграции Gemini Nano и Gemini Pro в линейку смартфонов Galaxy S24. Фактически, даже их приложение-конкурент ChatGPT, Bard, было переименовано в Gemini в начале февраля. Мы также увидели введение «Gemini Advanced с Ultra 1.0» в AI Premium в сервисе подписки Google One.

Одной из ключевых особенностей Gemini Pro является его API, который позволяет разработчикам быстро разрабатывать и интегрировать в свои приложения функции ИИ. API поддерживает различные языки программирования, включая Python, который мы будем использовать в это статье, чтобы показать вам, как начать использовать большую языковую модель Gemini Pro бесплатно (на апрель 2024 года)!

Основы Gemini

Gemini от Google — это набор моделей ИИ, предназначенных для выполнения широкого спектра задач, включая создание контента и решение проблем с использованием текстовых и графических входных данных. Вот краткий обзор различных моделей Gemini, к которым вы можете легко получить доступ через API:

Ключевые модели Gemini, доступные в виде API
Ключевые модели Gemini, доступные в виде API

Цены на API Gemini

На данный момент использование API Gemini Pro является бесплатным, но вскоре будет доступен и платный тариф.

Цены на API Gemini
Цены на API Gemini

Начало работы с Gemini Pro и Python

Давайте начнем с создания базовых функций LLM с использованием API Gemini Pro и Python. Мы покажем вам, как получить ключ API, а затем использовать соответствующие LLM Gemini в Python.

Получение ключа API от Google AI Studio

Google AI Studio — это бесплатный веб-инструмент, который позволяет быстро разрабатывать запросы и получать ключ API для разработки приложений. Вы можете войти в Google AI Studio с помощью своей учетной записи Google и получить ключ API.

Создание ключа API в Google AI Studio
Создание ключа API в Google AI Studio

Создайте ключ API в Google AI Studio

Не забудьте сохранить ключ в надежном месте и не публиковать его на публичной платформе, такой как GitHub.

Google Gemini Pro по-прежнему пока недоступен в некоторых странах. Проверьте доступные регионы здесь.

Использование API Gemini Pro с Python для текстовых входных данных

Чтобы начать использовать API Gemini Pro, нам нужно установить пакет google-generativeai из PyPI или GitHub

pip install -q -U google-generativeai

Теперь сохраним ключ API в файл YAML, чтобы загрузить его, и нам не придется размещать ключ в открытом виде в своем коде. В переменной сохраним значение своего ключа API следующим образом:

import yaml

with open('gemini_key.yml', 'r') as file:
    api_creds = yaml.safe_load(file)

GOOGLE_API_KEY = api_creds['gemini_key']

Следующим шагом является создание соединения с моделью Gemini Pro через API следующим образом, где сначала вам нужно использовать свой API для установки конфигурации, а затем загрузить модель (или скорее создать соединение с моделью на серверах Google).

import google.generativeai as genai

genai.configure(api_key=GOOGLE_API_KEY)
model = genai.GenerativeModel('gemini-pro')

Теперь мы готовы начать использовать Gemini Pro! Давайте выполним базовую задачу получения данных.

response = model.generate_content("Объясните генеративный искусственный интеллект с помощью 3 пунктов")
to_markdown(response.text)

Результат:

1.**Генерирует новый контент:** В отличие от традиционного искусственного интеллекта, который сосредоточен на распознавании и классификации существующих данных, генеративный ИИ способен создавать совершенно новый контент, такой как текст, изображения, музыку и код.
2.**Обучается на данных:** Генеративные модели ИИ обучаются на огромных объемах данных, что позволяет им изучать закономерности и структуры в этих данных. Затем эти знания используются для генерации нового контента, который выглядит и чувствуется так же, как исходные данные.
3.**Используется для различных приложений:** Генеративный ИИ находит применение в самых разных областях, включая:
- **Создание контента:** генерация изображений, написание статей, сочинение музыки
- **Искусство и дизайн:** создание новых художественных стилей, разработка новых продуктов
- **Исследование и разработка:** генерация гипотез, открытие новых лекарственных средств
- **Образование:** создание персонализированных материалов для обучения, автоматизация оценивания

Функция to_markdown(...) улучшает внешний вид результата.

Теперь попробуем более практический пример. Представьте, что вы автоматизируете IT-поддержку в нескольких регионах с разными языками. Мы заставим LLM попытаться определить исходный язык клиента, перевести ее на русский, ответить на исходном языке клиента.

it_support_queue = [
    "Я не могу получить доступ к своей электронной почте. Она постоянно выдает сообщение об ошибке. Пожалуйста, помогите.",
    "Tengo problemas con la VPN. No puedo conectarme a la red de la empresa. ¿Pueden ayudarme, por favor?",
    "Mon imprimante ne répond pas et n'imprime plus. J'ai besoin d'aide pour la réparer.",
    "Eine wichtige Software stürzt ständig ab und beeinträchtigt meine Arbeit. Können Sie das Problem beheben?",
    "我无法访问公司的网站。每次都显示错误信息。请帮忙解决。"
]

it_support_queue_msgs = f"""
"""

for i, msg in enumerate(it_support_queue):
  it_support_queue_msgs += "\nMessage " + str(i+1) + ": " + msg

prompt = f"""
Выступай в роли агента службы поддержки клиентов. Не забывай запрашивать необходимую информацию по вопросу клиента, чтобы решить проблему.
Не отказывай в помощи, не попросив соответствующей информации. Для каждого сообщения службы поддержки, указанного ниже
в тройных значках, создайте ответ в виде таблицы со следующими столбцами:
  orig_msg: Оригинальное сообщение клиента
  orig_lang: Обнаруженный язык сообщения клиента, например, испанский
  trans_msg: Перевод сообщения клиента на русский язык
  response: Ответ клиенту на языке orig_lang
  trans_response: Ответ клиенту на русском языке
Messages:
'''{it_support_queue_msgs}'''
"""

Теперь, когда у нас есть запрос, готовый к передаче в LLM, давайте выполним его!

response = model.generate_content(prompt)
to_markdown(response.text)

Ответ на наш запрос от Gemini Pro LLM

orig_msgorig_langtrans_msgresponsetrans_response
Я не могу получить доступ к своей электронной почте. Она постоянно выдает сообщение об ошибке. Пожалуйста, помогите.РусскийЯ не могу получить доступ к своей электронной почте. Она постоянно выдает сообщение об ошибке. Пожалуйста, помогите.Возможно, ваша учетная запись была взломана. Укажите, пожалуйста, ваш адрес электронной почты, чтобы мы могли разобраться в этом вопросе.Возможно, ваша учетная запись была взломана. Укажите, пожалуйста, ваш адрес электронной почты, чтобы мы могли разобраться в этом вопросе.
Tengo problemas con la VPN. No puedo conectarme a la red de la empresa. ¿Pueden ayudarme, por favor?ИспанскийУ меня проблемы с VPN. Я не могу подключиться к сети компании. Вы можете мне помочь, пожалуйста?Si nos proporciona el modelo y el número de serie del dispositivo que usa para conectarse al VPN, podremos detectar el problema y corregirlo.Если вы сообщите нам марку и номер модели устройства, которое вы используете для подключения к VPN, мы сможем устранить неполадку и решить проблему.
Mon imprimante ne répond pas et n'imprime plus. J'ai besoin d'aide pour la réparer.ФранцузскийМой принтер не отвечает на запросы и перестал печатать. Мне нужна помощь, чтобы это исправить .Voudriez-vous nous fournir la marque et le modèle de l'imprimante pour que nous puissions vous aider à déterminer la cause du problème ?Не могли бы вы сообщить нам марку и модель вашего принтера, чтобы мы могли помочь вам определить причину проблемы?
Eine wichtige Software stürzt ständig ab und beeinträchtigt meine Arbeit. Können Sie das Problem beheben?НемецкийВажное программное обеспечение продолжает сбоить, и это влияет на мою работу. Вы можете это исправить?Gerne! Um Ihnen zu helfen, benötigen wir den Namen der Software und Version. Möglicherweise können wir außerdem Unterstützung anbieten, wenn Sie uns mitteilen, wann das Problem auftritt.Мы будем рады помочь! Для этого нам понадобится название и версия программного обеспечения. Мы также сможем помочь, если вы сообщите нам, когда возникла проблема.
我无法访问公司的网站,每次都会出现错误提示。请帮助解决。КитайскийЯ не могу получить доступ к веб-сайту компании. Он каждый раз выдает ошибку. Пожалуйста, помогите решить эту проблему.好的,为了帮助您解决问题,请发送错误信息的截图,以及您尝试访问网站时使用的设备和浏览器的信息。Хорошо, чтобы помочь вам решить эту проблему, пожалуйста, пришлите нам скриншот сообщения об ошибке, а также информацию об устройстве и браузере, которые вы используете при попытке зайти на сайт.

Отлично! С более подробной информацией или системой RAG ответы могут быть еще более релевантными и полезными.

Использование Gemini Pro Vision API с Python для текстовых и графических входных данных

Google выпустил мультимодальный LLM Gemini Pro Vision, который может принимать в качестве входных данных текст и изображения и возвращать текст в качестве выходных данных. Помните, что это все еще LLM, который выводит только текст. Давайте использовать его с простым вариантом использования для понимания изображения и создания на его основе короткой истории!

Сначала мы загружаем изображение.

import PIL.Image

img = PIL.Image.open('cat_pc.jpg')
img

После этого мы загружаем модель Gemini Pro Vision и отправляем ей следующий запрос, чтобы получить ответ.

model = genai.GenerativeModel('gemini-pro-vision')
prompt = """
Сначала опиши заданную картинку, основываясь на том, что вы видишь.
Затем напиши короткий рассказ, основанный на твоем понимании изображения.
Описание и рассказ должны быть представлены в виде двух отдельных пунктов с соответствующими заголовками
"""

response = model.generate_content(contents=[prompt, img])
to_markdown(response.text)

Ответ на наш запрос от Gemini Pro Vision LLM

Описание:
На картинке изображен рыжий кот, сидящий на компьютерном столе. Кот положил лапу на экран компьютера и пристально смотрит на него. На столе лежат клавиатура и мышь, а перед котом стоит монитор.

Короткий рассказ:
Коту было скучно. Он уже несколько часов сидел на компьютерном столе и наблюдал, как его хозяин играет в видеоигры. Он видел всё это раньше и начинал уставать. Ему хотелось чем-нибудь заняться, но он не знал чем.
Внезапно ему пришла в голову идея. Он попробует сам поиграть в видеоигру! Он протянул лапу и положил ее на клавиатуру. Хозяин посмотрел на него и засмеялся.
"Что ты делаешь, Миттенс?" - спросил он. "Ты же не умеешь играть в видеоигры."
Но Миттенс был полон решимости. Он начал нажимать на клавиши клавиатуры, и хозяин был поражен. Миттенс действительно играл в игру!
Хозяин наблюдал, как Миттенс играет в игру. Он был удивлен, насколько хорошо у него получается. Миттенсу удалось пройти первый уровень игры, и он даже смог добраться до второго уровня.
Хозяин был настолько впечатлен, что решил позволить Миттенсу играть в игру весь оставшийся день. Миттенс получил массу удовольствия и даже прошел игру!
Хозяин был так счастлив, что позволил Миттенсу поиграть. Он понял, что, хотя Миттенс и кот, он все равно может получать удовольствие от видеоигр.

В целом неплохо!

Вы также можете использовать Gemini Pro для создания интерактивных чат-ботов. Это будет выглядеть как отправка сообщений в API и получение ответов, поддерживающих многоходовые разговоры. Ознакомиться с подробной документацией по API для получения примеров.

В заключение, независимо от того, являетесь ли вы опытным разработчиком или только начинаете, Gemini Pro от Google и Python предоставляют довольно простой и мощный способ добавить передовые ИИ технологии в ваши приложения и проекты. Более того, на данный момент API Gemini Pro бесплатный — это приглашение, чтобы изучить возможности LLM без первоначальных вложений. Хотя ожидается будущие изменения цен, возможность начать создавать с таким мощным инструментом бесплатно — это настоящая находка!

Теперь вы получили представление о том, как получить ключ API через Google AI Studio, чтобы использовать API Gemini Pro в Python.

Нейросети

смотреть все
Нейросеть Infinite Craft By Neal - Игры

Infinite Craft By Neal

Игра с искусственным интеллектом, в которой вам предстоит соединить два элемента, чтобы создать новый.

Игры
Бесплатно
Нейросеть HeyGen AI - Аватары и цифровые 3D персонажи

HeyGen AI

Переводите свои видео на любой язык с помощью искусственного интеллекта (бета-версия). Автоматический перевод и клонирование вашего голоса

Нейросеть Face Swap by Remaker - Дипфейк,Редактирование изображений

Face Swap by Remaker

Легко меняйте лица на своих фотографиях с помощью бесплатного, безопасного онлайн-инструмента. Идеально подходит для создания юмористических видеороликов, мемов и т. д.