Giter Site home page Giter Site logo

gamma-software / appifyai Goto Github PK

View Code? Open in Web Editor NEW
26.0 2.0 5.0 103.27 MB

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.

License: MIT License

Python 98.17% Dockerfile 0.58% Shell 1.25%
generative gpt gpt3 gpt4 langchain llm prompt chatbot chromadb python

appifyai's People

Contributors

gamma-software avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

appifyai's Issues

Verify the email

use https://eva.pingutil.com/

import http.client
import mimetypes
conn = http.client.HTTPSConnection("api.eva.pingutil.com")
payload = ''
headers = {}
conn.request("GET", "/email?email=[email protected]", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Undo messages until code is found

Sometimes the user will ask for questions so no code is generated. But for now the /undo command will pop the last code and remove the last message, so in case the user ask for a question and wants to undo the stored data will be desynchronized. indeed the last code will be removed but the bot message that generated the code will not.

This could be the part of the code that may fix it
Capture d’écran 2023-07-21 à 23 04 56

Add tags to personnalise the answer

Add tags to personalize the answer of the robot.

The tag must start with the # character.

One tag example could be #creative to let the bot to be creative in the answer.

Or #title #subtitle to quickly say the bot to add a relevant title or subtitle.

As a user, I want to upload a file (csv, png) to add it into context

The user must be able to upload (via a user command /upload) a picture (jpg, png, gif, ...) or an other file (csv, excel) in order to be able to add this new data into context.

The user will then be able to reference it in the instructions.

For instance:

  1. The user invoke the /upload command
  2. The bot display an upload button
  3. The user upload a png file named: house.png
  4. The bot then respond the user to indicate how to reference the data into the instruction
  5. The user will then be able instruct something like: add a title "My home" and display the --file="house.png"

The user must be able to list the data with the command /list-data
The /reset must also remove the current data uploaded

Handle the case where the file does not exists

DOD:
The user can upload data, list them, and remove them with a reset. And of course be able to reference it in the instruction.

Better handle large context (chat history)

As the generated app is growing the code is more and more complex and has a lot of lines and the chat history grows as well. In that case the context grows, the model the bot uses won't be able to process it all (and the price of the prompt will increase).

Find a way to better handle this long term issue

Compile the generated code into a executable binary for cross platform compatibility

I want the user to do nothing but execute the compiled generated app.
The compiled app should be cross plateform.
The compilation may take some time so do it in backend and send a mail to the user with the app.

Prerequisites:
#26

DOD:
The user must be able to download the generated code and the requirements #26 and the user must able to download the compiled code compatible of all plateforms.

Add user command to regenerate an other version of the code generated

Sometimes the user does not like the code generated, so let the user ask to regenerate the code.
In the case the user ask a question and no code is generated, it's impossible to regenerate it.

DOD:
The /retry command should be implemented to regenerate the response and code (when it has generated one)

When the user ask for saving the app, let us retrieve the generated code and maybe add it into snippets

When the user wants to save the generated app, it usually because app is relevant and works for the user. We could retrieve the code and the evaluation of the user and add it to the snippets, so that the bot will reuse it later and will benefit others.

  1. Add a section where the user can evaluate the generated code (when the /save command is invoked)
  2. Find a way to retrieve the code and add it into the document embeedings

DOD:
The user can evaluate the generated app, the code is added to the snippets and all of the user will be able to generate a similar app more easily.

Be more error prone in the instruction

The user may be mistaken when using tags #34 or commands, he could for instance invoke the command /reste instead of /reset or #titel instead of #title.

In case of a mistake, first verify if the tag or command is not correct. If it's not correct, warn the user and let the user fix its mistake by reassign the user instruction in the input text (so that it won't have to rewrite it again)

Check user confusion

The bot should be able to ask questions to the user (like a normal dev would do) when the user is not precise enough.

Ex:
(For context: The current app has a title and a subtitle) The user tell the bot the following:

  • Human: Change the text to "hello"
    The bot should not improvise as it does not know which text it must update (the title or the subtitle ?). So the bot should ask the user the following:
  • Bot: Which text would you update, the title or the subtitle ?

Self healing code generated

Sometimes the code generated by the bot is not correct, we should let him execute the code before output it and verify if there is no obvious mistakes such as missing imports or key errors or such.

This will involve a new extended chain.

Automate the installation of more libraries

Find a way to automate the installation of more libraries. For now the libraries are limited to what I settled up in the requirement.txt file.

Prerequisite:
Find a way to even more contain the user session between users, so that the installed library will not impact the other user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.