このプロジェクトについて
# SQL作成用ChatGPTプロンプト
このユーティリティは、ChatGPTなどのLLMでSQLクエリを作成するためのプロンプトを生成します。データベース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にはプロセスを簡素化するシェル関数(`find_random_open_port`と`ssh-tunnel`)が記載されています。
## TODO
- [x] Postgres対応
- [x] 単一エントリーポイント
- [x] 列とテーブルのDBコメントを使用
- [x] 複数テーブル対応
- [ ] プロンプト調整
- [ ] プロンプトサイズ制限を理解し、収まるまでサンプルレコードを調整
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.