5.2 Метод SmartLLM Pipeline
Альтернативным подходом в рамках цепочек рассуждений является SmartLLM.

SmartLLM — ещё один способ настройки качества ответа GigaChat. Его суть в том, что мы даём модели задачу сгенерировать сразу несколько вариантов ответов на вопрос. Затем она должна проверить и покритиковать каждый ответ и дать итоговый — более высокого качества.

  1. Сначала формируем пайплайн. В нём будет три этапа:
  • формирование исходных гипотез (ideation). Чтобы получить более креативную идею, можно поднять «температуру» ответа или расширить словарь через настройку параметра «top_p»;
  • критика каждой гипотезы (critique). На этом этапе «температуру» лучше наоборот понизить ради фактологической точности ответа;
  • подготовка итогового ответа по результатам проверки (resolve).
Такой пайплайн хорошо работает со сложными задачами, особенно, если мы генерируем гипотезы с помощью разных моделей или разных конфигураций одной модели.

  1. Устанавливаем и запускаем модуль langchain_experimental. Инициализация максимально упрощена: нужно задать шаблон запроса PromptTemplate с нужным запросом и языковую модель, которую хотим использовать.
2. Ещё при инициализации можно указать, какую конфигурацию модели мы будем использовать для каждого этапа (отдельные параметры ideation_llm, critique_llm и resolver_llm) и сколько гипотез хотим получить (аргумент n_ideas):
Генерация большого количества гипотез потребляет дополнительные ресурсы, при этом не всегда приводит к повышению качества ответа. Попробуйте поэкспериментировать с различными конфигурациями, чтобы найти оптимальную.

Резюмируем:

  • Когда модель не справляется с задачей даже после промптинга по методам zero-shot и few-shot, для повышения качества ответа стоит попробовать продвинутые методы.
  • Один из таких методов — Chain of Thoughts («цепочка рассуждений»), при котором модель сначала даёт первичный ответ, затем задаёт себе проверочные вопросы, отвечает на них и корректирует итоговый ответ на запрос.
  • Второй метод — SmartLLM Pipeline: получение нескольких ответов на один запрос, настраивая параметры для каждого ответа: «температуру» и словарь ответа и выбирая версии моделей.
  • Существуют разные идеи и адаптации продвинутых методов промптинга для отдельных задач. Рекомендуем изучать актуальную документацию LangChain и GigaChain, чтобы выбрать подходящий пайплайн и настроить его под ваши цели.