вступление

GPT-3.5 — это последняя версия серии моделей обработки естественного языка (NLP) GPT (Generative Pre-trained Transformer), разработанных OpenAI.

GPT-3.5 — это базовая модель службы chatGPT. Это продвинутая языковая модель, способная генерировать человекоподобный текст, отвечать на вопросы и выполнять различные задачи НЛП с впечатляющей точностью.

В этом посте мы расскажем, как это назвать:

  • Использование библиотеки OpenAI
  • (Рекомендуется)запросы HTTP POST

Код для поста можно найти здесь:



Вызов GPT-3.5 с библиотекой OpenAI

Здесь я покажу вам, как использовать библиотеку OpenAI (версия: 0.27.4) в python для вызова API GPT-3.5.

Прежде чем мы начнем, я утверждаю, что у вас уже есть доступный ключ OpenAI, который начинается с «sk-».

Чтобы использовать службу вызовов GPT-3.5 с библиотекой OpenAI, нужно выполнить 3 шага:

  • Настроить ключ API, модель, температуру
  • Настроить сообщение с ролями
  • Получить ответ

1.Настройте ключ API, модель, температуру

Ключ API, как мы говорили ранее, содержится в учетной записи OpenAI, когда у вас есть доступная учетная запись OpenAI (для нового пользователя openai у вас есть бесплатные 18 $ в течение трех месяцев).

Модель «gpt-3.5-turbo», которую мы будем называть GPT-3.5.

Tempeture — необязательный параметр, он находится в диапазоне от 0 до 1, чем больше значение, тем креативнее будет бот. Если вы хотите, чтобы бот ответил консервативно, установите его ниже, например: 0,4, если вы хотите, чтобы бот попытался ответить на вопрос более подробно (может быть неправильно), установите его выше, например: 0,9. Вы можете протестировать его в зависимости от ваших предпочтений.

Вот блок кода:

import openai

# Set up YOUR OpenAI API key
openai.api_key = "sk-XXXXXXXXXXXXXXXX"
# Set MODEL to "gpt-3.5-turbo"
model = "gpt-3.5-turbo"
# Set temperature to 0.9, it can be from 0~1, 0 is the most conservative, 1 is the most creative
temperature = 0.9

2.Настройте сообщение с ролями

Так как GPT-3.5 является серверной частью чатаGPT, самое известное использование GPT-3.5 — использовать его как чат-бот. Мы можем определить 3 вида ролей, когда мы отправляем сообщение для вызова API, роли представлены ниже:

  • система, инструкция, которую мы сначала даем роботу, говорим ему/ей, что делать и как делать
  • пользователь, контент, который мы отправляем роботу, например вопрос, который мы задаем
  • (Необязательно)помощник, ответ робота

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

Представьте, что вы хотите, чтобы бот помог нам перевести с английского на японский, мы должны сначала сказать боту:

  • кто она
  • что она может сделать
  • И как она делает

Таким образом, бот будет вести себя так, как мы хотим. Этот контент будет определяться ролью «система», которая используется для предоставления инструкций боту в первую очередь.

Вот код:

# A message list to contain the messages from the user and the bot
message_list = []

# Firstly, we need to set up a instruction for the bot to follow
system_message = {"role": "system", "content": "You are a translator master, given a English sentence, you can change it to Japanese which is easy to understand and in well format."}

message_list.append(system_message)

Затем мы можем сообщить боту, в чем заключается наш вопрос, контент, определенный ролью «пользователь», показывая, что этот вопрос исходит от нас, людей.

Вот код:

# Secondly, we need to set up a message from the user, which is your request
user_message = {"role": "user", "content": "The baby is so cute!"}

message_list.append(user_message)

3.Получить ответ

После того, как мы подготовим ключ API, модель, которую мы используем, как должен вести себя бот, и наш вопрос, мы можем отправить контент в GPT-3.5, а затем получить контент с помощью библиотеки OpenAI.

Вот код:

# Send the message to the bot
response_message = openai.ChatCompletion.create(model=model, messages=message_list, temperature=temperature)

# Get the response from the bot
response = response_message.choices[0].message.content

print(response)

Угадайте, ответ такой:

赤ちゃんはとても可愛いですね!
(Akachan wa totemo kawaii desu ne!)

Потрясающий!

Вызов GPT-3.5 с HTTP-запросом

С приведенным выше кодом мы можем вызвать GPT-3.5 в python с официальной библиотекой OpenAI.

Поскольку не все языки имеют официальную поддержку библиотеки openAI, например (C#, C++, Java и т. д.).

Если мы знаем, как вызывать API в Http-запросе, мы можем вызывать API с любым языком или платформой, которые захотим.

Есть 3 шага, чтобы использовать сервис call GPT-3.5 с запросом Http:

  • Настройте конфигурацию API
  • Настроить сообщение с ролями
  • Вызов GPT-3.5 с HTTP-запросом

1.Настройте конфигурацию API

Как и прежде, я утверждаю, что у вас уже есть доступный ключ OpenAI, начинающийся с «sk-»,

в этом процессе мы настроим api_key, model, url (официальная конечная точка OpenAI GPT-3.5) и заголовки Http.

Вот код:

# Set up YOUR OpenAI API key
api_key = "sk-XXXXXXXXXXXXXXXX"
# With gpt-3.5-turbo model
model = "gpt-3.5-turbo"
# OpenAI official API endpoint
url = "https://api.openai.com/v1/chat/completions"
# Headers
headers = {
    "Content-Type": "application/json"
}

2.Настройте сообщение с ролями

Этот процесс аналогичен описанному выше в процессе «Вызов GPT-3.5 с библиотекой OpenAI», мы по-прежнему используем задачу перевода в качестве примера, чтобы показать вам, как использовать API. Задача состоит в том, чтобы перевести следующее предложение с английского на японский язык.

Вот код, показывающий, как установить сообщение с ролями:

# A message list to contain the messages from the user and the bot
message_list = []

# Firstly, we need to set up a instruction for the bot to follow
system_message = {"role": "system", "content": "You are a translator master, given a English sentence, you can change it to Japanese which is easy to understand and in well format."}

message_list.append(system_message)

# Secondly, we need to set up a message from the user, which is your request
user_message = {"role": "user", "content": "The baby is so cute!"}

message_list.append(user_message)

3. Вызовите GPT-3.5 с HTTP-запросом

В отличие от использования официальной библиотеки openai, мы можем собрать наш контент в http-запрос, содержащий наш ключ api_key, модель, темпретуру, список_сообщений.

Вот функция отправки запроса:

# Function to send the message to the bot
import requests
import json

def send_request(messages, model, url, temperature, headers, api_key):
    headers['Authorization'] = f"Bearer {api_key}"
    
    data = {
        "model": model,
        "temperature": temperature,
        "messages": messages
    }
    
    response = requests.post(url, headers=headers, json=data)
    response_json = response.json()
    
    if response.status_code == 200:
        content = [choice['message']['content'] for choice in response_json['choices']]
        return content[0]
    else:
        raise Exception(f"Request failed with status code {response.status_code}: {response_json}")

Посмотрите, что мы можем получить от запроса

# Send http request to the bot
response = send_request(message_list, model, url, headers, api_key)

# Print the response from the bot
print(response)

Результат ответа:

赤ちゃんがとても可愛いですね!(Akachan ga totemo kawaii desu ne!)

Краткое содержание

Мы объясняем, как вызывать API GPT-3.5 с помощью библиотеки OpenAI или запросов HTTP POST, с пошаговым руководством по настройке ключа API, модели и температуры, определению сообщения с ролями и получению ответа.

Надеюсь, вам понравится и не стесняйтесь оставлять комментарии.