Как упоминал Бенгуа в предыдущей статье, подсказка проект Больше не полезно,Никто не хочет прилагать усилия, чтобы научиться структурировать вопросы.,Если хотите, это просто глупый вопрос.,Но ответ большой Моделииз был точным и удовлетворительным;
Позже технология Daxing RAG создала профессиональную локальную базу знаний, но можно сказать, что стоимость этой локальной базы данных будет выше. Было бы хорошо, если бы существовала профессиональная база данных для непосредственного использования, в противном случае ее создание было бы очень дорогим. самостоятельно построить базу данных, очистить данные и т. д. Если у вас есть мощность девяти коров и двух тигров, зачем вам большие модели?
Вот почему некоторые люди говорят, что крупномасштабная модель войны 2023 года — это атомная бомба. Крупномасштабная модель 2024 года действительно заставляет людей сомневаться в этом. Разве это не просто чайное яйцо?
Я видел недавние новости: Stability AI, звездная компания, разработавшая знаменитую модель Stable Diffusion и оцениваемая почти в 30 миллиардов долларов США, собирается разорвать цепочку своего капитала? ! Сумасшедший...
На самом деле обращение у всех очень простое, то есть "как сделать максимально просто и удобно", ни проекта Подскажите, ни локальной библиотеки RAG, пока я спрошу, вы можете прямо дать мне ответ, который я хочу, и никакой ерунды!
Поэтому новая технология, о которой будет упомянуто в этой статье, — DSPy, уже здесь!
Позвольте мне сначала спросить: кто, по вашему мнению, до сих пор получал наибольшую выгоду от больших моделей?
Помимо тех, кто раскручивает рекламу и продает курсы, пожалуй, единственным, кто в настоящее время может получить реальную выгоду от технологии больших моделей, является группа программистов. Многие программисты в той или иной степени использовали большие модели для облегчения программирования. Большие модели часто работают гораздо лучше в программировании, чем в других профессиональных областях.
почему это?
Поскольку LLM очень чувствителен к подсказкам, он не любит слова-подсказки, ему нравится программировать или он лучше программирует!
DSPy — это платформа, которая превращает слово-подсказку Prompt в язык программирования.
Окончательно в одном предложении:это цельсуществовать Приоритет передачипрограммированиевместо prompt Платформа для решения проблем уязвимостей в приложениях на основе языковой модели (LM).
DSPy Расширение: "D declarative S self - improved Language P programs (in Python)”,Прочтите "Дисс Фарт",Он делает упор на программирование, а не на подсказки, создавая сборки на основе LM Конвейер находится дальше от оперативных подсказок и ближе к программированию.
Одна волна за другой, LangChain так и не научился понимать, почему этот «пердун» снова здесь? Какая разница?
Проще говоря, технология RAG от LangChain предназначена для того, чтобы сделать подсказки более подробными и насыщенными, образуя стандартный шаблон вопросов, в то время как DSPy является основным шаблоном подсказок для взаимодействия с большими моделями с точки зрения программирования.
DSPy представляет компилятор, который исключает необходимость быстрого проектирования или тонкой настройки при внесении изменений в приложения на основе LLM (например, разработчики LLM или данных могут просто перекомпилировать программу для оптимизации конвейеров (процессов компонентов модели) в соответствии с недавно добавленными); изменения.
Как именно это делается?
существовать DSPy программасередина,Каждый раз, когда вызывается язык Модель,Все должны использовать естественный языкзнак(signature),Вместо традиционных рукописных подсказок.
знак — это сокращение от функции,Используется для четкого указания цели конверсии.,вместо指导 LM Метод приглашения такой же, как и в нашей предыдущей командной модели. «Используйте XXX, чтобы ответить на XXX вопрос» нет то же самое.
знак Включать LLM Минимальное описание решаемой подзадачи, описание поля ввода и описание поля вывода в целом примерно такие:
class GenerateAnswer(dspy.Signature):
"""Answer questions with short factoid answers."""
context = dspy.InputField(desc="may contain relevant facts")
question = dspy.InputField()
answer = dspy.OutputField(desc="often between 1 and 5 words")
По сравнению с обычными подсказками, знак можно скомпилировать в самосовершенствующийся и адаптивный конвейер, а подсказку можно настраивать с помощью руководящих примеров.
Студенты, сталкивавшиеся с подсказками, знают, что мы часто руководствуемся ответами крупных моделей, например: вы должны отвечать на XXX в стиле XXX, вы персонаж XXX и имеете опыт XXX, не отвечайте на XXX...
существовать DSPy Эти технологии подсказок абстрагируются посредством шаблонизации и параметризации посредством применения технологий подсказок, точной настройки, улучшения и вывода; DSPy знак Адаптироваться под конкретные задачи。
# Option 1 : Pass minimal signature to ChainOfThought module
generate_answer = dspy.ChainOfThought("context, question -> answer")
# Option 2 : Or pass full notation signature to ChainOfThought module
generate_answer = dspy.ChainOfThought(GenerateAnswer)
# Call the module on a particular input.
pred = generate_answer(context = "Which meant learning Lisp, since in those days Lisp was regarded as the language of AI.",
question = "What programming language did the author learn in college?")
Из приведенного выше кода DSPy знакперешел кChainOfThought
модуль,Затем используйте поле ввода context
и question
стоимость называется.
DSPy имеет следующие встроенные инструменты, каждый из которых имеет разные функции:
Преимуществом модуляизосуществовать является его гибкость и интеграция в существующие трубы.,параметризован,Включая подробные сведения и т. д.,модуль обрабатывает ввод согласно знаку,Обратный вывод.
DSPy Есть еще одно оружие, а именно Teleprompters телесуфлер. телесуфлер Используйте конкретные метрики, работайте с компилятором, изучайте и направляйте эффективные подсказки и, таким образом, оптимизируйте DSPy каждый модуль программы.
DSPy имеет 5 встроенных телесуфлеров:
Различные изтелесуфлерсуществоватьоптимизация стоимости и качества, а также другие аспекты обеспечивают различный баланс.
Вышеупомянутое дает нам базовое понимание DSPy: он элегантно инкапсулирует традиционную разработку слов подсказок с помощью некоторого синтаксического сахара.
Это среда, которая устраняет проблемы уязвимости приложений на основе языковых моделей, отдавая приоритет программированию над подсказками, что позволяет перекомпилировать весь конвейер для оптимизации задач;
Принцип реализации описан в предыдущей статье: знак, модульителесуфлер и другие понятия вводятся в абстрактные подсказки и тонкую настройку; компилятор может автоматически оптимизировать программу и генерировать качественные подсказки в соответствии с требованиями задачи.
Если вам интересно, вы можете обратить внимание и продолжить изучение примера практики использования конвейера RAG в DSPy.