{"id":14463540,"url":"https://github.com/aiengineeringforgrandmas/gemini-prompt-engineer-toolkit","last_synced_at":"2025-08-18T03:37:31.108Z","repository":{"id":253249308,"uuid":"842933761","full_name":"aiengineeringforgrandmas/gemini-prompt-engineer-toolkit","owner":"aiengineeringforgrandmas","description":"⚡Powered by Goggle TPUs and the latest (Aug 27, 2024) Gemini 1.5 Pro and Flash Models to generate high-quality engineered prompts, analyze text and images, and create datasets for fine-tuning AI models, helping you to become a prompt engineering pro","archived":false,"fork":false,"pushed_at":"2024-09-17T02:50:29.000Z","size":58581,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T00:13:15.764Z","etag":null,"topics":["dataset-generation","fine-tuning","gemini-ai","gemini-api","gemini-flash","gemini-pro","html","jsonl","prompt-engineering","python","streamlit","streamlit-webapp"],"latest_commit_sha":null,"homepage":"https://aiengineeringforgrandmas.xyz","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aiengineeringforgrandmas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-15T12:26:14.000Z","updated_at":"2025-02-03T15:20:00.000Z","dependencies_parsed_at":"2024-09-17T06:28:01.596Z","dependency_job_id":null,"html_url":"https://github.com/aiengineeringforgrandmas/gemini-prompt-engineer-toolkit","commit_stats":null,"previous_names":["aiengineeringforgrandmas/gemini-prompt-engineer-pro","aiengineeringforgrandmas/gemini-prompt-engineer-toolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aiengineeringforgrandmas/gemini-prompt-engineer-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aiengineeringforgrandmas","download_url":"https://codeload.github.com/aiengineeringforgrandmas/gemini-prompt-engineer-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270940594,"owners_count":24671676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataset-generation","fine-tuning","gemini-ai","gemini-api","gemini-flash","gemini-pro","html","jsonl","prompt-engineering","python","streamlit","streamlit-webapp"],"created_at":"2024-09-01T23:01:40.542Z","updated_at":"2025-08-18T03:37:31.079Z","avatar_url":"https://github.com/aiengineeringforgrandmas.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"![image1 Gemini Prompt Engineering Toolkit](https://github.com/user-attachments/assets/b5efbb2b-744e-43ea-b695-69b4c87528ad)\n\n⚡Powered by the latest (Aug 27, 2024) Gemini-1.5-flash-exp-0827 - Gemini-1.5-pro-exp-0827 - Gemini-1.5-flash-8b-exp-0827 Models \n\nThe Gemini AI - Prompt Engineering Toolkit is a powerful Streamlit, Python and Gemini AI powered application designed to streamline your AI prompt engineering and fine-tuning dataset workflows and to assist you in becoming a Prompt Engineeering Pro! Harness the power of Google's latest (Aug 27, 2024) cutting-edge Gemini models (Gemini-1.5-flash-exp-0827, Gemini-1.5-pro-exp-0827, Gemini-1.5-flash-8b-exp-0827 Models) to generate high-quality prompts, analyze files, and create synthectic datasets for fine-tuning AI models. - Gregory Kennedy\n\n\n![1250x650-gemini-flash-pro-aug-update](https://github.com/user-attachments/assets/bcd5478c-52f4-4a5b-9793-cf54090ec0ad)\n\n## ✨ Key Features\n\n* **Prompt Generation:** Craft effective prompts for a wide range of tasks, from creative writing to code generation.\n* **File Analysis:**  Gain insights from your data by uploading and analyzing CSV, TXT, Markdown (MD), and image files.\n* **Test Data Generation:**  Create synthetic datasets for fine-tuning your AI models, ensuring they perform optimally.\n* **Multi-Model Support:**  Choose from Gemini-1.5-flash-exp-0827 - Gemini-1.5-pro-exp-0827 - Gemini-1.5-flash-8b-exp-0827 Models to leverage different capabilities.\n* **User-Friendly Interface:**  Intuitive Streamlit interface makes the app accessible to both beginners and experienced users.\n\n\n# 🛠️ Tools: Streamlit - Langsmith - Python - Conda - Git\n\n\n\n## 🎈Streamlit: Rapid AI Frontend User Interface (UI) Application Development\nStreamlit provides an intuitive framework for building interactive web applications with minimal code, allowing us to focus on delivering a seamless user experience.\n![logo-streamlit](https://github.com/user-attachments/assets/b818f12a-7cc3-4edb-bc69-8e82fbaa4bce)\n\n\n## 🔍 Langsmith: LLM Application Lifecycle Management \n\nLangSmith is a tool for observing, debugging, dataset creation, cost analysis and improving your AI/LLM applications. \n\n***Get you Langsmith API Key here https://smith.langchain.com/***\n\nKey features include:\n\n![2-Langsmith-aiengineeringforgrandmas](https://github.com/user-attachments/assets/1f68ae84-3986-4aa2-aefc-1543526698b3)\n\n\n- 🐞 Real-time debugging and performance optimization\n- 👥 Collaboration tools for sharing chain traces\n- 📝 Hub for crafting, versioning, and commenting on prompts\n- 🏷️ Annotation Queues for human labeling and feedback\n- 📊 Dataset creation for evaluations, few-shot prompting, and fine-tuning\n- 🧪 Comprehensive testing and evaluation capabilities, including AI-assisted evaluation\n\nhttps://github.com/user-attachments/assets/6a730a5e-3a5e-4254-8d61-1500d0a30caf\n\n## 🚀 Quickstart\n![python](https://github.com/user-attachments/assets/14351783-eb15-424a-aff3-238707712614)\n\n***Download and Install Python*** \n\nhttps://www.python.org/downloads/macos/\n\nhttps://www.python.org/downloads/windows/\n\n\n![Git-Logo-1788C](https://github.com/user-attachments/assets/dc07e6bd-bdb5-4622-a3e0-c7b472129502)\n\n***Download and Install Git***\n\nhttps://git-scm.com/download/mac\n\nhttps://git-scm.com/download/win\n\n\n![png-clipart-honda-anaconda-python-data-science-honda-text-logo](https://github.com/user-attachments/assets/e399ad85-8176-4c1e-bbe3-cbc99fd600bb)\n\n***Download and Install Conda***\n\nWe recommend using `conda` for easy and secure environment management \n\nDownload it from [https://docs.conda.io/en/latest/miniconda.html](https://docs.conda.io/en/latest/miniconda.html).\n\nScroll down on the miniconda page *** to the \"Latest Miniconda installer links\" section to download for Windows, MacOs and Linux ***\n\n\n### 1. Set Up Your Environment\n\n1. **Create a secure Conda Environment:**\n   ```bash\n   conda create -n gpe-env python=3.12 \n   conda activate gpe-env \n   ```\n\n2. **Install Dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n### 2. Get and Save Your API Keys\n\n1. **Google Gemini API Key:**  This special key allows you to tap into Google's powerful AI model.  Get your free key at [https://https://aistudio.google.com/](https://https://aistudio.google.com/).\n\n* **How to use the Gemini API Key:**  Enter this special key in the left side of the Streamlit frontend UI in order to use the app.\n\n2. **Create a `.env` File:** In your project's folder, create a new text file named `.env`.\n\n2. **Add Your LANGSMITH/LANGCHAIN API Key:** Open the `.env` file and paste in your Langsmith API key:\n\n   ```\n   LANGCHAIN_TRACING_V2=true\n   LANGCHAIN_ENDPOINT=\"https://api.smith.langchain.com\" \n   LANGCHAIN_API_KEY=\"your api key goes here\" #\n   LANGCHAIN_PROJECT=\"gem-engr\"\n\n   ```\n\n   **Keep this file and your API Keys safe and don't share it!**\n\n### 3. Launch the App\n\n1. **Navigate to the Project Directory:**\n   ```bash\n   cd /path/to/your/project\n   ```\n\n2. **Run the Streamlit App:**\n   ```bash\n   streamlit run v1.8-gemini-prompt-engineer.py\n\n   ```\n\nYour app will open in your web browser, ready for you to start exploring!\n\n## 🚀 Usage\n\n### 1. Generate Prompts\n\n1. **Enter Your Question or Task:**  Describe the task you want the AI to perform (e.g., \"??????\").\n2. **Add Variables (Optional):**  Provide specific details or constraints (e.g., \"topic: adventure, audience: children, tone: humorous\").\n3. **Click \"Generate Prompt\":**  The app will generate a prompt tailored to your input.\n4. **Download Options:**  Download the prompt as a TXT or JSONL file for later use.\n\n### 2. Analyze Files\n\n1. **Upload a File:**  Select a CSV, TXT, Markdown (MD), or image file from your computer.\n2. **Enter Analysis Prompt:**  Provide instructions for the AI to analyze the file (e.g., \"Summarize the key findings of this research paper\").\n3. **Click \"Analyze File\":**  The app will generate an analysis based on your prompt and the file contents.\n\n### 3. Generate Test Data\n\n1. **Enter Topic or Text:**  Provide a topic or text as a basis for generating conversation pairs.\n2. **Specify Number of Pairs:**  Choose how many conversation pairs you want to generate.\n3. **Click \"Generate Test Data\":**  The app will create a JSON or JSONL file containing the generated conversation pairs.\n\n## 💡 Tips\n\n* **Be Specific:**  The more specific your task descriptions and analysis prompts, the better the results.\n* **Experiment with Variables:**  Try different combinations of input variables to fine-tune your prompts.\n* **Iterate and Refine:**  Don't be afraid to experiment and refine your prompts based on the generated results.\n\n## 🙏 Acknowledgements\n\n* **Google Gemini:** For the powerful and versatile language models.\n* **Streamlit:** For making it easy to build interactive web applications.\n* **Langchain's Langsmith: Tracing and Observability for LLMs** Tracing and observing the behavior of large language models (LLMs)s.\n\n## 🛠️ Under the Hood: Technical Deep Dive\n\nLet's explore the key technologies and techniques that power this application.\n\n**1. Google Gemini: The Brainpower Behind the Magic**\n\nGoogle Gemini is a family of large language models (LLMs) developed by Google AI.  These models are trained on massive datasets of text and code, enabling them to perform a wide range of tasks, including:\n\n* **Text Generation:**  Write stories, poems, articles, and more.\n* **Code Generation:**  Generate code in various programming languages.\n* **Translation:**  Translate text between languages.\n* **Question Answering:**  Provide informative answers to questions.\n* **Summarization:**  Condense large amounts of text into concise summaries.\n\nThis app leverages the power of Gemini to generate prompts, analyze files, and create test data.\n\n**2. Langsmith: Tracing and Observability for LLMs**\n\nThis application integrates with LangSmith, a framework developed by LangChain for tracing and observing the behavior of large language models (LLMs). LangSmith allows developers to gain insights into how their LLMs are performing, identify potential issues, and improve the overall quality of their AI applications.\n\n**3. Streamlit: Building Interactive User Interfaces**\n\nStreamlit is a Python library that makes it incredibly easy to create interactive web applications for data science and machine learning.  Its intuitive API and focus on simplicity allow developers to quickly build and deploy powerful apps without the need for extensive front end user inteface web development knowledge.\n\nThis app leverages Streamlit to provide a user-friendly interface for interacting with the Gemini models and managing your prompt engineering and fine-tuning workflows.\n\n**4. Putting It All Together: The Workflow**\n\nHere's a high-level overview of how the app works:\n\n1. **User Input:**  You provide a task description, analysis prompt, or topic for test data generation.\n2. **Prompt Generation (if applicable):**  The app uses Gemini to generate a prompt based on your input.\n3. **File Analysis (if applicable):**  The app uploads and analyzes your file using Gemini, providing insights based on your analysis prompt.\n4. **Test Data Generation (if applicable):**  The app uses Gemini to generate conversation pairs for fine-tuning your AI models.\n5. **Output and Download:**  The app displays the generated prompts, analysis results, or test data, and provides download options for convenient storage and reuse.\n\nThis integration of Gemini, LangSmith, and Streamlit empowers you to harness the power of AI for your prompt engineering and fine-tuning tasks.\n\n## 🙌 Contributing\n\nI welcome contributions from the community! Here's how you can get involved:\n\n1. **Fork the Repository:**  Click the \"Fork\" button at the top right of this page.\n\n2. **Create a New Branch:**  Make your changes in a separate branch to keep things organized.\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. **Commit Your Changes:**  Add clear and concise commit messages to explain your work.\n   ```bash\n   git commit -m \"Add your descriptive commit message here\"\n   ```\n4. **Push to Your Fork:**  Send your changes to your forked repository on GitHub.\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n5. **Open a Pull Request:**  Submit a pull request to the main repository, describing your changes and their benefits.\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 📚 Learn More\n\nWant to dive deeper into the technologies behind this project? Here are some helpful resources:\n\n* **Google Gemini:** [https://developers.google.com/gemini/](https://developers.google.com/gemini/)\n* **Streamlit Documentation:** [https://docs.streamlit.io/](https://docs.streamlit.io/)\n* **LangSmith Documentation:** [https://docs.langchain.com/docs/ecosystem/integrations/langsmith](https://docs.langchain.com/docs/ecosystem/integrations/langsmith)\n\n## 🚀 Let's Build the Future of AI Together!\n\nWe believe this project is a stepping stone towards a more accessible and powerful future for AI development.  Join us on this exciting journey!\n\n* **Star this Repository:**  Show your support and help others discover this project.\n* **Share Your Creations:**  We'd love to see what you build using this app! Share your projects and ideas with the community.\n* **Contribute and Collaborate:**  Let's work together to make this project even better!\n\nLet's unlock the potential of AI together!\n\nOkay, here's the final part of the README, wrapping things up with a call to action and contact information:\n\n## 🚀 Get Started Today!\n\nReady to unleash the power of Gemini for your AI prompt engineering and fine-tuning tasks?  \n\n1. **Clone this repository:**\n   ```bash\n   git clone https://github.com/your-username/your-repository-name.git\n   ```\n\n2. **Follow the Quickstart guide above to set up your environment and configure your API key.**\n\n3. **Start exploring the app and see what you can create!**\n\n## 🙋‍♀️  Need Help?  Have Questions?\n\nWe're here to support you on your AI journey.  Feel free to reach out if you encounter any issues or have questions about the app.\n\n* **Open an Issue:**  Report bugs or suggest new features by opening an issue on the GitHub repository.\n* **Join the Community:**  Connect with other users and developers in our community forum (link to be added soon).\n\n## 🙏 Acknowledgements\n\n* **Thank you to the awesome teams at Google, Streamlit and Langchain!!!:** I extend my gratitude to the amazing teams who have made these project possible:\n\n* **Google AI:** For developing the powerful Gemini models.\n* **Streamlit:** For creating an intuitive and user-friendly framework for building web applications.\n* **LangChain:** For developing the LangSmith tracing and observability framework.\n\n## ❤️ Let's Make AI More Accessible!\n\nWe believe that AI should be accessible to everyone, regardless of their technical background.  This project is a step towards that vision.  Join us in making AI more accessible and empowering!\n\n**Happy Prompt Engineering!**\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faiengineeringforgrandmas%2Fgemini-prompt-engineer-toolkit/lists"}