@iloveapplesxd

Как выполнить точный предварительный подсчет токенов 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 я новичёк :)
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Nevergreenin
Можно использовать библиотеку tiktoken от openai:
import tiktoken

def get_token_count(text):
    encoding = tiktoken.encoding_for_model("gpt-3.5-turbo")
    return len(encoding.encode(text))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
15 июл. 2024, в 19:28
135000 руб./за проект
15 июл. 2024, в 19:12
5000 руб./за проект
15 июл. 2024, в 18:58
10000 руб./за проект