https://github.com/snarloff/uploadai-api
Este é o repositório da parte da API do projeto Upload.ia, que faz parte das séries de vídeos da NLW da Rocketseat. A API do Upload.ia é responsável por receber os arquivos de áudio otimizados da parte web, configurar prompts e realizar operações de transcrição e geração de sugestões usando as APIs Whisper e Completions da OpenAI.
https://github.com/snarloff/uploadai-api
ai completions fastify fastify-multipart openai-api prisma sqlite3 whisper-ai zod
Last synced: 5 days ago
JSON representation
Este é o repositório da parte da API do projeto Upload.ia, que faz parte das séries de vídeos da NLW da Rocketseat. A API do Upload.ia é responsável por receber os arquivos de áudio otimizados da parte web, configurar prompts e realizar operações de transcrição e geração de sugestões usando as APIs Whisper e Completions da OpenAI.
- Host: GitHub
- URL: https://github.com/snarloff/uploadai-api
- Owner: Snarloff
- Created: 2023-10-15T04:51:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-03T04:48:16.000Z (over 2 years ago)
- Last Synced: 2024-07-20T04:19:19.253Z (almost 2 years ago)
- Topics: ai, completions, fastify, fastify-multipart, openai-api, prisma, sqlite3, whisper-ai, zod
- Language: TypeScript
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Upload.ia - API

Este é o repositório da parte da API do projeto Upload.ia, que faz parte das séries de vídeos da NLW da Rocketseat. A API do Upload.ia é responsável por receber os arquivos de áudio otimizados da parte web, configurar prompts e realizar operações de transcrição e geração de sugestões usando as APIs Whisper e Completions da OpenAI.
## Visão Geral
A API do Upload.ia trabalha em conjunto com a parte web do projeto, recebendo os arquivos de áudio otimizados, configurando prompts para transcrição e utilizando as APIs Whisper e Completions da OpenAI para realizar operações de processamento de linguagem natural.
### Principais Funcionalidades
- Recebimento de arquivos de áudio otimizados da parte web.
- Configuração de prompts para transcrição de áudio.
- Transcrição de áudio usando o Whisper da OpenAI.
- Geração de sugestões de título ou descrição usando o GPT-3.6 Turbo 16k da OpenAI.
### Tecnologias Utilizadas
A API do projeto Upload.ia utiliza as seguintes tecnologias e pacotes:
- [Fastify](https://www.fastify.io/): Um framework web rápido e eficiente.
- [Fastify Multipart](https://github.com/fastify/fastify-multipart): Plugin Fastify para lidar com requisições multipart/form-data.
- [Prisma](https://www.prisma.io/): Uma camada de acesso a dados para Node.js e TypeScript.
- [SQLite](https://www.sqlite.org/): Um sistema de gerenciamento de banco de dados leve.
- [Zod](https://github.com/colinhacks/zod): Uma biblioteca de validação de dados.
- [Chalk](https://github.com/chalk/chalk): Uma biblioteca para estilização do terminal.
- [ESLint](https://eslint.org/): Linter para JavaScript/TypeScript.
- [Prettier](https://prettier.io/): Formatador de código.
- [@snarloff/eslint-config](https://www.npmjs.com/package/@snarloff/eslint-config): Pacote de configuração ESLint personalizado.
### Instruções de Uso
Siga os passos abaixo para configurar o projeto da API em sua máquina:
1. Clone este repositório:
```shell
git clone https://github.com/Snarloff/uploadia-api.git
```
2. Navegue até o diretório do projeto:
```shell
cd uploadia-api
```
3. Instale as dependências:
```shell
npm install
```
4. Inicie o servidor de desenvolvimento:
```shell
npm run dev
```
O servidor da API estará disponível em `http://localhost:3001`.
### Configuração do Prisma
A API utiliza o Prisma para o acesso ao banco de dados SQLite. Certifique-se de configurar as variáveis de ambiente corretas e executar as migrações do Prisma antes de iniciar a API.
```shell
npx prisma generate
```
### Referência à Parte Web
A parte web do projeto "Upload.ia" está localizada no repositório da parte [web](https://github.com/Snarloff/uploadai-web). Certifique-se de consultar o README da parte web para obter informações sobre o frontend da aplicação e como configurar a parte web.
## Contribuições
Contribuições são bem-vindas! Se você deseja contribuir para este projeto, siga as diretrizes de contribuição e envie um pull request.
## Problemas e Sugestões
Se você encontrar problemas ou tiver sugestões para melhorar este projeto, por favor, abra uma issue neste repositório.
## Agradecimentos
Agradecemos à Rocketseat por fornecer o conhecimento e os recursos para o desenvolvimento deste projeto.