danGPT
Experimente em https://dangpt.vercel.app/.
Este projeto mostra como compor serviços de IA e implementar RAG (Retrieval Augmented Generation) com IA Generativa.
Aqui está um resumo de como funciona:
- Fora do escopo deste repositório, coletamos uma enorme quantidade de dados. Neste caso, as postagens de Dan.
- Em seguida, transformamos todo o texto que gostaríamos de pesquisar em vetores (listas de números) usando um modelo de aprendizado de máquina que mapeia o significado do texto para um espaço numérico multidimensional. "Incorporando" o texto no espaço vetorial usando um "modelo de embeddings". Neste caso,
text-embedding-3-small
da OpenAI. - Em seguida, armazenamos esses vetores em um banco de dados de vetores. Nossa arma preferida aqui é o AstraDB da DataStax.
Então, quando um usuário envia uma consulta, nós:
- Transforme a consulta em um vetor usando o mesmo modelo de embeddings.
- Pesquise no banco de dados de vetores os vetores mais semelhantes ao vetor de consulta ou vetores "próximos" ao vetor de consulta no espaço dimensional.
- Recupere muitos textos originais dos vetores mais semelhantes.
- Pegue esses textos originais e insira-os como contexto em um modelo generativo de IA. Neste caso,
gpt-3.5-turbo
da OpenAI. O mesmo modelo por trás do nível gratuito do ChatGPT. - O modelo generativo de IA gera então uma resposta com base no contexto que lhe foi dado, fingindo ser Dan.
É importante notar que esta é apenas uma demonstração boba de um projeto paralelo e provavelmente está errada. É mais pela educação do que qualquer outra coisa.