@trapar-waves/llm-template
Version:
A template for LLM development integrating AI tools, TypeScript, Zod validation, and development utilities like Vitest and Rslib.
125 lines (85 loc) • 7 kB
Markdown
# @trapar-waves/llm-template






---
[English](../README.md) | [中文](/readme/README-CN.md) | [日本語](/readme/README-JP.md)
> Шаблон для разработки приложений на основе LLM (больших языковых моделей) готовый к производству, интегрирующий AI-инструменты, безопасность типов TypeScript, валидацию Zod и современные утилиты для разработки.
## ✨ Особенности
- **Безопасность типов:** Использование TypeScript для повышения качества кода и снижения ошибок во время выполнения.
- **Быстрый рабочий процесс разработки:** Использование Vite для быстрого запуска сервера и горячей замены модулей.
- **Оптимизированные сборки:** Использование Rslib для эффективной сборки библиотек и оптимизированного вывода в производство.
- **Интеграция AI:** Предварительная настройка `@ai-sdk/openai` и `ai` для бесперебойного взаимодействия с большими языковыми моделями.
- **Надежная проверка:** Использование Zod для проверки схем во время выполнения, обеспечивая целостность данных.
- **Ориентация на тестирование:** Включение Vitest для быстрого и надежного модульного тестирования.
- **Единообразие кода:** Использование Prettier и конфигурации ESLint от Antfu для принудительного соблюдения стиля и качества кода.
- **Управление средой:** Использование `dotenv` для безопасной настройки ключей API и параметров, зависящих от среды.
- **Кроссплатформенные пути:** Использование `pathe` для согласованной обработки файловых путей в различных операционных системах.
## 💻 Технологический стек
Ключевые технологии, используемые в этом проекте:
- **Язык:** TypeScript
- **Фреймворк LLM:** AI SDK (`@ai-sdk/openai`, `ai`)
- **Проверка:** Zod
- **Фреймворк тестирования:** Vitest
- **Инструмент сборки:** Rslib
- **Сервер разработки:** Vite
- **Качество кода:** ESLint (конфигурация Antfu), Prettier
- **Утилиты:** Dotenv, Pathe
Полный список зависимостей см. в [package.json](package.json).
## 🚀 Начало работы
Следуйте этим инструкциям, чтобы запустить проект локально.
### Предварительные требования
Убедитесь, что у вас установлены следующие компоненты:
- Node.js (рекомендуется версия >= 18.x)
- Пакетный менеджер (npm, yarn или pnpm)
```bash
node -v
npm -v
```
### Установка
Запустить скрипт
```bash
pnpm create trapar-waves
```
Установить зависимости
```bash
npm install
yarn install
pnpm install
```
### Доступные скрипты
Общие скрипты, доступные через `npm run <script>`, `yarn <script>` или `pnpm <script>`:
- `build`: Создает готовую к производству сборку с использованием Rslib.
- `build:watch`: Создает готовую к производству сборку с использованием Rslib в режиме наблюдения.
- `lint`: Проверяет код на наличие стилевых ошибок и ошибок с использованием ESLint.
Пример:
```bash
# Создать производственную сборку
npm run build
```
## 🛠️ Использование
Этот шаблон предоставляет основную структуру для создания приложений LLM. Он включает:
- Базовую структуру проекта с каталогом `src/`.
- Интеграцию с OpenAI API через `@ai-sdk/openai`.
- Пример использования `ai` и `zod` для генерации структурированного вывода.
- Конфигурацию для сборки и тестирования с помощью Rslib и Vitest.
Разработчики могут расширить этот шаблон, добавив собственные подсказки, модели и логику приложения в каталог `src/`.
## 🤝 Участие в разработке
Вклад в проект приветствуется и очень ценится! Чтобы внести вклад, следуйте этим шагам:
1. Сделайте форк репозитория
2. Создайте ветку с функцией (`git checkout -b feature/amazing-feature`)
3. Зафиксируйте свои изменения (`git commit -m 'Add some amazing feature'`)
4. Отправьте изменения в ветку (`git push origin feature/amazing-feature`)
5. Откройте Pull Request
## 📄 Лицензия
Распространяется по лицензии MIT. Дополнительную информацию см. в файле `LICENSE`.
## 👤 Автор
- **Rikka:** (admin@rikka.cc)
- **Профиль на GitHub:** [Muromi-Rikka](https://github.com/Muromi-Rikka)
## 🔗 Ссылки
- **Репозиторий:** [https://github.com/Trapar-waves/llm-template](https://github.com/Trapar-waves/llm-template)
- **Домашняя страница:** [https://github.com/Trapar-waves/llm-template](https://github.com/Trapar-waves/llm-template)
- **Проблемы:** [https://github.com/Trapar-waves/llm-template/issues](https://github.com/Trapar-waves/llm-template/issues)