https://github.com/al322se/DSpyNet
Недавно задумался а какие паттерны есть в работе с нейронными сетями. Поискал, они есть, интересно ))
Один из "паттернов" оказался завернут в конретную библиотеку на питоне https://dspy.ai/ - а именно полуавтоматическое создание промтов. Когда ты не сам выбираешь лучший промт, а с помощью разных стратегий (они ниже) автоматом выбираешь/генерируешь лучший.
Я люблю .net... И я сделал порт этой библиотеки с питона на .net https://github.com/al322se/DSpyNet
Паттерны которые там есть
Predict - чуть более удобная работа с вопросом и ответом нейросети через аттрибуты
Chain of Thought
До:
Predict: Вопрос -> Ответ (Часто галлюцинации).После:
ChainOfThought: Вопрос -> Рассуждение (Логика) -> Ответ (Высокая точность).COPRO (Оптимизатор инструкций)
Это автоматический промпт-инжиниринг.
Проблема: Вы написали инструкцию: Переведи текст Она работает плохо. Вы меняете на Переведи текст как профессионал. Чуть лучше. Вы тратите часы, перебирая слова.
Решение (DSpyNet): Вы даете задачу COPRO.
1. Он просит мощную модель (например, GPT-4) предложить 10 вариантов инструкции лучше вашей.
2. Он тестирует каждый вариант на ваших данных.
3. Он выбирает тот текст инструкции, который дал максимальный балл метрики.
MIPRO (Байесовская оптимизация всего)
Проблема: У вас есть 10 хороших примеров и 5 вариантов инструкций. Какая комбинация даст лучший результат? Инструкция А + Примеры 1, 2, 3? Или Инструкция Б + Примеры 8, 9, 10? Перебирать всё вручную нереально.
Решение (DSpyNet): Использует математику (Байесовскую оптимизацию).
1. Он генерирует множество вариантов инструкций.
2. Он генерирует множество наборов примеров.
3. Он запускает умный поиск, пробуя разные комбинации и обучаясь на результатах