Как выполнить точный предварительный подсчет токенов ChatGPT до отправки запроса к API?
sysprefs = 'Ты - старательный помошник. Старайся дать максимально точный ответ на заданный пользователем вопрос.'
def askGPT(question):
openai_key = getpass.getpass("OpenAI API Key:")
os.environ["OPENAI_API_KEY"] = openai_key
openai.api_key = openai_key
result = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": sysprefs},
{"role": "user", "content": question}
])
message = result['choices'][0]['message']['content']
print('ChatGPT: ', message)
question = input('Вы: ')
askGPT(question)
В данный код хочу добавить предварительный подсчет токенов, дабы при превышении их лимита, функция не посылала запрос к API, а выдавала что-то вроде: 'Превышен лимит токенов..." и просила пользвателя перезадать вопрос. В работе с этим API я новичёк :)
Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
На вопрос «как сделать» отвечает документация и поиск в интернет.
Тут отвечают на вопросы «почему я сделал, как в документации, а оно не работает. Поискал в интернет, вот запросы, в ответах не нашел. Что я делаю не так?»
Покажите, как вы пробовали решить проблему, приведите код попытки (пусть неудачной), опишите, как запускали, что ожидали и что получилось.
За готовыми решениями - на фриланс. В текущем виде это не вопрос, а задание. Нарушен п.5.12 Регламента.