প্রকল্প সম্পর্কে

# 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] একাধিক টেবিল - [ ] প্রম্পট টুইকিং - [ ] প্রম্পট সাইজ সীমা এবং নমুনা রেকর্ড বোঝা যতক্ষণ না একটি ফিট করে