Пожалуйста, перестаньте учиться: от Prompt до RAG, от RAG до DSPy.
Пожалуйста, перестаньте учиться: от Prompt до RAG, от RAG до DSPy.

Как упоминал Бенгуа в предыдущей статье, подсказка проект Больше не полезно,Никто не хочет прилагать усилия, чтобы научиться структурировать вопросы.,Если хотите, это просто глупый вопрос.,Но ответ большой Моделииз был точным и удовлетворительным;

Позже технология 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 Конвейер находится дальше от оперативных подсказок и ближе к программированию.

DSPy VS LangChain

Одна волна за другой, LangChain так и не научился понимать, почему этот «пердун» снова здесь? Какая разница?

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

DSPy представляет компилятор, который исключает необходимость быстрого проектирования или тонкой настройки при внесении изменений в приложения на основе LLM (например, разработчики LLM или данных могут просто перекомпилировать программу для оптимизации конвейеров (процессов компонентов модели) в соответствии с недавно добавленными); изменения.

Как именно это делается?

знак

существовать DSPy программасередина,Каждый раз, когда вызывается язык Модель,Все должны использовать естественный языкзнак(signature),Вместо традиционных рукописных подсказок.

знак — это сокращение от функции,Используется для четкого указания цели конверсии.,вместо指导 LM Метод приглашения такой же, как и в нашей предыдущей командной модели. «Используйте XXX, чтобы ответить на XXX вопрос» нет то же самое.

знак Включать LLM Минимальное описание решаемой подзадачи, описание поля ввода и описание поля вывода в целом примерно такие:

Язык кода:javascript
копировать
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 знак Адаптироваться под конкретные задачи。

Язык кода:javascript
копировать
 # 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.Predict: основные переменные-предсказатели
  • dspy.ChainOfThought: Научите LMсуществоватьверноSignatures думать шаг за шагом, прежде чем ответить.
  • dspy.ProgramOfThought: научите LM выводить код.
  • dspy.ReAct: агент (инструмент использования), который может реализовать определенную функцию подписей.
  • dspy.MultiChainComparison: можно сравнить несколько выходных данных ChainOfThought для получения окончательного прогноза.

Преимуществом модуляизосуществовать является его гибкость и интеграция в существующие трубы.,параметризован,Включая подробные сведения и т. д.,модуль обрабатывает ввод согласно знаку,Обратный вывод.

телесуфлер

DSPy Есть еще одно оружие, а именно Teleprompters телесуфлер. телесуфлер Используйте конкретные метрики, работайте с компилятором, изучайте и направляйте эффективные подсказки и, таким образом, оптимизируйте DSPy каждый модуль программы.

DSPy имеет 5 встроенных телесуфлеров:

  • dspy.LabeledFewShot
  • dspy.BootstrapFewShot
  • dspy.BootstrapFewShotWithRandomSearch
  • dspy.BootstrapFinetune
  • dspy.Ensemble

Различные изтелесуфлерсуществоватьоптимизация стоимости и качества, а также другие аспекты обеспечивают различный баланс.

краткое содержание

Вышеупомянутое дает нам базовое понимание DSPy: он элегантно инкапсулирует традиционную разработку слов подсказок с помощью некоторого синтаксического сахара.

Это среда, которая устраняет проблемы уязвимости приложений на основе языковых моделей, отдавая приоритет программированию над подсказками, что позволяет перекомпилировать весь конвейер для оптимизации задач;

Принцип реализации описан в предыдущей статье: знак, модульителесуфлер и другие понятия вводятся в абстрактные подсказки и тонкую настройку; компилятор может автоматически оптимизировать программу и генерировать качественные подсказки в соответствии с требованиями задачи.

Если вам интересно, вы можете обратить внимание и продолжить изучение примера практики использования конвейера RAG в DSPy.

ссылка

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose