Skip to content

Vou mostrar como converter textos simples em representações matemáticas usando a API da OpenAI, armazená-los no Elasticsearch e consultá-los de forma eficiente para compor prompts ou gerar insights.

License

Notifications You must be signed in to change notification settings

Renatoelho/embeddings-consultas-similaridade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Criando um Gerenciador de Contexto com Embeddings e Elasticsearch

Neste vídeo, você aprenderá como trabalhar com embeddings e criar um gerenciador de contexto para suas aplicações de Inteligência Artificial. Vou mostrar como converter textos simples em representações matemáticas usando a API da OpenAI, armazená-los no Elasticsearch e consultá-los de forma eficiente para compor prompts ou gerar insights. Além disso, explicarei como configurar o ambiente de desenvolvimento em Python, incluindo o uso de variáveis de ambiente e bibliotecas essenciais, como openia, dotenv e Elasticsearch. Você verá como implementar a gravação de documentos (individuais e em lote), configurar corretamente o mapeamento do Elasticsearch para armazenar embeddings e realizar consultas por similaridade. Este vídeo é ideal para quem deseja explorar aplicações práticas de embeddings e otimizar fluxos de trabalho de IA.

Apresentação em Vídeo

Vídeo de apresentação

YouTube Video Views YouTube Video Likes

Requisitos

  • Python

  • OpenAI

  • Docker

  • Docker-compose

  • Git

  • Ubuntu

Deploy da aplicação

Clonando o repositório

git clone https://github.com/Renatoelho/embeddings-consultas-similaridade.git embeddings-consultas-similaridade

Configurando o Elasticsearch e o ambiente Python

  • Acesse o diretório do projeto:
cd embeddings-consultas-similaridade/
  • Execute o comando para subir o Elasticsearch:
docker compose -p embeddings -f docker-compose.yaml up -d

OBS.: Para acessar o Kibana (Interface de gerenciamento do Elasticsearch), utilize o endereço: http://localhost:5601 e as credenciais estão no arquivo: docker-compose.yaml.

  • Configure o ambiente Python:
cd embeddings/
python3.9 -m venv .venv \
  source .venv/bin/activate \
  pip install -U pip setuptools wheel --no-cache-dir \
  pip install -r requirements.txt --no-cache-dir \
  export PYTHONPATH=$(pwd)/utils
  • Crie o arquivo .env com a seguinte estrutura dentro do diretório embeddings:
USUARIO_ELASTIC=elastic
SENHA_ELASTIC=dRWbd49Fg9QSMpdeg
API_KEY_OPENAI=<Sua Chave da OpenIA>

Referências

Vector embeddings, OpenIA Platform. Disponível em: https://platform.openai.com/docs/guides/embeddings/. Acesso em: 20 jan. 2025.

Dense vector field type, elastic. Disponível em: https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html. Acesso em: 20 jan. 2025.

What are word embeddings?, elastic. Disponível em: https://www.elastic.co/what-is/word-embedding. Acesso em: 20 jan. 2025.

About

Vou mostrar como converter textos simples em representações matemáticas usando a API da OpenAI, armazená-los no Elasticsearch e consultá-los de forma eficiente para compor prompts ou gerar insights.

Topics

Resources

License

Stars

Watchers

Forks

Languages