Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/smatiolids/rag-challenge
- Owner: smatiolids
- Created: 2024-09-17T22:09:26.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-19T12:42:35.000Z (26 days ago)
- Last Synced: 2024-10-20T04:48:39.462Z (25 days ago)
- Homepage:
- Size: 876 KB
- Stars: 19
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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".
### 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"**
### 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.
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
Com isso, sua collection será criada.
Clique no botão "play" no componente Astra DB.
Deve ficar tudo verdinho assim:
Volte ao Astra, e confira os dados:
Visualizando os dados JSON, algo assim:
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.
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:
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.