Gamma-Software / AppifyAi

AppifyAi: Transform conversations into stunning web apps. Dynamic code generation + intuitive interface. Unleash your creativity effortlessly. Use the power of GPT OpenAI LLM and 🦜️🔗 LangChain ⚡and ChromaDB.
MIT License
27 stars 6 forks source link
appifyai chatbot chromadb generative gpt gpt3 gpt4 langchain llm prompt python

🤖 AppifyAi

Welcome to AppifyAi, an innovative project that brings together the power of natural language processing and dynamic web application generation. AppifyAi is your personal assistant that can transform your instructions into fully functional and interactive web applications with just a conversation.

Click me for more ## Unleash the Power of Conversational Programming With AppifyAi, you don't need to be a coding expert to create stunning web applications. Simply engage in a conversation with our intelligent chatbot, express your vision, and watch as the magic happens. Our cutting-edge natural language processing engine comprehends your instructions with remarkable accuracy, ensuring a seamless user experience. ## Dynamic Code Generation, Instant Web Applications AppifyAi's intelligent core generates high-quality Python code snippets on the fly, tailored to your exact specifications. Through the fusion of your creativity and our advanced algorithms, you'll witness the birth of captivating visualizations, intuitive interfaces, and dynamic functionality. No need to fiddle with complex frameworks or wrestle with tedious coding – AppifyAi handles it all for you. ## Streamlit: The Gateway to Web App Excellence We have chosen Streamlit, the beloved Python library, as the foundation for our web applications. With Streamlit's simplicity and elegance, your creations come to life effortlessly. Seamlessly integrated with AppifyAi, Streamlit ensures that your applications are not only visually stunning but also highly interactive, providing an immersive experience for your users. ## Let Your Imagination Soar AppifyAi is the ultimate tool for unleashing your creativity. Whether you want to build captivating data visualizations, develop intuitive dashboards, or create innovative machine learning applications, AppifyAi is your steadfast companion. It adapts to your needs, guides you through the process, and transforms your ideas into reality. ## Join the AppifyAi Revolution Become a part of the AppifyAi revolution and redefine the way web applications are built. Collaborate with fellow developers, share your creations, and inspire others. Your contributions make a difference, shaping the future of intelligent conversational programming.

Demo

Here is a list of demonstration in video and screenshot of conversation examples:

See the demo https://github.com/Gamma-Software/AppifyAi/assets/6960910/d34206e1-90cf-4408-b7c9-932d745ed96d https://github.com/Gamma-Software/AppifyAi/assets/6960910/0360af37-23c7-49e1-8794-1d035435a13f https://github.com/Gamma-Software/AppifyAi/assets/6960910/b6addffd-023d-4252-8a40-54259ce88f6b https://github.com/Gamma-Software/AppifyAi/assets/6960910/475bcb01-07b2-4db0-b841-b38830a1dfdf Here is a simple conversation with the chatbot: ![Simple conversation](demo/simple_conversation.png) When you enter instructions that may compromise the application security, the chatbot will warn you and not apply the generated code: ![Security Compromised](demo/security_compomised.png)

Why using AppifyAi ?

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

pip install -r requirements.txt

That's it ! You are ready to go !

Running the app

  1. Add you own OpenAI API key, by renaming the file .streamlit/secrets_template.toml to .streamlit/secrets.toml and add your own API key in the following line:

    openai_api_key = "your key here"
  2. Then run the following command to start the app:

streamlit run generative_app/core/secure_app.py
  1. Interact with the bot to generate the Streamlit App of your dreams !

Usage

This is a chatbot, simply enter your instruction and it will generate the corresponding Python code and create a Streamlit Web app application accordingly. To see it in action go to the page 🤖GeneratedApp.

It understand the context and remembers what you said before. For example, if you ask the bot the following instructions in order:

  1. "add a title with the text 'Hello World'"
  2. "replace the title with the text 'Hello World, this is my first Streamlit application'"
  3. "replace the title with a subtitle and the same text" You will end up with a Streamlit application with a subtitle with the text 'Hello World, this is my first Streamlit application'.

Commands

If you want to reset the context, you can use the command /reset or /undo to undo the last action. You can also use /save to save the current generated app and download the script.

Elements you can add

Streamlit provides a lot of elements that you can add to your application. Here is a list of the elements you can add with the chatbot:

Interactive

See the documentation for more details: Doc

Usage Examples

Tell AppifyAi the following instructions:

Simple instructions:

Upload files and display charts:

Useful apps:

Webscraping:

Creating games:

Using open APIs:

The chatbot will interpret these instructions, generate the corresponding Python code, and create a Streamlit application accordingly in the page 🤖GeneratedApp.

Limitations

For now the bot is capable of simple Web Apps. It can't create complex Web Apps with multiple pages and complex interactions. It can't resonate and provide complex results. Sometimes, the bot looses the context and can't understand what you are saying. In this case, you can use the command /reset to reset the context and start over or the /undo to undo the last instruction and the bot answer.

Roadmap

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

The inital idea came after frustruation of not being able to correctly communicate with an robot assistant by phone. ChatGPT's power combined to Langchain with the toolset the thinking capabilities was the solution to this problem.