makr.AI é um clone do ChatGPT com recursos aprimorados para criadores e hackers independentes, construído com base no uso de Next.js, TypeScript, Supabase, Jotai e Tailwind CSS.
Confira este vídeo do Youtube para saber mais.
Estarei construindo novos recursos ao longo do tempo. Se você tiver alguma sugestão, sinta-se à vontade para abrir uma discussão ou entrar em contato comigo no Twitter. Listei os recursos nos quais estou trabalhando a seguir.
O que esperar:
Vercel
Hospede sua própria versão ao vivo do makr.AI com Vercel.
1. Crie um projeto Supabase A aplicação mantém conversas em um banco de dados Supabase. Você pode criar uma conta gratuita aqui.
makr.AI precisa de uma URL Supabase e uma chave Anon para se conectar ao seu banco de dados. Você pode encontrá-los nas configurações do projeto Supabase.
Você deve criar 3 tabelas em seu projeto supabase:
Você pode criar todas as tabelas necessárias com a sql function
que criei na pasta sql
do repo. Você pode usar o arquivo create-tables.sql
na pasta sql
do repositório para criar as tabelas. Lembre-se que você deve habilitar a extensão pg_vector
antes de criar as tabelas.
Você pode usar create-profile.sql
para criar perfis de usuário automaticamente ao se inscrever.
Depois de criar a coluna de incorporação, você deverá criar um index
baseado nesta coluna. Você pode usar o arquivo create-index.sql
na pasta sql
do repositório para criar o índice.
Finalmente, você deve criar uma função sql chamada search-messages
em seu projeto Supabase. Você pode usar o arquivo search-messages.sql
na pasta sql
do repositório para criar a função.
Tutorial de configuração do projeto. Tutorial de memória de longo prazo para ChatGPT.
2. Clonar o repositório
git clone https://github.com/batuhanbilginn/makr-ai.git
3. Instale dependências
yarn install
4. Crie suas variáveis de ambiente
Crie seu arquivo .env.local na raiz do repositório com seu URL Supabase, chave Supabase Anon, URL de redirecionamento de autenticação e chave de API OpenAI:
NEXT_PUBLIC_SUPABASE_URL=YOUR_URL * required
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_KEY * required
NEXT_PUBLIC_AUTH_REDIRECT_URL=YOUR_URL * required
OPENAI_API_KEY=YOUR_KEY * optional
4.1 Criando arquivo .env
.env.example
na pasta principal..env
, removendo a extensão template
. A maneira mais fácil é fazer isso em um prompt de comando/janela de terminal cp .env.example .env
..env
em um editor de texto. Nota: Os arquivos que começam com um ponto podem estar ocultos pelo seu sistema operacional..env
.4.2 Chave API OpenAI
Quando você define sua OpenAI API Key
como uma variável de ambiente, o aplicativo não solicitará que você a insira novamente para inicializar. TENHA CUIDADO se você definir sua OpenAI API Key
como uma variável de ambiente e hospedá-la, qualquer pessoa que acessar sua versão hospedada poderá usá-la. Se você não tiver uma OpenAI API Key
, poderá obter uma aqui.
4.3 URL de redirecionamento de autenticação
Você deve definir seu Auth Redirect URL
na produção como variável de ambiente. Se você não configurá-lo, receberá um erro ao tentar fazer login. Além disso, certifique-se de ter o Auth Redirect URL
correto definido nas configurações do projeto Supabase e nas variáveis de ambiente que você criou para o Vercel. Se você tiver Auth Redirect URL
diferentes para visualização e produção, poderá defini-los como variáveis de ambiente no Vercel e Supabase.
5. Execute o servidor de desenvolvimento
yarn dev
Ao implantar o aplicativo, as seguintes variáveis de ambiente podem ser definidas:
Variável de ambiente | Obrigatório | Descrição |
---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Sim | A URL base do seu projeto Supabase |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Sim | A chave Anon para seu projeto Supabase |
NEXT_PUBLIC_AUTH_REDIRECT_URL | Sim (Produção) | A URL base do seu projeto Supabase |
OPENAI_API_KEY | Opcional | A chave Anon para seu projeto Supabase |
Se você não tiver uma chave de API OpenAI, poderá obtê-la aqui.
Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato comigo no Twitter.