@moreshkin-by

Можно ли вести полноценный чат с ChatGPT через API?

Хочу вести диалог с ChatGPT из скрипта. Но при обращении чат не создается, т.е он не запоминает последнее сообщение, т.е если я введу запрос 'сложи 2и3', а потом 'а теперь прибавь 4' он выдаст что-то типа такого 'a=a+4'. Мне же надо, чтобы он помнил последнее сообщение и мог вести полноценный диалог
  • Вопрос задан
  • 481 просмотр
Пригласить эксперта
Ответы на вопрос 4
vabka
@vabka
Токсичный шарпист
Нужно при каждом запросе передавать всю историю сообщений - это и будет память.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Да. Через API такое можно сделать. Но в GPT-3 кажется было ограничение на контекст в 4000 слов. Поэтому
бесконечный диалог все равно не получится.
Ответ написан
HemulGM
@HemulGM
Delphi Developer, сис. админ
Каждый запрос к нейросети должен сопровождаться всей историей диалога. Если размер истории превышает максимальное кол-во токенов у модели, то история должна отсекаться (сверху).
У модели gpt-3.5-turbo - 4096 токенов
У модели gpt-4 - 8192
У модели gpt-4-32k - 32k токена соответственно
Ответ написан
Steel_Balls
@Steel_Balls
Отправляй запросы на https://api.openai.com/v1/chat/completions
в параметрах передавай историю диалога
{
    "model": "gpt-3.5-turbo",
    "messages": [
        {"role": "user", "content": "Сложи 2 и 3"},      // первый запрос
        {"role": "assistant", "content": "2 + 3 = 5."}    // добавлено после первого ответа
        ,{"role": "user", "content": "а теперь прибавь 4"} // второй запрос
            ]
  }


Ответ:
{
    "id": "chatcmpl-7DIbWjbm75gWT49ZuoJjy9mZuDBVcN",
    "object": "chat.completion",
    "created": 1683404134,
    "model": "gpt-3.5-turbo-0301",
    "usage": {
        "prompt_tokens": 45,
        "completion_tokens": 8,
        "total_tokens": 53
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "5 + 4 = 9."
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

"content": "5 + 4 = 9."
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы