Hey guys! I built an AI powered file organizer! This was my first “big” Python project!

  • lawrence@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 month ago

    Interesting. I was thinking about a project for image classification and description, so we could search for our images in an easy way.

  • RonSijm@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    1 month ago

    Also some feedback, a bit more technical, since I was trying to see how it works, more of a suggestion I suppose

    It looks like you’re looping through the documents and asking it for known tags, right? ({str(db.current_library.tags)}.)

    I don’t know if I would do this through a chat completion and a chat response, there are special functions for keyword-like searching, like embeddings. It’s a lot faster, and also probably way cheaper, since you’re paying barely anything for embeddings compared to chat tokens

    So the common way to do something like this in AI would be to use Vectors and embeddings: https://platform.openai.com/docs/guides/embeddings

    So - you’d ask for an embedding (A vector) for all your tags first. Then you ask for embeddings of your document.

    Then you can do a Nearest Neighbor Search for the tags, and see how closely they match

  • banghida@lemm.ee
    link
    fedilink
    arrow-up
    31
    ·
    1 month ago

    I would not be happy sending a list of my files to 3rd parties. This is not local, it uses an API.

  • FourPacketsOfPeanuts@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    Great work. Can you give some examples of how this works in practice?

    Tagify leverages AI to automatically generate and manage tags for files

  • infeeeee@lemm.ee
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    1 month ago

    Some feedback:

    • On white background the text next to the logo is not visible
    • Add screenshots in the README, it’s a GUI app
    • Requirements.txts for dependency management is the old way, read about pyproject.toml you can merge them a single easy to read and edit file
    • “Install the dependencies” means nothing to a non-python developer. Direct users to install your project via pipx, that’s modern and secure way of installing a python application with dependencies for non developers. Publish it to pypi for even easier installation.
    • Add a notice that currently it’s windows only os.path.join(os.environ["APPDATA"], "Tagify", "config.yaml") will fail on *nix systems. Use pathlib.Path instead of os.path. Use pathlib, I see on a lot more places it would make your life much easier.
    • I have a feeling that the file icons are not your work. If you copied them from somewhere make sure their license is compatible, and add an acknowledgement.

    Keep up the work, it seems like a nice project!