Giveth / giveth-dapps-v2

This project is the aggregation of GIVeconomy and Giveth.io DApps in a single repo
https://staging.giveth.io
GNU General Public License v3.0
61 stars 34 forks source link

Improve Recommended Projects (using AI!) #2769

Open laurenluz opened 1 year ago

laurenluz commented 1 year ago

@sembrestels has built a solution that uses embeddings to provide MUCH improved recommended projects on the dApp. It is really cool!

What we require is basically:

Right now, the AI is recommending projects based on a projects list in a csv. We need a solution basically for updating the csv regularly as new projects get added. So...

Stretch goal:

@mateodaza is familiar with this as well so tagging him here.

@MoeNick, if it makes sense in our prioritization, it would be good to get some bandwidth from @CarlosQ96 to help review Sem's PR and get this into our flow (next week perhaps? I think it will be relatively low effort)

mateodaza commented 1 year ago

Would love to add @CarlosQ96 to this loop and ask him for suggestions on what's the most optimal way to grab the latest data (as csv) for the model until we get a direct connection.

We can connect later 👍🏼

CarlosQ96 commented 1 year ago

Now that you mention this I saw that @mhmdksh was talking about a db replica, maybe we can use that one for this feature? and connect the AI to that.

(I am quite nervous about connecting to main db)

sembrestels commented 1 year ago

Let's go step by step. First provide value to the user, which will be 20% of the work. Then when we refine it and we are sure of what we really want, we can connect it to the database direct or indirectly. I still do not get why we can't have different users with different roles (one with read-only capabilities) so the AI do not mess up the DB. But let's focus on that later. This issue should be about creating the new endpoint in the backend and connect the recommendation frontend.

mhmdksh commented 1 year ago

@sembrestels @CarlosQ96 Yes, as you mentioned earlier, we do have a read replica for the main DB (Please DM for connection information), We also have daily full backups of the entire DB, and we can do it on the fly.

So don't worry about messing it up :)

Let me know.