https://github.com/renatoelho/embeddings-consultas-similaridade
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.
https://github.com/renatoelho/embeddings-consultas-similaridade
elasticsearch embeddings espaco-vetorial openai-api python similaridade
Last synced: 8 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/renatoelho/embeddings-consultas-similaridade
- Owner: Renatoelho
- License: mit
- Created: 2025-01-23T07:00:06.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-23T07:47:45.000Z (9 months ago)
- Last Synced: 2025-01-23T08:28:15.882Z (9 months ago)
- Topics: elasticsearch, embeddings, espaco-vetorial, openai-api, python, similaridade
- Language: Python
- Homepage: https://cursos.renato.tec.br/
- Size: 394 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
 
### Requisitos
+ 
+ 
+ 
+ 
+ 
+ 
## Deploy da aplicação
### Clonando o repositório
```bash
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:
```bash
cd embeddings-consultas-similaridade/
```
+ Execute o comando para subir o Elasticsearch:
```bash
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](http://localhost:5601) e as credenciais estão no arquivo: [docker-compose.yaml](docker-compose.yaml).
+ Configure o ambiente Python:
```bash
cd embeddings/
```
```bash
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`:
```text
USUARIO_ELASTIC=elastic
SENHA_ELASTIC=dRWbd49Fg9QSMpdeg
API_KEY_OPENAI=
```
# Referências
Vector embeddings, **OpenIA Platform.** Disponível em: . Acesso em: 20 jan. 2025.
Dense vector field type, **elastic.** Disponível em: . Acesso em: 20 jan. 2025.
What are word embeddings?, **elastic.** Disponível em: . Acesso em: 20 jan. 2025.