где DEPLOYMENT_NAME установлен в значение gpt-4-32k.
Не могли бы вы помочь решить эту проблему? Любые рекомендации или предложения будут очень полезны.
Кроме того, у меня есть несколько вопросов по поводу плагинов Discourse:
Как сделать форк плагина Discourse: Не могли бы вы предоставить подробные инструкции или руководство по созданию форка существующего плагина Discourse?
Тестирование форкнутного плагина: После создания форка плагина, какие шаги необходимо выполнить для тестирования этой версии на собственном экземпляре Discourse?
Загрузка и активация плагина: После тестирования, как можно загрузить и активировать этот форкнутый плагин на своем экземпляре Discourse?
Ваша помощь в решении этих вопросов будет чрезвычайно полезной. Спасибо за ваше время и поддержку.
DiscourseAi::Completions::Endpoints::OpenAi: status: 400 - body: {
"error": {
"message": "Unrecognized request argument supplied: tools",
"type": "invalid_request_error",
"param": null,
"code": null
}
}
Подготовка payload с prompt: [{:role=>"system", :content=>"Вы — полезный помощник Discourse.\nВы _понимаете_ и **генерируете** Markdown для Discourse.\nВы находитесь в сообщении форума Discourse.\n\nВы находитесь в форуме с URL: https://<URL>\nНазвание вашего сайта: Discourse\nОписание: \nУчастники этого разговора: gpt4_bot, Chris\nТекущая дата: 2024-01-19 10:10:05 UTC, с момента вашего обучения многое изменилось.\n\nВы обучались на СТАРЫХ данных, используйте поиск для получения актуальной информации об этом форуме.\nПри поиске старайтесь УПРОЩАТЬ поисковые запросы.\nПоиск в Discourse объединяет все термины через AND. Уменьшите и упростите термины, чтобы найти больше результатов."}, {:role=>"user", :content=>"comment faire une boucle en dart ?", :name=>"Chris"}], model_params: {}, dialect: #<DiscourseAi::Completions::Dialects::ChatGpt:0x00007f230513e6e0>
Понял, это означает, что вам нужна обновленная конечная точка с поддержкой инструментов. Azure может с этим справиться, так как мы используем её внутренне.
Нет, я не думаю, что это специфика Microsoft Azure. Я тестировал запросы на чистом JavaScript, и они работают без проблем, без какого-либо понятия «инструментов». Здесь у меня складывается впечатление, что проблема в плагине (уточню, что я не разработчик на Ruby), но, похоже, используемый слой абстракции всё усложняет. На всякий случай мы форкнули этот плагин и повсюду расставили отладчики: URL и заголовки, отправляемые в Azure, на 100% корректны.
Кажется, единственное место, где у нас вызывается «инструменты» (tools) в ./lib/completions/endpoints/open_ai.rb (DiscourseAi::Completions::Endpoints::OpenAi), это:
def prepare_payload(prompt, model_params, dialect)
Rails.logger.warn("Preparing payload with prompt: #{prompt}, model_params: #{model_params}, dialect: #{dialect}")
default_options
.merge(model_params)
.merge(messages: prompt)
.tap do |payload|
payload[:stream] = true if @streaming_mode
payload[:tools] = dialect.tools if dialect.tools.present?
end
end
что, похоже, ведёт нас к ./lib/completions/dialects/chat_gpt.rb (payload[:tools] = dialect.tools if dialect.tools.present?).
Это не так, если вы используете актуальную конечную точку.
Мы используем конечные точки Azure на этом сайте, но с параметром api-version=2023-12-01-preview. Можете ли вы попробовать использовать конечную точку с этой версией API?