Об этом проекте
# Промпт ChatGPT для написания SQL
Эта утилита генерирует промпты для написания SQL-запросов с помощью LLM, таких как ChatGPT. Получив URL базы данных и имя таблицы, она создаёт готовый к копированию и вставке промпт, содержащий:
- **Снимок структуры таблицы**: столбцы, типы и организация таблицы.
- **Примеры строк**: инструкции INSERT, иллюстрирующие данные в таблице.
- **Комментарии к таблицам и полям**: включаются любые комментарии к таблицам или столбцам.
## Использование
Установка через pip:
```shell
pip install llm-sql-prompt
```
Базовое использование:
```shell
Usage: llm-sql-prompt [OPTIONS] DATABASE_URL [TABLE_NAME]
Options:
--help Show this message and exit.
```
Создание промпта из базы данных Postgres:
```shell
llm-sql-prompt postgresql://postgres:postgres@localhost:5555/database_name table_name | pbcopy
llm-sql-prompt $DATABASE_URL
```
Из локальной базы данных SQLite:
```shell
llm-sql-prompt "$HOME/Library/Application Support/BeeperTexts/index.db" --all
```
## Локальная разработка CLI
Запустите `just install_editable`, чтобы установить рабочую копию глобально в редактируемом режиме, так чтобы изменения в исходном коде отражались без переустановки. Для этого требуются `uv`, `just`, `zsh` и `jq`. Если доступен mise, рецепт также обновляет каждое установленное окружение `pipx:llm-sql-prompt`, чтобы mise мог использовать локальную рабочую копию. Повторно запускайте после обновлений mise, которые заменяют эти редактируемые установки.
### Туннелирование к удалённому порту
Для работы с производственной базой данных через SSH-туннелирование README предоставляет shell-функции (`find_random_open_port` и `ssh-tunnel`) для упрощения процесса.
## TODO
- [x] Поддержка Postgres
- [x] Единая точка входа
- [x] Использование комментариев БД к столбцам и таблицам
- [x] Несколько таблиц
- [ ] Настройка промпта
- [ ] Понимание ограничений размера промпта и выборки записей, пока одна не поместится
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.