вступление
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, модели и температуры, определению сообщения с ролями и получению ответа.
Надеюсь, вам понравится и не стесняйтесь оставлять комментарии.