Изучение программ и генов для Dev,Sec,Ops
О чем это репо?
Целью этого репозитория является структурирование различной информации о LLM и GenAi в виде повествования урока , которое легко понять традиционному программисту. В нем освещаются аспекты, которые вам необходимо понять с точки зрения разработки, эксплуатации и безопасности. Несмотря на то, что материала много, я стал объяснять одни и те же вещи снова и снова и разработал повествование.
Уроки в основном основаны на платформе Langchain и предполагают некоторое знакомство с языком программирования Python. Многие примеры были заимствованы со страниц документации, и там, где это возможно, указывается авторство. Спасибо Langchain за то, что собрали столько материала!
Обзор уроков
Разработчик
- Вызов простого LLM с использованием OpenAI
- Глядя на отладку в Langchain
- Общение с OpenAI в качестве модели
- Использование шаблонов подсказок
- Использование Docloader для чтения локальных файлов и подготовки их к LLM.
- Объяснить расчет и использование вложений.
- Поймите, насколько важно разделение и фрагментирование
- Загрузка вложений и документов в векторную базу данных
- Используйте цепочку вопросов и ответов для реализации шаблона RAG (дополненная генерация извлечения).
- Покажите использование документации OpenAI, позволяющей llm генерировать вызовы для поиска информации в реальном времени.
- Внедрите агента и предоставьте ему инструменты для получения дополнительной информации в реальном времени.
Операции
- Узнайте, сколько токенов вы используете и стоимость
- Как кэшировать ваши звонки в LLM, используя точное сопоставление или встраивание
- Как кэшировать расчет вложений и запустить расчет локально
- Запустите свой собственный местный LLM (используя Ollama)
- Отслеживайте свои звонки и записывайте их в файл (с помощью обработчика обратного вызова)
- Настройте структуру вывода (как JSON) и повторите попытку LLM, если она неверна.
Безопасность
- Объясните топ-10 OWASP для LLMS
- Покажите, как работает простое оперативное внедрение, и некоторые стратегии смягчения последствий.
- Как обнаружить быструю инъекцию с помощью сторонней модели от Hugginface
- Обнаружение внедрения проекта с помощью подсказки
- Проверьте ответ, предоставленный llms, и подумайте, все ли в порядке.
- Используйте модель «обнимающего лица», чтобы определить, были ли выходные данные LLM токсичными.
- Покажите простую подсказку, чтобы узнать мнение llm об уязвимостях Kubernetes и Trivy.
Прыгайте прямо на https://github.com/jedi4ever/learning-llms-and-genai-for-dev-sec-ops/tree/main/lessons. Это еще не все!
История этого репо
- Первоначальная структура уроков была сформирована во время хакатона GenAI, любезно организованного Techstrong/MediaOps.
- Уроки были доработаны для презентации на лондонской группе Devops Meetup.
- Другие планируют запустить свою собственную версию.
Как вы можете помочь?
Напишите нам, на какую тему вы хотели бы увидеть урок? Откройте проблему на GitHub, чтобы задать ее.
Отправляйте новые уроки, присылайте нам исправления и т. д., чтобы улучшить их.
Запустите свою собственную встречу/хакатон, используя этот репозиторий в качестве основы, и сообщите об этом! Нам нравится слушать эти истории, присылайте нам фотографии или видео!
Отправьте благодарственный твит @patrickdebois
Требования для запуска этого репо (требуется больше внимания)
Запустите его с помощью devcontainer
Этот проект содержит devcontainer для локального запуска репозитория. Или вы можете использовать Google Collab или что-то подобное для запуска блокнотов.
Запустите его локально
- Мы использовали Microsoft VSCode для запуска демо-версии.
- Мы запускаем блокноты Python и Jupyter локально.
- Мы используем поэзию в качестве нашего виртуального менеджера Python env.
Poetry — новый менеджер пакетов в этом блоке. Похоже на Конду или Пип с венв.
poetry init
poetry install --no-root
настроить vscode для использования поэзии
- установите Python 3.11 (хотя большинство примеров работают с 3.12) с pyenv
- получить путь pyenv
pyenv which python
- установите версию поэтического pyton
poetry env use <the python binary path from pyenv>
- найти путь к окружению поэзии
poetry env info --path
- в
view -> command pallete -> python: select interpreter -> enter interpreter path
- добавьте путь
/Users/patrick.debois/Library/Caches/pypoetry/virtualenvs/london-devops-VW7lFx7f-py3.11
+ добавьте /bin/python to it
-
poetry add ipykernel
настроить блокноты Jupyter
- установить плагин vscode
- установить ipykernel
Журнал изменений
- Версия 0.1 с исходным синтаксисом langchain
- Версия 0.2 адаптирована к новому langchain-community, langchain-openai и новому синтаксису.