Зображення автора
У цьому підручнику ми дізнаємося, як налаштувати та використовувати OpenAI API для різних випадків використання. Посібник розроблено таким чином, щоб його було легко зрозуміти навіть для тих, хто має обмежені знання програмування на Python. Ми дослідимо, як будь-хто може генерувати відповіді та отримати доступ до високоякісних великих мовних моделей.
Команда API OpenAI дозволяє розробникам легко отримати доступ до широкого спектру моделей ШІ, розроблених OpenAI. Він надає зручний інтерфейс, який дозволяє розробникам включати в свої програми інтелектуальні функції на основі найсучасніших моделей OpenAI. API можна використовувати для різних цілей, включаючи створення тексту, багатоповоротний чат, вбудовування, транскрипцію, переклад, перетворення тексту в мовлення, розуміння зображень і створення зображень. Крім того, API сумісний із curl, Python і Node.js.
Щоб розпочати роботу з OpenAI API, вам спочатку потрібно створити обліковий запис на openai.com. Раніше кожен користувач отримував безкоштовний кредит, але тепер нові користувачі повинні купувати кредит.
Щоб придбати кредит, перейдіть у «Налаштування», потім у «Платежі» та, нарешті, у «Додати платіжні реквізити». Введіть дані своєї дебетової чи кредитної картки та вимкніть автоматичне поповнення. Після того, як ви завантажите 10 доларів США, ви можете використовувати їх протягом року.
Давайте створимо ключ API, перейшовши до «Ключі API» і вибравши «Створити новий секретний ключ». Дайте йому назву та натисніть «Створити секретний ключ».
Скопіюйте API та створіть змінну середовища на локальній машині.
Я використовую Deepnote як IDE. Легко створити змінні середовища. Просто перейдіть до «Інтеграція», виберіть «створити змінну середовища», введіть назву та значення для ключа та створіть інтеграцію.
Далі ми встановимо пакет 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,......
Переклад
Ми також можемо транскрибувати англійський аудіо на іншу мову. У нашому випадку ми будемо перетворювати його на мову урду. Ми просто додамо ще один аргумент `language` і надамо йому код мови ISO “ur”.
translations = client.audio.transcriptions.create(
model="whisper-1",
response_format="text",
language="ur",
file=audio_file,
)
print(translations)
Переклад для нелатинських мов недосконалий, але його можна використовувати для мінімально життєздатного продукту.
کنسومر ایلیکٹرانک شاہی نے لاس بیگیس میں شامل شروع کیا ہے اور ہم آپ کو جمہوری بہترین چیزیں اپنے ریگلر سٹوڈیو میں یہاں جارہے ہیں جہاں یہ آمید ہے اور خوبصورت ہے اور دنیا نہیں ہے مجھے سانڈ بھولتا ہے وائ فائی آلائنٹس نے اعلان کیا کہ انہوں نے وائ فائی سیبن سٹانڈرڈ کو شامل شروع کیا اور انہوں ن........
Перетворення тексту в мову
Щоб перетворити ваш текст на аудіо з природним звучанням, ми використаємо API мовлення та надамо йому назву моделі, ім’я актора голосу та вхідний текст. Далі ми збережемо аудіофайл у нашу папку «Дані».
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")
OpenAI API надає користувачам доступ до мультимодальної моделі через функцію завершення чату. Для розуміння зображень ми можемо використовувати останню модель зору 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
Створене зображення зберігається в Інтернеті, і ви можете завантажити його для перегляду локально. Для цього ми завантажимо зображення за допомогою функції `request`, надавши 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) є сертифікованим фахівцем із дослідження даних, який любить створювати моделі машинного навчання. Зараз він зосереджується на створенні контенту та написанні технічних блогів про технології машинного навчання та науки про дані. Абід має ступінь магістра з управління технологіями та ступінь бакалавра в галузі телекомунікаційної інженерії. Його бачення полягає в тому, щоб створити продукт AI з використанням нейронної мережі графа для студентів, які борються з психічними захворюваннями.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: 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
- здатність
- МЕНЮ
- про це
- доступ
- доступною
- доступ до
- рахунки
- точний
- додавати
- Додатково
- adept
- просунутий
- доступний
- після
- агрегуючий
- Сільськогосподарський
- AI
- Моделі AI
- мета
- ВСІ
- Альянс
- дозволяє
- Сплав
- тільки
- вже
- Також
- дивовижний
- an
- аналіз
- проаналізовані
- та
- оголошений
- Інший
- будь-який
- будь
- API
- Інтерфейси
- з'являється
- додаток
- застосування
- підхід
- ЕСТЬ
- ПЛОЩА
- області
- аргумент
- аргументація
- влаштований
- AS
- Азія
- азіатський
- запитувач
- Помічник
- асоційований
- At
- атмосфера
- аудіо
- доступний
- уникнути
- фон
- ширина смуги
- BE
- було
- перед тим
- початківці
- почався
- буття
- Краще
- найбільший
- біллінг
- двійковий
- благословенний
- блоги
- синій
- Яскраво
- приносити
- Приведення
- будувати
- Створюємо
- але
- by
- Камбоджа
- CAN
- карта
- проведення
- випадок
- випадків
- категорії
- Сертифікований
- засвідчувати
- зміна
- Канал
- чат
- перевірка
- очистити
- клацання
- клієнт
- код
- збір
- COM
- загальний
- зазвичай
- сумісний
- повний
- завершення
- комплекс
- осягнути
- поняття
- Підтверджено
- споживач
- Побутова електроніка
- зміст
- контент-створення
- зміст
- контекст
- безперестанку
- Розмова
- конвертувати
- перетворення
- може
- країни
- обкладинка
- створювати
- створює
- створення
- створення
- креативність
- кредит
- кредитна картка
- вирішальне значення
- В даний час
- темно
- дані
- наука про дані
- вчений даних
- Database
- Днів
- Дебет
- Прийняття рішень
- захист
- дефолт
- Ступінь
- розгортання
- БУДУВАТИ
- дизайн
- призначений
- докладно
- деталі
- Визначати
- розвивати
- розвиненою
- розробників
- прилади
- різний
- важкий
- дисплей
- do
- документація
- доларів
- Дон
- скачати
- кожен
- легше
- легко
- легко
- край
- Ефективний
- електроніка
- Елон
- Елон Маск
- вбудовування
- дозволяє
- кодування
- що закінчився
- Машинобудування
- Двигуни
- англійська
- підвищувати
- збагачення
- забезпечувати
- Що натомість? Створіть віртуальну версію себе у
- Навколишнє середовище
- помилки
- Ефір (ETH)
- ефірний
- Навіть
- Кожен
- точний
- досвідчений
- експериментувати
- Пояснювати
- пояснення
- дослідити
- додатково
- видобуток
- сільське господарство
- особливість
- риси
- почувати
- поле
- філе
- наповнення
- фільтрація
- в кінці кінців
- знайти
- Перший
- гнучкий
- затоплений
- фокусується
- фокусування
- стежити
- для
- лоб
- формат
- знайдений
- Безкоштовна
- від
- функція
- породжувати
- генерується
- породжує
- покоління
- отримати
- GIF
- Давати
- даний
- Глобально
- Go
- золото
- графік
- Графік нейронної мережі
- Зростання
- керівництво
- Обробка
- hat
- ненавидіти
- Мати
- he
- допомагає
- її
- тут
- високоякісний
- основний момент
- його
- тримає
- Як
- How To
- HTTPS
- i
- ідентифікувати
- ідентифікує
- if
- хвороба
- зображення
- генерація зображень
- зображень
- імпорт
- важливо
- удосконалювати
- поліпшення
- in
- включати
- У тому числі
- включати
- індійський
- індивідуальний
- промисловість
- інформація
- інформативний
- вхід
- встановлювати
- інтеграція
- Розумний
- Взаємодії
- інтерфейс
- в
- включає в себе
- ISO
- IT
- ЙОГО
- jewelry
- JPG
- просто
- KDnuggets
- ключ
- ключі
- Знати
- знання
- відомий
- ландшафт
- мова
- мови
- великий
- ЛАГ
- Лас-Вегас
- останній
- Затримка
- останній
- УЧИТЬСЯ
- вивчення
- Legacy
- дозволяти
- бібліотека
- як
- обмеженою
- список
- ll
- загрузка
- погрузка
- місцевий
- локально
- розташування
- любить
- машина
- навчання за допомогою машини
- зробити
- Робить
- управління
- багато
- майстер
- me
- значити
- значущим
- психічний
- Психічні розлади
- повідомлення
- повідомлення
- метадані
- методика
- мінімальний
- мінімально життєздатний продукт
- відсутній
- режим
- модель
- моделювання
- Моделі
- більше
- найбільш
- Гора
- Маск
- my
- себе
- ім'я
- навігація
- Необхідність
- мережу
- Нейронний
- нейронної мережі
- ніколи
- Нові
- Нові можливості
- нових користувачів
- наступний
- вузол
- Node.js
- ніс
- увагу
- ноутбук
- зараз
- номер
- of
- офіційний
- Офіційно
- on
- один раз
- ONE
- онлайн
- тільки
- відкрити
- OpenAI
- оптимізація
- or
- OS
- Інше
- наші
- з
- вихід
- власний
- пакет
- сторінка
- частина
- частини
- Викрійки
- оплата
- сприймається
- ідеальний
- відмінно
- продуктивність
- людина
- Філіппіни
- частина
- частин
- plato
- Інформація про дані Платона
- PlatoData
- будь ласка
- поліноми
- влада
- Харчування
- інтелектуального
- підготовка
- попередній
- раніше
- процес
- обробка
- Product
- професійний
- Програмування
- проект
- підказок
- захист
- забезпечувати
- за умови
- забезпечує
- забезпечення
- покупка
- цілей
- Python
- якість
- питань
- досить
- RAIN
- діапазон
- швидко
- швидше
- Читати
- читання
- отримано
- Рекомендація
- зменшити
- зниження
- рафінування
- регулярний
- звільнити
- доречний
- відповісти
- представляти
- запросити
- вимагається
- Вимагається
- відповідь
- відповіді
- REST
- результат
- повертати
- повернення
- рис
- право
- кільце
- Роль
- прогін
- сільській місцевості
- Сільські райони
- s
- священний
- сейф
- то ж
- ПІСНІТЬ
- зберегти
- зберігаються
- Масштабування
- сцена
- наука
- вчений
- Пошук
- секрет
- безпечно
- побачити
- вибрати
- вибирає
- смисловий
- комплект
- налаштування
- вона
- Короткий
- Повинен
- Показувати
- Шоу
- істотно
- аналогічний
- простий
- просто
- Сидячий
- Розмір
- небо
- So
- деякі
- кілька
- Скоро
- джерело
- на південний схід
- конкретно
- мова
- standard
- старт
- почалася
- стан
- впроваджений
- зберігання
- Історія
- потік
- рядок
- структурований
- структуровані та неструктуровані дані
- Бореться
- Студентам
- студія
- Успішно
- такі
- підсумовувати
- Sun
- сонячне світло
- Переконайтеся
- сюрприз
- система
- T
- завдання
- технічний
- методи
- Технології
- Технологія
- телекомунікації
- текст
- генерація тексту
- Перетворення тексту в мову
- текстуальний
- Таїланд
- ніж
- Що
- Команда
- Філіппіни
- їх
- Їх
- потім
- Ці
- вони
- думати
- це
- ті
- через
- час
- до
- разом
- знак
- традиційний
- поїзд
- Навчання
- Розшифровка
- Перетворення
- перетворення
- переводити
- Переклад
- У реальному часі
- Дерева
- троль
- правда
- підручник
- Двічі
- тип
- Типи
- типово
- розуміння
- зрозуміла
- на відміну від
- неструктурований
- мова урду
- URL
- us
- корисний
- USD
- використання
- використовуваний
- користувач
- зручно
- користувачі
- використання
- значення
- Цінності
- змінна
- змінні
- різний
- Ve
- вектори
- VEGAS
- версія
- viable
- Відео
- В'єтнам
- вид
- бачення
- Голос
- Обсяги
- Очікування
- ходьба
- хотіти
- було
- we
- ДОБРЕ
- Що
- Що таке
- який
- Шепіт
- білий
- ВООЗ
- чому
- Wi-Fi
- широкий
- Широкий діапазон
- волі
- з
- в
- жінка
- чудовий
- Work
- працювати разом
- світ
- запис
- лист
- рік
- ви
- молодий
- вашу
- YouTube
- зефірнет