Способность ChatGPT понимать входные данные на естественном языке и его универсальность делают его полезным инструментом для разработки различных приложений на основе Raspberry Pi Pico W. Примером может быть распознавание голоса с помощью внешних микрофонов и динамиков, ChatGPT можно использовать для разработки голосовых сообщений в рамках управляемых систем, которые могут выполнять различные задачи, например, управлять бытовой техникой или отвечать на запросы пользователей.

В данном материале будет показано, как настроить ChatGPT для вашего Raspberry Pi Pico W, используя их API. В результате вы сможете отправлять запросы ChatGPT и получать ответы. Для успешной работы с ChatGPT из России следует обойти защиту сервиса, используя номера телефонов других стран. Об этом можно найти информацию в различных источниках в Интернете, поэтому здесь мы не будем уделять этому внимания и перейдем сразу к делу.
Для начала нужно сгенерировать API-ключ. Ключи API можно сгенерировать по ссылке https://platform.openai.com/account/api-keys. Ключ Chat GPT API – это уникальный код, который позволяет вам получить доступ к службе ChatGPT через ее API (интерфейс прикладного программирования). Когда вы отправляете запрос к ChatGPT API, ключ API используется для проверки подлинности вашего запроса и идентификации вашей учетной записи. Это гарантирует, что только авторизованные пользователи могут получить доступ к службе ChatGPT, а ваше использование отслеживается для выставления счетов и в целях безопасности. В конце концов, он запросит информацию для выставления счетов, поскольку ключ API предоставляется бесплатно только в течение определенного периода использования, поэтому имейте это в виду при тестировании. Вам понадобится ключ ChatGPT API, если вы хотите использовать службу ChatGPT в своем приложении или на веб-сайте. Без ключа API вы не сможете делать запросы к ChatGPT API и получать ответы от языковой модели.
Перейдем теперь непосредственно к коду:
import json
import network
import time
import urequests
import constants
def chat_gpt(ssid, password, endpoint, api_key, model, prompt, max_tokens):
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
max_wait = 10
while max_wait > 0:
if wlan.status() < 0 or wlan.status() >= 3:
break
max_wait -= 1
print('waiting for connection...')
time.sleep(1)
if wlan.status() != 3:
print(wlan.status())
raise RuntimeError('network connection failed')
else:
print('connected')
print(wlan.status())
status = wlan.ifconfig()
headers = {'Content-Type': 'application/json',
"Authorization": "Bearer " + api_key}
data = {"model": model,
"prompt": prompt,
"max_tokens": max_tokens}
print("Attempting to send Prompt")
r = urequests.post("https://api.openai.com/v1/{}".format(endpoint),
json=data,
headers=headers)
if r.status_code >= 300 or r.status_code < 200:
print("There was an error with your request \n" +
"Response Status: " + str(r.text))
else:
print("Success")
response_data = json.loads(r.text)
completion = response_data["choices"][0]["text"]
print(completion)
r.close()
chat_gpt(constants.INTERNET_NAME,
constants.INTERNET_PASSWORD,
"completions",
constants.CHAT_GPT_API_KEY,
"text-davinci-003",
"Write a tagline for an ice cream shop. ",
100)
В этом коде мы делаем следующий ряд действий. Начинаем с подключения к Интернету, так как вам нужно активное подключение к Интернету для доступа к их API. Для этого введите имя и пароль сети подключения к Интернету
Мы передаем оставшуюся информацию, необходимую для модели ChatGPT, в первую очередь ключ API, а также модель и переменные max_tokens. Мы используем API дополнения (completions), но есть также несколько других путей API, которые имеют разные цели, которые вы можете изучить, включая такие вещи, как редактирование или встраивание, которые также могут иметь мощные варианты использования.
Важно отметить, что есть много других настраиваемых переменных, которые можно передать, и вам нужно будет немного изменить функцию, чтобы включить другие параметры. Очень интересный параметр, который вы можете добавить в качестве эксперимента – это параметр температуры. Более высокие значения, такие как 0,8, сделают вывод более случайным, а более низкие значения, такие как 0,2, сделают его более сфокусированным и детерминированным.
© digitrode.ru