Sly32

Рейтинг
372
Регистрация
29.03.2012
Сергей про е-ком #:
Зачем ты это пишешь?
Затем, что надоело читать дилетантские рассуждения  в темах, которые им далеки от понимания.

Это вообще ответ не по сути и исходит от непонимания работы ЛЛМ. Прям хочется опять начать с нулей, рассказывая, что такое промпт, для чего и как работает...

Сергей про е-ком #:
Но структуру данных можно и так получать, например, формируя JSON и выдавая только его параметры. 

Видишь, экономическое образование не дало тебе возможность понять о чем речь. Любая апишка от ЛЛМ и так выдает ответ в виде JSON. 

Artisan #:
Сложность не скорость, а ясность. Бывает сложно

понять даже медленную речь на английском языке.

Вот сразу видно, что в реальности опыта у тебя 0. Именно скорость - главная проблема в общении на любом иностранном языке. Вот казалось бы - польский довольно близко в белорусском.  Я смотрю новости на польском, слушаю радио - в основном все понятно. Но вот живая речь... Был на днях на собрании собственников  наших апартаментов. Это трэш, если представителей обслуживающей фирмы и их отчеты были более менее понятно, то когда начинали тараторить жильцы, для меня это превращалось в сплошной гул. Благо некоторые вопросы были знакомы...
Так и в английском. Теже индусы очень быстро тараторят, мне год понадобился, чтобы себя на митах чувствовать относительно комфортно и все равно обычно онлайн переводдчика в Тимсе не отключаю, чтобы не упустить детали.

Рассказывать про какое-то шаманство может только очень далекий от темы человек.

Volovikov #:
Почему? У отца была такая шоха. Он всю жизнь жалел, что её продал. Там металл как в танке.
Шоху могла ждать долгая жизнь, только если ее хранить в гараже и зимой не ездить. Иначе этот металл "как в танке" очень быстро сгнивал. Имел я опыт с ВАЗом в моей автомобильной юности. После шохи 10-ти летняя Форд Сиерра казалась верхом совершенства. 
MrGray #:
У нее вообще расход 1 литр на 10.000
Я ее только раз в месяц завожу.
MrGray #:
Километров.

У тебя проблемы с математикой. И с расчетом среднего расхода топлива. Попробуй составить простейшую пропорцию, если 1 литр бензина у тебя уходит на 0 метров.

Mik Foxi #:
будут скоро в первую очередь улучшать профит, увешивать рекламой, больше наших данных продавать, делать более тупую экономную модель, а умное будет за дорого. И соперники, если брать кодинг, у клауди и чатагпт анало говнет. Все китайское пока это аналог яндекс алисы, что-то отвечает и на том сойдет.
Соглашусь, время бесплатных чатиков и картинок уходит, народ уже сильно подсадили на работу с ИИ, теперь начнут зарабатывать) Инвесторы хотят уже увидет свои денежки назад.
Vladimir #:
Обычное дело, наняли первого попавшегося прогера, дали ему простейшее ТЗ и получили то, что описано выше.

Да ты бы прочитал сначала, о чем речь, прежде чем нести бред. Как и кем была создана сеть, почему возникла проблема.

chaturanga #:
Попросите его сделать ограничение количества запросов от одного IP-адреса к локейшину /bu
Куда уж проще задача...

Понимаешь ли, в чем дело...  В данном случае мы пытаемся остановить первого попавшегося профессора в универститетской библиотеке и задать ему вопрос о Нжинкс.  Он обладает колоссальными знаниями но не опытом. ПОэтому в данном случае даже клауд ошибся, да. Но Реальные системы для управления серверами строятся не так. Это LLM+MCP+RAG -  в минимальной комплектации. То есть систему прежде чем использовать нужно обогатить узкоспециализированными данными. Можно еще вдобавок и дообучить модель, если финансы позволяют. Тогда можно говорить об эффективной работе.

Как то я умудрился пропустить выход typeagent-ms от Гвидо Ван Россума... А ведь эта штука решает многие вещи при работе с LLM.  Теперь можно структурировать ответы в нужном формате без лишних телодвижений. Бухгалтера и сеошники не знают, но ответ от LLM часто меняет структуру и приходится  в нем искать нужные данные, а тайпагент решает проблему - ответ будет такой, как укажешь. Плюслм автоматический выбор подходящей модели. Ну и запрос теперь проходит не прямо в ЛЛМ а через МСР сервер. 
Попробовал - выглядит отлично. Походу можно переписывать часть сервера с использованием typeagent.

MrGray #:
Да, не, какая Гранта, шаха 1976 года.
У нее вообще расход 1 литр на 10.000
Я ее только раз в месяц завожу.
Так что завидуй

Ты про что тема, внимательно прочитал?

MrGray #:
Что у тебя за мотор, который при скоростях 140 потребляет 4.5 л/100км?

1.5 Ecoblue 125лс. + 8-ми ступенчатая коробка. На 120км/ч примерно 1900 оборотов.  А ты поди, на Ладе Гранте гоняешь из прошлого века?

MrGray #:
А чего не два с половиной литра, чоуш?

Потому что такой расход в реальности, не по паспорту.

Специально для таких как ты сфоткал. Сегодня пробег уже за 960 и еще четверть бака осталось, от есть 1200 км я запросто выезжу на одной заправке. Больше  140 я ехал полпути - 450 км, в реальности конечно меньше - километров 60 последних там уже  дорога с ограничением 90.

Если тошнить в районе сотки то расход будет в районе 3.9-4, но я так только однажды попробовал, когда  в закопаны  ездили. Не настолько уж я экономный)))

Дизель, конечно, для трасс. За дорогу  хорошенько прожег сажевый фильтр, - явно резвости прибавилось. До этого постоянно включался режим регенерации.  Вот в городе , да и еще от своей розетки - электричка - самое то.

chaturanga #:
Попросите его сделать ограничение количества запросов от одного IP-адреса к локейшину /bu
Куда уж проще задача...
GPT
http {

    limit_req_zone $binary_remote_addr zone=bu_limit:10m rate=5r/s;

    server {
        listen *:80;
        server_name .example.com;

        add_header "Content-Type" "text/html; charset=UTF-8" always;

        location /bu {

            limit_req zone=bu_limit burst=10 nodelay;

            return 200 "bu!\n";
        }
    }
}
Что скажешь?

chaturanga #:
Достаточно простой админский вопрос:

Ну давай попробуем. Что ответил ГПТ -
# Разбор NGINX конфигурации с `auth_request`
Последовательность выполнения
1. Обработка запроса /

При запросе:

GET -S example.com

выполняются инструкции:

set $test one;
$test = "one"
Далее
echo "root: $test";

Вывод:

root: one
Следующая строка
set $test "$test two";

Теперь:

$test = "one two"
Затем
auth_request /auth;

Создаётся subrequest к /auth.

2. Выполнение /auth

В subrequest переменные наследуются.

Поэтому $test изначально:

one two
Выполняется
set $test "$test auth_pre";
$test = "one two auth_pre"
Затем
return 200 "auth: $test\n";

Subrequest возвращает:

auth: one two auth_pre

Но важно:

auth_request использует только HTTP статус, тело ответа игнорируется.

Эта строка никогда не выполнится
set $test "$test auth_post";

Потому что return завершает обработку.

3. Возврат в основной запрос

После auth_request выполнение продолжается:

set $test "$test three";

Теперь:

$test = "one two three"

Но этот результат уже нигде не выводится.

Итоговый ответ клиенту

Ответ:

HTTP/1.1 200 OK

root: one

Почему:

echo выполняется до auth_request

тело subrequest игнорируется

других echo нет

Проблемы конфигурации
1. echo — нестандартный модуль
echo "root: $test";

Работает только при установленном модуле:

ngx_http_echo_module

В стандартной сборке NGINX его нет.

2. /auth доступен извне

Сейчас любой пользователь может вызвать:

/auth

Это потенциальная уязвимость.

3. Мёртвый код
return 200 "auth: $test\n";
set $test "$test auth_post";

Код после return никогда не выполняется.

4. Переменные в subrequest

Переменные могут вести себя неожиданно при использовании:

auth_request

Поскольку subrequest наследует контекст.

Оптимизированная версия
server {
  listen 80;
  server_name example.com;

  location / {

    set $test "one";

    echo "root: $test";

    set $test "$test two";

    auth_request /auth;

    set $test "$test three";
  }

  location = /auth {
    internal;

    set $test "$test auth_pre";

    return 200;
  }
}
Что исправлено
1. Закрыт доступ к /auth
internal;

Теперь этот location может вызываться только из NGINX.

2. Убрано тело ответа
return 200;

Потому что auth_request тело не использует.

3. Удалён мёртвый код

Удалено:

set $test "$test auth_post";
Правильная передача данных из auth_request

Если нужно вернуть данные из авторизации, используется:

auth_request_set

Пример:

location / {

  auth_request /auth;

  auth_request_set $user $upstream_http_x_user;

  echo "user=$user";
}

location = /auth {

  internal;

  add_header X-User admin;

  return 200;
}

Ответ:

user=admin
Вывод

При выполнении:

GET -S example.com

ответ будет:

HTTP/1.1 200 OK

root: one

Причины:

echo выполняется до auth_request

тело subrequest игнорируется

return завершает обработку /auth

Ответ cloude

Анализ Nginx-конфигурации
Что произойдет при GET -S example.com
Ответ клиенту будет: root: one two three

Корневая проблема: фазы обработки Nginx
Nginx обрабатывает директивы не в порядке их записи в конфиге, а по фазам:

Фаза    Директивы       Порядок
REWRITE_PHASE   set     1
ACCESS_PHASE    auth_request    2
CONTENT_PHASE   echo    3
Реальный порядок выполнения в location /:

Разработчик, видимо, ожидал, что echo выведет "root: one" — это не так.

Ошибка 1: мёртвый код в /auth
return немедленно завершает обработку запроса. Строка после него — мёртвый код.

Ошибка 2: изоляция переменных в подзапросе
auth_request создаёт внутренний подзапрос с собственным scope переменных. $test в /auth не наследует значение из родительского / — она начинается как пустая строка.

Тело ответа /auth (auth: auth_pre\n) клиенту не отправляется — auth_request использует только HTTP-статус (2xx = разрешить, 401/403 = запретить).

Ошибка 3: нестандартный модуль echo
Директива echo — это не стандартный Nginx, а ngx_http_echo_module от OpenResty. В дистрибутивном Nginx этого модуля нет, конфиг упадёт с ошибкой.

Исправленная и оптимизированная версия
Если нужно отлаживать значения переменных на разных этапах — используйте error_log через lua_log (OpenResty) или add_header:

Итог ошибок
#       Проблема        Эффект
1       Смешение фаз set/echo/auth_request      echo видит финальное значение $test, а не промежуточное
2       Код после return в /auth        Мёртвый код, никогда не выполняется
3       Ожидание наследования $test в подзапросе        Переменная в /auth всегда пустая (независимый scope)
4       Использование echo      Не стандартный Nginx, требует сторонний модуль
Всего: 7407