Giter Club home page Giter Club logo

aier's Introduction

AIer

AIer is a web application that allows you to create and share AI Avatars with your friends. It is built with Next.js, Supabase and OpenAI.

Demo

https://aier.app/

Screenshots

  1. write memo and train AI Avatar

Memo

  1. chat with AI Avatar

Chat

Memo

2023-06-05: I have decided to use Next.js Page Router and client-side data fetching to build this app, I won't upgrate to Next.js App Router by myself.

If you want to use Next.js App Router and server-side data fetching, pull request is welcome.

Features

  • Create AI Avatars
  • Train AI Avatars with your own data, like your tweets, your blog posts, your notes, etc.
  • Share AI Avatars
  • Chat with AI Avatars who are trained with real people's data

Development

  1. install dependencies
npm install
  1. setup env vars
cp .env-vercel.local.example .env.local
# modify env vars
  1. run
npm run dev

Embedding

  1. modify env vars
cp .env-emb.local.example .env.local
# modify env vars
  1. download datasets from AIer-data

  2. run

npm run embed:t

Generate types from your Supabase database

  1. To install supabase cli
npm install supabase --save-dev
  1. Connect to supabase
npx supabase login
  1. Enter your access token. You can generate an access token from https://app.supabase.com/account/tokens
  2. Generate types
npx supabase gen types typescript --project-id [YOUR-PROJECT-REF] --schema public > types_db.ts

sync vercel env vars

  1. install vercel cli
npm i -g vercel
  1. sync env vars
vercel login
vercel link

vercel env pull .env.local

Self Hosting

Deploy with Vercel

To get started, click the "Deploy with Vercel" button below.

Deploy with Vercel

Screenshot of Vercel deployment

Once the project has deployed, continue with the configuration steps below.

The initial build will fail due to missing Stripe environment variables. After configuring Stripe, redeploy the application.

Configure Supabase Auth

Setup redirect wildcards for deploy previews

For auth redirects (magic links, OAuth providers) to work correctly in deploy previews, navigate to the auth settings (i.e. https://app.supabase.com/project/:project-id/auth/url-configuration) and add the following wildcard URL to "Redirect URLs": https://**vercel.app/*/*.

You can read more about redirect wildcard patterns in the docs.

[Optional] - Set up OAuth providers

You can use third-party login providers like GitHub or Google. Refer to the docs to learn how to configure these. Once configured you can add them to the provider array of the Auth component on the signin.tsx page.

aier's People

Contributors

cjavilla-stripe avatar dbredvick avatar graysoncampbell avatar irvile avatar joe-bell avatar kiwicopple avatar kripod avatar leerob avatar medkrimi avatar needcaffeine avatar nezdemkovski avatar rprwhite avatar thaddeusjiang avatar thorwebdev avatar victorperalta avatar

Stargazers

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

Watchers

 avatar  avatar

aier's Issues

努力在 2023 年内 open source

开源前需要完成

  • 完成代码重构,迁移到 Next.js app route ,毕竟是主流。
  • Chat UI load more
  • Embedding PDF, website, etc 允许多种形式的输入:聊天记录,博客,书籍,推文,等等。

UI BUG in iOS

iOS 上 message bullet 会出现横向混动条

RPReplay_Final1696564390.MP4

MacBook 上没有

CleanShot 2023-10-06 at 12 54 02

feat: mark avatars for often use

DB

  • n-n relations: account can mark many avatars, avatar can be marked by many accounts

UI

  • mark and unmark in avatar-card
  • marked avatars in account first page
  • marked count in avatar-card

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.