GithubHelp home page GithubHelp logo

obsidian6s / album-ai Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gcui-art/album-ai

0.0 0.0 0.0 16.08 MB

AI-First Album: Chat with your gallery using plain language! LLM Vision + RAG + Album/Gallery.

Home Page: http://album.gcui.ai

License: Apache License 2.0

Shell 0.64% JavaScript 2.07% TypeScript 67.91% Handlebars 28.79% Dockerfile 0.58%

album-ai's Introduction

Album AI

AI-First Album, Chat with your gallery/album using plain language!

👉 We update frequently, feel free to star us.

English | įŽ€äŊ“中文 | Demo

Album AI - AI-First Album - Chat with your gallery using plain language! | Product Hunt

album-ai-demo.mp4

Introduction

Album AI is an experimental project that uses the recently released gpt-4o-mini and Haiku as a visual model to automatically identify metadata from image files in the album. It then leverages RAG technology to enable conversations with the album.

It can be used as a traditional photo album or as an image knowledge base to assist LLM in content generation.

Story

As a photography enthusiast facing terabytes of photos, I often felt overwhelmed. All existing photo management software required extra effort to maintain. Haiku and the newly released gpt-4o-mini gave me hope. So I decided to implement it immediately. My partner and I created the first version in less than 24 hours.

We hope you'll like it too. We welcome any praise or criticism. Don't forget to give us a ⭐ī¸ or share to let more people know about it.

Live Demo

album.gcui.ai

Features

  • Automatically discover images in the album, using a PgSQL database for storage.
  • Utilize GPT-4-o-mini to automatically generate metadata for images.
  • Use OpenAI's Embedding API for metadata vectorization.
  • Provide two APIs:
    • Search: A traditional Search API that takes a query and returns the most relevant images.
    • Chat: A RAG API that takes a query, retrieves images, and generates responses.
  • One-click deployment to platforms like Render that support Docker container deployment.
  • A permissive open-source license allows for integration and modification (please contact us for commercial use).

How to start using?

Recommended to run locally, if you want to run on a server, please deploy yourself, and we will improve this part of the guide.

1. Clone the project

git clone [email protected]:gcui-art/album-ai.git
cd album-ai

2. Modify the .env

cp .env.prod.example .env.prod

Open .env.prod with your favorite editor, modify the configuration:

HOST_NAME= # Your local IP address, usually 192.168.x.x:8080
PROXY_URL= # (Optional) Your local proxy IP address, usually 192.168.x.x:7890, required when accessing OpenAI API directly is not available

Configure OPENAI_API_KEY and ANTHROPIC_API_KEY in docker-compose.yml:

OPENAI_API_KEY= # Your openai api key
ANTHROPIC_API_KEY= # Your Anthropic api key 

3. Build and run the project

chmod a+x ./build.sh
./build.sh

4. Enjoy!

Open the browser and visit http://localhost:8080 to see the demo.

5. Add new photos

Open the images directory in the project, add new photos to the images directory, and the background will automatically recognize and vectorize metadata. After that, you can use it in the demo through search and chat.

API Reference

Album AI currently implements the following APIs:

  • get /api/v1/file/search: Search for images
  • post/api/v1/chat: Chat with images

Contribution

There are four ways to support this project:

  1. Fork the project and submit a PR: We welcome any PR to make Album AI better.
  2. Submit an Issue: We welcome any reasonable suggestions or bug reports.
  3. Recommend: Recommend the project to others; click Star; place a link to the project after using it.

License

Apache 2.0 License

You have a question/suggestion/issue/Bug?

We use Github's Issue to manage these feedbacks, you can submit one. We will often deal with them.

Related links

Disclaimer

If you want to use it for commercial purposes, please contact us.

Star History

Star History Chart

album-ai's People

Contributors

blueeon avatar gitpusher99 avatar

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.