Изображение по автору
В этом уроке мы узнаем, как настроить и использовать API OpenAI для различных случаев использования. Учебное пособие разработано таким образом, чтобы его было легко понять даже тем, у кого ограниченные знания программирования на Python. Мы рассмотрим, как каждый может генерировать ответы и получать доступ к высококачественным большим языковым моделям.
Ассоциация API OpenAI позволяет разработчикам легко получить доступ к широкому спектру моделей искусственного интеллекта, разработанных OpenAI. Он предоставляет удобный интерфейс, который позволяет разработчикам включать в свои приложения интеллектуальные функции, основанные на самых современных моделях OpenAI. API можно использовать для различных целей, включая генерацию текста, многоходовой чат, встраивание, транскрипцию, перевод, преобразование текста в речь, понимание изображений и генерацию изображений. Кроме того, API совместим с Curl, Python и Node.js.
Чтобы начать работу с OpenAI API, вам сначала необходимо создать учетную запись на openai.com. Раньше каждому пользователю предоставлялся бесплатный кредит, но теперь новые пользователи должны приобрести кредит.
Чтобы приобрести кредит, перейдите в «Настройки», затем «Оплата» и, наконец, «Добавить платежные реквизиты». Введите данные своей дебетовой или кредитной карты и обязательно отключите автоматическое пополнение счета. После того, как вы загрузите 10 долларов США, вы сможете использовать их в течение года.
Давайте создадим ключ API, перейдя к «Ключам API» и выбрав «Создать новый секретный ключ». Дайте ему имя и нажмите «Создать секретный ключ».
Скопируйте API и создайте переменную среды на локальном компьютере.
В качестве IDE я использую Deepnote. Легко создавать переменные среды. Просто перейдите в «Интеграция», выберите «Создать переменную среды», укажите имя и значение ключа и создайте интеграцию.
Далее мы установим пакет OpenAI Python с помощью pip.
%pip install --upgrade openai
Теперь мы создадим клиент, который сможет получить доступ к различным типам моделей по всему миру.
Если вы установили переменную среды с именем «OPENAI_API_KEY», вам не нужно предоставлять клиенту OpenAI ключ API.
from openai import OpenAI
client = OpenAI()
Обратите внимание, что вам следует предоставлять ключ API только в том случае, если имя вашей переменной среды отличается от имени по умолчанию.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("SECRET_KEY"),
)
Мы будем использовать устаревшую функцию для генерации ответа. Для генерации ответа функции завершения требуются имя модели, приглашение и другие аргументы.
completion = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a short story about Elon Musk being the biggest troll.",
max_tokens=300,
temperature=0.7,
)
print(completion.choices[0].text)
Модель GPT3.5 создала удивительную историю об Илоне Маске.
Мы также можем передать наш ответ в потоковом режиме, предоставив дополнительный аргумент «поток».
Вместо ожидания полного ответа функция потока позволяет обрабатывать выходные данные сразу после их создания. Этот подход помогает уменьшить воспринимаемую задержку, возвращая выходные данные языковой модели по токенам, а не все сразу.
stream = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a Python code for accessing the REST API securely.",
max_tokens=300,
temperature=0.7,
stream = True
)
for chunk in stream:
print(chunk.choices[0].text, end="")
В модели использовалось завершение чата API. Прежде чем генерировать ответ, давайте изучим доступные модели.
Вы можете просмотреть список всех доступных моделей или прочитать Модели страница официальной документации.
print(client.models.list())
Мы будем использовать последнюю версию GPT-3.5 и предоставим ей список словаря для системных подсказок и сообщений пользователя. Обязательно следуйте той же схеме сообщений.
completion = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=[
{
"role": "system",
"content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity.",
},
{
"role": "user",
"content": "What is Feature Engineering, and what are some common methods?",
},
],
)
print(completion.choices[0].message.content)
Как мы видим, мы получили тот же результат, что и устаревший API. Итак, зачем использовать этот API? Далее мы узнаем, почему API завершения чата более гибкий и простой в использовании.
Feature engineering is the process of selecting, creating, or transforming features (variables) in a dataset to improve the performance of machine learning models. It involves identifying the most relevant and informative features and preparing them for model training. Effective feature engineering can significantly enhance the predictive power of a model and its ability to generalize to new data.
Some common methods of feature engineering include:
1. Imputation: Handling missing values in features by filling them in with meaningful values such as the mean, median, or mode of the feature.
2. One-Hot Encoding: Converting categorical variables into binary vectors to represent different categories as individual features.
3. Normalization/Standardization: Scaling numerical features to bring t.........
Теперь мы научимся вести многоходовой диалог с нашей моделью ИИ. Для этого мы добавим ответ помощника к предыдущему разговору, а также включим новое приглашение в тот же формат сообщения. После этого мы предоставим список словарей функции завершения чата.
chat=[
{"role": "system", "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity."},
{"role": "user", "content": "What is Feature Engineering, and what are some common methods?"}
]
chat.append({"role": "assistant", "content": str(completion.choices[0].message.content)})
chat.append({"role": "user", "content": "Can you summarize it, please?"})
completion = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=chat
)
print(completion.choices[0].message.content)
Модель поняла контекст и обобщила для нас разработку функций.
Feature engineering involves selecting, creating, or transforming features in a dataset to enhance the performance of machine learning models. Common methods include handling missing values, converting categorical variables, scaling numerical features, creating new features using interactions and polynomials, selecting important features, extracting time-series and textual features, aggregating information, and reducing feature dimensionality. These techniques aim to improve the model's predictive power by refining and enriching the input features.
Для разработки продвинутых приложений нам необходимо преобразовать текст во встроенные элементы. Эти вложения используются для поиска по сходству, семантического поиска и рекомендательных систем. Мы можем генерировать внедрения, предоставляя текст API и имя модели. Это так просто.
text = "Data Engineering is a rapidly growing field that focuses on the collection, storage, processing, and analysis of large volumes of structured and unstructured data. It involves various tasks such as data extraction, transformation, loading (ETL), data modeling, database design, and optimization to ensure that data is accessible, accurate, and relevant for decision-making purposes."
DE_embeddings = client.embeddings.create(input=text, model="text-embedding-3-small")
print(chat_embeddings.data[0].embedding)
[0.0016297283582389355, 0.0013418874004855752, 0.04802832752466202, -0.041273657232522964, 0.02150309458374977, 0.004967313259840012,.......]
Теперь мы можем конвертировать текст в речь, речь в текст, а также переводить его с помощью аудио API.
транскрипций
Мы будем использовать Wi-Fi 7 изменит все видео на YouTube и конвертируйте его в mp3. После этого мы откроем файл и предоставим его API аудиорасшифровки.
audio_file= open("Data/techlinked.mp3", "rb")
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
print(transcript.text)
Модель Whisper великолепна. Он имеет идеальную расшифровку аудио.
The Consumer Electronics Show has officially begun in Las Vegas and we'll be bringing you all the highlights from right here in our regular studio where it's safe and clean and not a desert. I hate sand. The Wi-Fi Alliance announced that they have officially confirmed the Wi-Fi 7 standard and they've already started to certify devices to ensure they work together. Unlike me and Selena, that was never gonna last. The new standard will have twice the channel bandwidth of Wi-Fi 5, 6, and 6E, making it better for, surprise,......
Переводы
Мы также можем расшифровать английское аудио на другой язык. В нашем случае мы будем конвертировать его в язык урду. Мы просто добавим еще один аргумент «язык» и предоставим ему код языка ISO «ur».
translations = client.audio.transcriptions.create(
model="whisper-1",
response_format="text",
language="ur",
file=audio_file,
)
print(translations)
Перевод для нелатинских языков несовершенен, но его можно использовать для минимально жизнеспособного продукта.
کنسومر ایلیکٹرانک شاہی نے لاس بیگیس میں شامل شروع کیا ہے اور ہم آپ کو جمہوری بہترین چیزیں اپنے ریگلر سٹوڈیو میں یہاں جارہے ہیں جہاں یہ آمید ہے اور خوبصورت ہے اور دنیا نہیں ہے مجھے سانڈ بھولتا ہے وائ فائی آلائنٹس نے اعلان کیا کہ انہوں نے وائ فائی سیبن سٹانڈرڈ کو شامل شروع کیا اور انہوں ن........
Текст в речь
Чтобы преобразовать ваш текст в естественно звучащий звук, мы будем использовать речевой API и предоставим ему имя модели, имя актера озвучивания и входной текст. Далее мы сохраним аудиофайл в нашу папку «Data».
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input= '''I see skies of blue and clouds of white
The bright blessed days, the dark sacred nights
And I think to myself
What a wonderful world
'''
)
response.stream_to_file("Data/song.mp3")
Чтобы прослушать аудиофайл в Deepnote Notebook, мы будем использовать функцию IPython Audio.
from IPython.display import Audio
Audio("Data/song.mp3")
API OpenAI предоставляет пользователям доступ к мультимодальной модели через функцию завершения чата. Для понимания изображений мы можем использовать новейшую модель зрения GPT-4.
В аргументе сообщения мы предоставили приглашение задавать вопросы об изображении и URL-адресе изображения. Изображение взято с сайта Pixabay. Во избежание ошибок убедитесь, что вы используете один и тот же формат сообщения.
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Could you please identify this image's contents and provide its location?",
},
{
"type": "image_url",
"image_url": {
"url": "https://images.pexels.com/photos/235731/pexels-photo-235731.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
},
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
Результат прекрасно объясняет изображение.
This is an image of a person carrying a large number of rice seedlings on a carrying pole. The individual is wearing a conical hat, commonly used in many parts of Asia as protection from the sun and rain, and is walking through what appears to be a flooded field or a wet area with lush vegetation in the background. The sunlight filtering through the trees creates a serene and somewhat ethereal atmosphere.
It's difficult to determine the exact location from the image alone, but this type of scene is typically found in rural areas of Southeast Asian countries like Vietnam, Thailand, Cambodia, or the Philippines, where rice farming is a crucial part of the agricultural industry and landscape.
Вместо предоставления URL-адреса изображения мы также можем загрузить локальный файл изображения и предоставить его API завершения чата. Для этого нам сначала нужно скачать изображение с помощью Манджит Сингх Ядав с сайта pexels.com.
!curl -o /work/Data/indian.jpg "https://images.pexels.com/photos/1162983/pexels-photo-1162983.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
Затем мы загрузим изображение и закодируем его в формате base64.
import base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
image_path = "Data/indian.jpg"
# generating the base64 string
base64_image = encode_image(image_path)
Вместо URL-адреса изображения мы предоставим метаданные и строку base64 изображения.
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Could you please identify this image's contents.",
},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}"
},
},
],
}
],
max_tokens=100,
)
print(response.choices[0].message.content)
Модель успешно проанализировала изображение и предоставила подробное объяснение.
The image shows a woman dressed in traditional Indian attire, specifically a classical Indian saree with gold and white colors, which is commonly associated with the Indian state of Kerala, known as the Kasavu saree. She is adorned with various pieces of traditional Indian jewelry including a maang tikka (a piece of jewelry on her forehead), earrings, nose ring, a choker, and other necklaces, as well as bangles on her wrists.
The woman's hairstyle features jasmine flowers arranged in
Мы также можем генерировать изображения, используя модель DALLE-3. Нам просто нужно предоставить API изображений название модели, подсказку, размер, качество и количество изображений.
response = client.images.generate(
model="dall-e-3",
prompt="a young woman sitting on the edge of a mountain",
size="1024x1024",
quality="standard",
n=1,
)
image_url = response.data[0].url
Сгенерированное изображение сохраняется в Интернете, и вы можете загрузить его для просмотра локально. Для этого мы загрузим изображение с помощью функции «запрос», указав URL-адрес изображения и локальный каталог, в котором вы хотите его сохранить. После этого мы будем использовать функцию изображения библиотеки Pillow, чтобы открыть и показать изображение.
import urllib.request
from PIL import Image
urllib.request.urlretrieve(image_url, '/work/Data/woman.jpg')
img = Image.open('/work/Data/woman.jpg')
img.show()
Мы получили качественно сгенерированное изображение. Это просто потрясающе!
Если у вас возникли проблемы с запуском какого-либо API-интерфейса OpenAI Python, ознакомьтесь с моим проектом на Глубокая заметка.
Я уже некоторое время экспериментировал с OpenAPI, и в итоге мы использовали кредит всего в 0.22 доллара, что я считаю вполне доступным. Благодаря моему руководству даже новички смогут начать создавать собственные приложения искусственного интеллекта. Это простой процесс — вам не нужно обучать собственную модель или развертывать ее. Вы можете получить доступ к самым современным моделям с помощью API, который постоянно совершенствуется с каждой новой версией.
В этом руководстве мы расскажем, как настроить API OpenAI Python и генерировать простые текстовые ответы. Мы также узнаем о многоходовом чате, встраиваниях, транскрипции, переводе, преобразовании текста в речь, зрении и API-интерфейсах создания изображений.
Дайте мне знать, если вы хотите, чтобы я использовал эти API для создания расширенного приложения искусственного интеллекта.
Спасибо за чтение.
Абид Али Аван (@ 1abidaliawan) — сертифицированный специалист по анализу данных, который любит создавать модели машинного обучения. В настоящее время он занимается созданием контента и ведением технических блогов по технологиям машинного обучения и обработки данных. Абид имеет степень магистра в области управления технологиями и степень бакалавра в области телекоммуникаций. Его видение состоит в том, чтобы создать продукт искусственного интеллекта с использованием графовой нейронной сети для студентов, борющихся с психическими заболеваниями.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://www.kdnuggets.com/openai-api-for-beginners-your-easy-to-follow-starter-guide?utm_source=rss&utm_medium=rss&utm_campaign=openai-api-for-beginners-your-easy-to-follow-starter-guide
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 10
- 12
- 13
- 14
- 16
- 17
- 19
- 2%
- 20
- 21
- 22
- 5
- 6
- 7
- 8
- 9
- a
- способность
- О нас
- об этом
- доступ
- доступной
- доступа
- Учетная запись
- точный
- Добавить
- Дополнительно
- искусный
- продвинутый
- доступной
- После
- агрегирование
- сельскохозяйственное
- AI
- AI модели
- цель
- Все
- Альянс
- позволяет
- сплав
- в одиночестве
- уже
- причислены
- удивительный
- an
- анализ
- проанализированы
- и
- объявило
- Другой
- любой
- кто угодно
- API
- API
- появляется
- Применение
- Приложения
- подхода
- МЫ
- ПЛОЩАДЬ
- области
- аргумент
- Аргументы
- расположены
- AS
- Азия
- азиатский
- спрашивающий
- помощник
- связанный
- At
- Атмосфера
- аудио
- доступен
- избежать
- фон
- Пропускная способность
- BE
- было
- до
- Новичкам
- начал
- не являетесь
- Лучшая
- Крупнейшая
- биллинг
- двоичный
- благословенный
- блоги
- Синии
- Яркие
- приносить
- Приведение
- строить
- Строительство
- но
- by
- Камбоджа
- CAN
- карта
- проведение
- случаев
- случаев
- категории
- Сертифицированные
- удостоверять
- изменение
- Канал
- чат
- проверка
- чистым
- нажмите на
- клиент
- код
- лыжных шлемов
- COM
- Общий
- обычно
- совместим
- полный
- завершение
- комплекс
- постигать
- понятия
- ПОДТВЕРЖДЕНО
- потребитель
- Бытовая электроника
- содержание
- контентного создание
- содержание
- контекст
- беспрестанно
- Разговор
- конвертировать
- преобразование
- может
- страны
- чехол для варгана
- Создайте
- создает
- Создающий
- создание
- креативность
- кредит
- кредитная карта
- решающее значение
- В настоящее время
- темно
- данным
- наука о данных
- ученый данных
- База данных
- Дней
- Дебет
- Принятие решений
- защиту
- По умолчанию
- Степень
- развертывание
- DESERT
- Проект
- предназначенный
- подробный
- подробнее
- Определять
- развивать
- развитый
- застройщиков
- Устройства
- различный
- трудный
- Дисплей
- do
- документации
- долларов
- Дон
- скачать
- каждый
- легче
- легко
- легко
- Edge
- Эффективный
- Electronics
- Элон
- Elon Musk
- вложения
- позволяет
- кодирование
- закончился
- Проект и
- Двигатели
- Английский
- повышать
- обогащение
- обеспечивать
- Enter
- Окружающая среда
- ошибки
- Эфир (ETH)
- эфирный
- Даже
- Каждая
- точный
- опытные
- экспериментировал
- Объяснять
- объяснение
- Больше
- дополнительно
- добыча
- сельское хозяйство
- Особенность
- Особенности
- чувствовать
- поле
- Файл
- заполнение
- фильтрация
- в заключение
- Найдите
- First
- гибкого
- затопленный
- фокусируется
- фокусировка
- следовать
- Что касается
- лоб
- формат
- найденный
- Бесплатно
- от
- функция
- порождать
- генерируется
- порождающий
- поколение
- получить
- GIF
- Дайте
- данный
- ГЛОБАЛЬНО
- Go
- Золото
- график
- Графическая нейронная сеть
- Рост
- инструкция
- Управляемость
- имеет
- ненавидеть
- Есть
- he
- помогает
- ее
- здесь
- высококачественный
- основной момент
- его
- имеет
- Как
- How To
- HTTPS
- i
- определения
- идентифицирующий
- if
- болезнь
- изображение
- генерация изображения
- изображений
- Импортировать
- важную
- улучшать
- улучшение
- in
- включают
- В том числе
- включать
- Индийская кухня
- individual
- промышленность
- информация
- информативный
- вход
- устанавливать
- интеграции.
- Умный
- взаимодействие
- Интерфейс
- в
- включает в себя
- ISO
- IT
- ЕГО
- ювелирные изделия
- JPG
- всего
- КДнаггетс
- Основные
- ключи
- Знать
- знания
- известный
- пейзаж
- язык
- Языки
- большой
- ЛАГ
- Лас Вегас
- Фамилия
- Задержка
- последний
- УЧИТЬСЯ
- изучение
- Наследие
- позволять
- Библиотека
- такое как
- Ограниченный
- Список
- ll
- загрузка
- погрузка
- локальным
- в местном масштабе
- расположение
- любит
- машина
- обучение с помощью машины
- сделать
- Создание
- управление
- многих
- мастер
- me
- значить
- значимым
- психический
- Психические заболевания
- сообщение
- Сообщения
- Метаданные
- методы
- минимальный
- минимально жизнеспособный продукт
- отсутствующий
- режим
- модель
- моделирование
- Модели
- БОЛЕЕ
- самых
- гора
- Маск:
- my
- себя
- имя
- навигационный
- Необходимость
- сеть
- нервный
- нейронной сети
- никогда
- Новые
- Новые функции
- новые пользователи
- следующий
- узел
- Node.js
- нос
- в своих размышлениях
- ноутбук
- сейчас
- номер
- of
- Официальный представитель в Грузии
- Официально
- on
- консолидировать
- ONE
- онлайн
- только
- открытый
- OpenAI
- оптимизация
- or
- OS
- Другое
- наши
- внешний
- выходной
- собственный
- пакет
- страница
- часть
- части
- шаблон
- оплата
- восприятии
- ИДЕАЛЬНОЕ
- в совершенстве
- производительность
- человек
- Филиппины
- кусок
- штук
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- многочлены
- мощностью
- Питание
- интеллектуального
- подготовка
- предыдущий
- предварительно
- процесс
- обработка
- Продукт
- профессиональный
- Программирование
- Проект
- наводящие
- защиту
- обеспечивать
- при условии
- приводит
- обеспечение
- покупки
- целей
- Питон
- Вопросы
- вполне
- RAIN
- ассортимент
- быстро
- скорее
- Читать
- Reading
- получила
- Рекомендация
- уменьшить
- снижение
- рафинирование
- регулярный
- освободить
- соответствующие
- Ответить
- представлять
- запросить
- обязательный
- требуется
- ответ
- ответы
- ОТДЫХ
- результат
- возвращают
- возвращение
- Рис
- правую
- кольцо
- Роли
- Run
- Сельский
- Сельские районы
- s
- священный
- безопасный
- то же
- SAND
- Сохранить
- сохраняются
- масштабирование
- сцена
- Наука
- Ученый
- Поиск
- Secret
- безопасно
- посмотреть
- выберите
- выбор
- семантический
- набор
- настройки
- она
- Короткое
- должен
- показывать
- Шоу
- существенно
- аналогичный
- просто
- просто
- Сидящий
- Размер
- небо
- So
- некоторые
- в некотором роде
- Скоро
- источников
- юго-восток
- конкретно
- речь
- стандарт
- Начало
- и политические лидеры
- Область
- современное состояние
- диск
- История
- поток
- строка
- структурированный
- структурированные и неструктурированные данные
- Борющийся
- Студенты
- студия
- Успешно
- такие
- суммировать
- Вс
- солнечный свет
- Убедитесь
- сюрприз
- система
- T
- задачи
- Технический
- снижения вреда
- технологии
- Технологии
- телекоммуникация
- текст
- генерация текста
- Преобразование текста в речь
- текстовый
- Таиланд
- чем
- который
- Ассоциация
- Филиппины
- их
- Их
- тогда
- Эти
- они
- think
- этой
- те
- Через
- время
- в
- вместе
- знак
- традиционный
- Train
- Обучение
- Запись
- трансформация
- превращение
- переведите
- Переводы
- В реальном времени
- Деревья
- тролль
- правда
- учебник
- Дважды
- напишите
- Типы
- типично
- понимание
- понимать
- В отличие от
- неструктурированных
- язык урду
- URL
- us
- годный к употреблению
- USD
- использование
- используемый
- Информация о пользователе
- удобно
- пользователей
- через
- ценностное
- Наши ценности
- переменная
- переменные
- различный
- Ve
- векторы
- ВЕГАС
- версия
- жизнеспособный
- Видео
- Вьетнам
- Вид
- видение
- Режимы
- тома
- Ожидание
- ходьба
- хотеть
- законопроект
- we
- ЧТО Ж
- Что
- Что такое
- который
- Whisper
- белый
- КТО
- зачем
- Wi-Fi
- широкий
- Широкий диапазон
- будете
- в
- женщина
- замечательный
- Работа
- работать вместе
- Мир
- записывать
- письмо
- год
- являетесь
- молодой
- ВАШЕ
- YouTube
- зефирнет