O League of Legends Diviner é um algoritmo simples feito com Electron e LangChain e que usa embeddings de LLM para responder qual o personagem do League of Legends possui a lore mais aproximada com o prompt inserido a partir de uma busca por similaridade (busca vetorial).
- Antes de começar, para executar a aplicação você precisará ter o Docker instalado em sua máquina para iniciar um servidor de banco de dados vetorial compatível com o LangChain.
- Você também precisará ter o NodeJS v18 ou superior para iniciar a aplicação.
Em nosso caso, utilizaremos o Milvus. E, caso você queira inspecionar melhor o banco a partir de uma interface gráfica, basta instalar o Attu.
Com o terminal aberto no diretório do projeto, execute o comando: bash milvus.sh start
.
Comandos disponíveis: bash milvus.sh restart|start|stop|delete
- Faça uma cópia do arquivo
.env.example
para.env
e configure com suas próprias credenciais para a LLM. - Instale as dependências do projeto:
npm install
. - Execute o comando
npm run import
para importar os embeddings da lore dos personagens para o banco de dados. - Execute o comando
npm start
para iniciar a aplicação.
Quando iniciar a aplicação, basta inserir prompts referentes a lore dos personagens e deixar que o algoritmo de similaridade retorne o resultado. 😉
Ela é uma capitã pirata caçadora de recompensas
, a resposta esperada é que seja o personagem: Miss Fortune.Ele é mago que foi preso quando era mais jovem por causa de sua magia
, a resposta esperada é que seja o personagem: Sylas.Ele é um espadachim que vive sozinho e possui o poder do ar
, a resposta esperada é que seja o personagem: Yasuo.Ele é um assassino que caça monstros e odeia piratas
, a resposta esperada é que seja o personagem: Pyke.Ela tem o poder da luz, porém ela mantém seus poderes em segredo dos outros
, a resposta esperada é que seja o personagem: Lux.Ela é uma ninja assassina que odeia ser comandada
, a resposta esperada é que seja o personagem: Akali.