Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smatiolids/rag-challenge

RAG Challenge - DataStax & Langflow
https://github.com/smatiolids/rag-challenge

Last synced: 7 days ago
JSON representation

RAG Challenge - DataStax & Langflow

Awesome Lists containing this project

README

        

# RAG Challenge no Python Brasil 2024

Quer ganhar prêmios e um badge para publicar nas suas redes sociais e ainda praticar com o Langflow?

É muito simples! Basta usar o DataStax Langflow, criar um fluxo RAG e pronto!

![RAG Challenge - Badge](https://github.com/user-attachments/assets/a770ae91-7755-4c57-b507-dfd33077f5e2)

Quem completar o desafio e enviar a evidencia irá:

- Participar do sorteio de **brindes**
- Receber um Badge de reconhecimento

**Fique de olho no seu email por volta deste horário**

Você só precisará de uma conta no **DataStax Astra** e na **OpenAI**

# Nos dê uma estrela no Github!

Acesse o repositório do Langflow em https://github.com/langflow-ai/langflow clique em "Star"!

## Passo a passo

Confira no YouTube: https://www.youtube.com/watch?v=3oAre6e7vl8

### Conta no Astra

Acesse o DataStax Astra em [datastax.astra.com](https://langflow.datastax.com?utm_medium=social_organic&utm_source=outreach&utm_campaign=pythonbrasil2024&utm_content=).

Se já tiver uma conta, tudo bem, é só acessá-la.

### Dados

Ao acessar o dashboard do **Astra**, encontre o botão "Create Database"

Escolha as opções:

- **Deployment type**: Serverless (Vector)
- **Database name**: langflow_pybr
- **Provider**: Amazon Web Services
- **Region**: us-east-2

![Criando o banco de dados](https://github.com/user-attachments/assets/6dde9c73-5b05-4ff1-9ec2-3a2bb1e2ac1b)

Pronto, vamos agora ao Langflow

### Langflow

No topo da tela, troque o contexto de "Astra DB" para "Langflow".

Acessando o DataStax Langflow

### Retrieval Augmented Generation

Vamos criar um fluxo **RAG**.

O **Retrieval Augmented Generation** envolve duas fases:

1 - Carregar dados
2 - Utilizar as partes mais relevantes dos seus dados para ampliar o prompt.

Clique em "+ New Project" e escolha o template **"Vector Store RAG"**

Screenshot 2024-09-17 at 7 30 16 PM

Screenshot 2024-09-17 at 7 32 46 PM

### Carregando dados

Localize este parte do fluxo, responsável por dividir um arquivo origem em "chunks", gerar um embedding para cada chunk e carregá-lo no Astra DB.

Screenshot 2024-09-17 at 7 34 18 PM

Faça os seguintes ajustes nos componentes;

- **"File"**: carregue o arquivo "Nike São Paulo Run 2024 _ Manual do Corredor.pdf", que está disponível aqui neste repositório.

- **"OpenAI Embeddings"**: informe a sua OpenAI API Key. Você pode criar uma variável global para reutilizar este valor. O modelo de embedding utilizado será o padrão: text-embedding-3-small.

- **"Astra DB"**: escolha o "Database" (se você seguiu as instruções deve ser "langflow_pybr") e, em seguida, no campo Collection, selecione "Create a new collection".

- - **Collection Name**: "langflow_nike_run"
- - **Dimensions**: 1536
- - **Metric**: cosine

Screenshot 2024-09-17 at 7 40 29 PM

Com isso, sua collection será criada.

Clique no botão "play" no componente Astra DB.

Deve ficar tudo verdinho assim:

Screenshot 2024-09-17 at 7 43 30 PM

Volte ao Astra, e confira os dados:

Screenshot 2024-09-17 at 7 44 46 PM

Visualizando os dados JSON, algo assim:

Screenshot 2024-09-17 at 7 45 37 PM

Dados carregados, vamos à segunda parte do RAG.

### Ampliando o prompt

Voltando ao Langflow, abra o fluxo criado e localize o componente Chat Input. Ele é o início do fluxo de interação entre usuário, dados e modelo de linguagem.

Screenshot 2024-09-17 at 7 48 33 PM

Ajustes por componente:

- "OpenAI Embedding": O model deve ser o text-embedding-3-small e a OpenAI API Key deve estar preenchida com uma variável de ambiente ou com o próprio valor da sua chave.
- "Astra DB": Escolha novamente o "Database"(mesmo anterior) e a collection "langflow_nike_run".
- "Prompt": Aqui não precisa alterar nada, mas você poderia acrescentar instruções ao modelo ajustando este prompt ou passando variáveis adicionais.
- "OpenAI": Aqui é o componente que configura o modelo LLM a ser utilizado. Você pode mudar o modelo se quiser, mas confirme se a OpenAI API Key está preenchida.

Pronto, é só rodar!

Clique no botão Playground e faça perguntas sobre esta corrida. Sugestões:

- De onde sai a corrida de 5km?
- Tem guarda volumes?
- Qual a hora da largada dos 10km?
- Haverá agua disponivel?
- Onde é a chegada?
- Onde é a termina?

Terminou? Legal, agora é so mandar o url do seu fluxo pelo form abaixo e passar no nosso estande!

O URL está aqui:
Screenshot 2024-09-17 at 7 58 21 PM

Formulário para envio: [https://forms.gle/hDfcaU8cJXQhrDcq7](https://forms.gle/FfFiZn5hhQrAUY6E6)

# Curtiu?

Mande seu feedback para: [email protected]

# Condições gerais

- Sorteios realizados todo dia as 16h.
- Brindes sujeitos à disponibilidade.
- Retirada dos brindes será somente presencial.