LLM Flow - это веб -инструмент, предназначенный для облегчения процесса разработки ИИ, начиная с определения изолированных вариантов использования ИИ (функции искусственного интеллекта), реализации подсказок, оценки и улучшения быстрого качества и генерации API для интеграции функциональности ИИ в свои собственные приложения.
Изучите функции »
(Вернуться к вершине)
(Вернуться к вершине)
Проект разделен на три услуги, которые должны быть настроены индивидуально:
server : Backend Fastapipromptfoo-server : promptfoo Backend, который работаетclient : Next.js Frontend(Вернуться к вершине)
Используйте настройку Docker, если вы хотите просто запустить приложение без особых усилий. Для локальной разработки см. В локальной установке.
Предварительные условия:
Как настроить:
Для server и client создайте файл .env.docker в соответствующих корневых папках, копировав и переименовав файл .env.docker.template . Для promptfoo-server создать файл .env из файла .env.template . Замените секреты из шаблонов своими собственными.
В корневой папке запустите эти две команды:
docker compose build
docker compose up -d
client : http: // localhost: 3000/backend : http: // localhost: 4000/docs(Вернуться к вершине)
Предварительные условия:
Вы также можете использовать другую версию узла. Тем не менее, я тестировал только установку с помощью узла 22.
Как настроить:
Для всех трех служб создайте файл .env в соответствующих корневых папках, копируя и переименовав файл .env.template . Замените секреты в шаблонах своими собственными.
В корневой папке запустить:
docker compose up mongo -d
backend Чтобы запустить backend вы можете использовать отладчик VS -кода, чтобы запустить его или запустить следующее в backend -папке:
pipenv install
pipenv run python3.12 wsgi.py
promptfoo-server В папке promptfoo-server запустить:
npm install
npm run start
client : В папке client :
npm install
npm run dev
client : http: // localhost: 3000/backend : http: // localhost: 4000/docs(Вернуться к вершине)
Если вы хотите разработать проект, обязательно проберите локальную настройку.
Предварительные условия:
Вот несколько полезных команд для использования во время разработки:
pre-commit run --all-files
sh generate_client_bindings.sh
В папке client :
npm run lint
npm run pretty
(Вернуться к вершине)
Функции ИИ представляют контракты между вашей собственной бизнес -логикой и поставщиком LLM. Вы передаете им набор параметров, и они возвращают структурированный выход.
В веб -интерфейсе вы можете определить функцию ИИ. Вы определяете его имя, дайте ему описание, определите параметры, которые он принимает, и выбираете поставщиков, которые он может использовать:
Вы также определяете, возвращает ли функция простой неструктурированный струнный ответ или структурированный ответ JSON. Для последнего вы можете определить сложные объекты JSON, используя редактор схемы JSON.
Для оценки качества подсказок функции ИИ вы можете определить утверждения и тестовые примеры. Утверждения используются для сравнения с ожидаемыми значениями или условиями. Эта функция использует rackfoo под капюшоном. Существуют различные типы утверждений на выбор, от простых сравнений, до сложных шаблонов режима и даже тех, которые используют самоопределенный код Python или JavaScript, которые могут определять пользовательскую и потенциально сложную логику утверждения.
Тестовые примеры относятся к примеру данных для параметров функции ИИ. Они играют неотъемлемую роль в утверждении быстрого качества. После определения подсказки он оценивается по тестовым случаям с утверждениями, определенными в функции ИИ. Вы также можете определить утверждения, которые применяются только к одному тестируемому примеру. Существует даже функция для ИИ генерировать тестовые случаи на основе ранее определенных тестовых случаев, а также имени и описания функции ИИ.
Для начала вы можете просто создать функцию ИИ из одного из приведенных примеров:
(Вернуться к вершине)
В LLM подсказывания потока определены в контексте функций ИИ. Они должны включать параметры соответствующей функции ИИ в своем теле и оцениваются по тестовым случаям и утверждениям.
Подсказки оцениваются для каждого поставщика, указанного в соответствии с функцией ИИ. Это позволяет сравнивать качество подсказки для разных поставщиков. Три показателя вычисляются во время оценки:
(Вернуться к вершине)
Проекты - это способ создать API, с помощью которого вы можете назвать различные функции искусственного интеллекта. В веб -интерфейсе для каждого проекта генерируется пользовательский Swagger Doc, который вы можете использовать для проверки API в самом клиенте. Вы также можете экспортировать спецификацию OpenAPI для создания собственных клиентских привязков, используя генераторы кодов, такие как GoNAPI-генератор.
Документы API автоматически заполняются именем, описанием и параметрами выбранных функций ИИ и включают в себя один из определенных тестовых случаев в качестве примера. Каждой функции ИИ в рамках проекта присваивается собственная конечная точка.
Таким образом, вы можете интегрировать функции ИИ, определенные в потоке LLM в ваших собственных приложениях. После создания проекта вам не обязательно нужно запустить клиента, чтобы вызвать его конечные точки. Вот демонстрация того, как создавать и использовать проекты:
(Вернуться к вершине)
Если у вас есть предложение, которое сделает это лучше, пожалуйста, разделите репо и создайте запрос на тягу. Вы также можете просто открыть проблему с тегом «Улучшение». Не забудьте дать проекту звезду! Еще раз спасибо!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )(Вернуться к вершине)
Распределено по лицензии MIT. См. LICENSE.txt для получения дополнительной информации.
(Вернуться к вершине)
Амир Мохаммад - [email protected]
Ссылка на проект: https://github.com/amir-mo1999/llmflow
(Вернуться к вершине)