-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aprimorando a seleção de versículos bíblicos #2
Comments
Opa. Conhecendo o projeto agora. Legal a proposta. Se a ideia é apresentar apenas um versículo aleatório da bíblia, sem considerar contexto atual, sentimento ou algo do tipo, faz sentido ter um map pré-definido de versículos recomendados. Como você mencionou, alguém vai precisar alimentar isso. Se for a proposta dessa feature, é necessário ter contribuidores suficientes para deixar essa base de recomendados bem preenchida e com qualidade. Uma outra ideia poderia ser através de trending. Fornecendo uma rota para que os usuários possam "curtir/votar" em versículos, vc já poderia usar essa base pra ser os versículos recomendados. Mas novamente, depende do seu objetivo. A ideia do Random é realmente ser random? Se a proposta for a recomendação de um versículo de forma mais inteligente, considerando algum tipo de contexto do client, acho que faz sentido ir pra uma abordagem em que sua base de versículos contém detalhes como emoção, sentimento, tema, etc. Isso poderia até ser passado como parâmetro pra rota. É uma boa oportunidade pra você trabalhar com LLM se for o caso. Eu particularmente, em um app de Bíblia, prefiro que o "versículo do dia" não seja algo aleatório. Por exemplo, se aproximando da páscoa, sugerir um versículo relacionado. Em um cenário caótico de guerra, oferecer um versículo que tenha a ver com o tema. No Natal, versículos também relacionados. Algum acontecimento mundial, oferecer um versículo a ver com o tema. Um outro ponto, é requisito da feature disponibilizar apenas um único versículo? Se não for, acho que faz mais sentido a seleção de um ou mais versículos subsequentes por vez para dar um contexto maior da mensagem. Como eu falei, tudo vai depender de qual é a sua visão para o projeto. |
Primeiramente, parabéns pela iniciativa! Gostei bastante da sua proposta e me coloco à disposição para contribuir com o projeto. @eoSalinas, seguindo a sua ideia, eu proponho à princípio uma solução simples, mas que futuramente pode ser melhorada. Pensei em criar um arquivo JSON com uma lista contendo 256 versículos selecionados manualmente mesmo. Dá pra procurar no google algo do tipo: "Versículos bíblicos favoritos", e então ir lendo e adicionando manualmente na lista os que forem "bons". Tendo a lista pronta, eu posso usar um versículo por dia durante o ano. Por exemplo: Hoje é dia 21 de março de 2024, que representa o dia 81 desse ano. Sendo assim eu posso exibir o item na posição 81 da lista. Como eu disse essa é uma ideia bem simples, que resolve o problema atual, e pode ser melhorada futuramente. Se achar que essa ideia válida eu posso implementar pra gente ver como fica. |
Olha, acredito que adicionar versos um a um, manualmente, talvez não seja interessante. Não sei o que é melhor. Também pensei em fazer uma raspagem usando várias fontes de dados para preencher uma base de versículos, mas aí não sei se pode né ? Legalmente falando. Teria que ser pesquisado isso. Enfim, acredito que é importante ser pontual na resolução de problemas, porém é necessário avaliar o tempo de entrega. Acredito que um processo mais manual poderia tomar muito tempo para ter uma base legal. Não acho que agora seria um momento para trabalhar com LLM, depois quem sabe. Mas também é só uma opinião, posso estar errado rsrsrs. |
Opa @rafaeljustinox, beleza? Eu acho sensacional a ideia de utilizar LLM, no entanto concordo com o @clovisdanielss parcialmente, acredito que agora não seja o momento ideal para aplicarmos isso, vou te explicar o porque: Inicialmente a proposta é literalmente apresentar apenas um versículo aleatório da bíblia, mas que traga alguma mensagem, seja de motivação, reflexão por aí vai... O map pré-definido de versículos recomendados representa a possibilidade de outras pessoas poderem fazer contribuições simples, mas que tem um impacto concreto no projeto e como ele interagem com o usuário. Acredito que o Verse possa ser uma porta de entrada para quem buscar fazer sua primeira contribuição em algum projeto da comunidade(no caso pode ser só adicionando um versículo a lista), então mesmo que seja um trabalho mais "manual" acredito que vale a pena, entende? Isso faz sentido? 😂 A respeito do trending, é uma ideia que sem dúvidas vale muito a pena explorar futuramente, até como uma forma de engajar os usuários ou os contribuidores do projeto. Só não sei como poderiamos aplicar isso. Pode parecer que não, mas eu tive uma ideia similar, aliás fiz uma anotação dessa sua ideia, para que possamos explorar! Todos os pontos levantados por você são de se pensar. Muito obrigado pelas sugestões, de coração! Espero te ver mais vezes por aqui. |
@johanvilela acho super válido essa ideia por abrir oportunidade de outras pessoas contribuirem adicionando novos versículos ao projeto, inclusive fiz uma implementação similiar a sua, mas ao invés de utilizar um versículo por dia, eu deixei ele random. Nota de rodapé: O versículo random como foi implementado pode gerar repetição em algum momento, mas é de acordo com a quantidade de versículos, exemplo: se tiver 1.000 versículos a probabilidade é de 1 em 1.000. Ou seja quanto maior a lista, menor a probabilidade de repetição. Mas não sei até onde vale a pena 😅 Trarei outro comentário aqui nessa discussão explicando em mais detalhes o que fiz, e vou te marcar. Talvez possa fazer muito sentido juntar nossas ideias! 🧠 🤯 |
@clovisdanielss também acredito que não é o momento para trabalharmos com o LLM, mas poder ser uma possibilidade a ser explorada no futuro. É interessante ressaltar que estamos utilizando a API do @omarciovsena, então não há a necessidade de adicionar os versículos, apenas filtrar os que são relevantes! Por isso havia comentado sobre o arquivo JSON, a ideia é apenas referênciar os versículos. De fato isso se torna mais manual, e um processo mais manual poderia tomar muito tempo para ter uma base legal como você mesmo mencionou, entretanto acredito valer a pena pois podemos contar com contribuidores adicionando versículos que eles julgam valiosos, é uma excelente oportunidade para que as pessoas façam suas primeiras contribuições! Querendo ou não a aplicação está rodando mesmo sem contexto em alguns versículos, acredito que temos tempo para trabalharmos nisso! O que você acha? Muito obrigado pelas sugestões! 💯 |
@rafaeljustinox , @johanvilela , @clovisdanielss peço desculpas pela demora no retorno. Nesse meio tempo eu absorvi suas sugestões e fiz a seguinte possível implementação: Adicionei um arquivo JSON para referênciar os versículos, acompanhado de um schema para garantir a consistência dos dados e evitar duplicatas. Inclusive tem intelliesense para os livros da bíblia: Achei isso muito massa! 😂 Agora ao realizar um commit, é validado se os dados seguem o padrão do schema; se não, o commit é bloqueado. Essa abordagem procura facilitar futuras contribuições da comunidade. Optei por seguir dessa maneira, justamente para ter esse trabalho manual e consequentemente contribuições! Pensei nesse projeto como uma maneira das pessoas realizarem suas primeiras contribuições, pois adicionar um versículo ao projeto é uma tarefa simples e manual, porém de grande valor nesse contexto! Apresentarei mais detalhes a respeito desse tipo de contribuição, em uma próxima issue que estou trabalhando ansiosamente. Por favor veja a PR #4 para ter mais detalhes da implementação, pode ser que deixei passar algo, e acima de tudo fique à vontade para sugerir melhorias! |
Hmm, não sei como não pensei em pegar apenas as referências. Assim da pra fazer uma raspagem de alguma API que forneça os versos aleatórios para meditação (sem ser totalmente aleatório como na presente API) Transformar o resultado da raspagem em um JSON no formato que você estabeleceu. Aí o projeto já ficaria com uma base bem legal. Faz sentido ? |
Fez sentido @clovisdanielss, mas eu tenho uma outra sugestão: Essa API que estamos utilizando atualmente também tem uma rota para buscar um versículo específico diretamente: Acredito que fica até mais fácil assim, pois nem precisamos fazer a raspagem dos dados, apenas consumir a API. Possa ser que fique meio confuso a minha explicação, então olha esse trecho de código aqui. |
Sim, mas acredito que eu que não fui claro. Você precisa saber a referência do versículo que quer puxar, não é? Pois pelo que você disse, a API que você consome não apresenta versículo aleatório contextualizado, mas sim totalmente aleatório. Sendo assim a opção que você deu é fazer a consulta diretamente do verso, onde você teria um JSON com as referências e a consulta seria feita pela mesma API, porém com versos pré selecionado. Então, ao invés de criar um JSON manualmente, seria melhor fazer uma raspagem e gerar o JSON com as referências de versículo. Então você usaria para consumir a API que você está falando. Não estou falando para usar outra API, apenas para puxar as referências de versos, seja por raspagem web ou usando uma terceira API que já traga versículos contextualizados. Não estou dando outra ideia, estou apenas indicando como você pode trabalhar dentro da sua ideia sem precisar depender de feedback humano. |
Li as mensagens acima e beijos muitas ideias. |
@talison-cardoso, essa ideia foi bem interessante! Acredito que o "Veja o contexto" perde um pouco a proposta de um versículo ao dia, mas ao mesmo tempo é uma feature que pode trazer mais valor a aplicação! No entanto já vi algumas outras aplicações com esse mesmo conceito, será que vale a pena? Ou podemos pensar em algo que torne essa experiência diferente das demais? |
Ahhh entendi @clovisdanielss! Showww excelente, sua ideia é muito boa! Isso economiza muito tempo e faz total sentido! Mas agora serei totalmente contra intuitivo! 😂 O que eu havia pensado é trazer o máximo de pessoas que conseguissemos para contribuir adicionando versículos ao projeto! Dessa maneira muitas pessoas que nunca fizeram alguma contribuição por achar que precisa ser algo complexo ou outro motivo, tenha uma porta de entrada extremamente fácil. Posso estar sendo maluco, mas do meu ponto de vista acredito que seria muito legal abrir essa oportuinidade de impulsionar as pessoas a fazerem suas primeiras contribuições de maneira extremamente simples porém de grande valor para o projeto! 🤩 |
Ish mano, aí só pela fé mesmo. Entendi seu propósito. Por fim, penso que o ideal seria deixar redondo essa feature core, e depois pensar para onde você gostaria de levar o projeto. (Inclusive, vi que tá sem licença ainda né ? Acredito ser bom colocar uma, não manjo de projeto open source assim, mas sei que é importante) Mas entendo seu ponto de vista de querer engajar o povo dessa forma, e se você achar que é o melhor caminho tá beleza. |
É um grande desafio, mas acredito que pode valer a pena! Porém como disse anteriormente, você tem lógica em tudo o que sugeriu! Obrigado pelas sugestões @clovisdanielss, espero te ver mais vezes por aqui! Ahh e a respeito da licença, estou dando uma olhada, pretento adicionar em breve. Valeu pelo toque! |
Olá a todos,
Resolvi abrir essa issue para abordar uma melhoria crucial no projeto, relacionada aos versículos - vulgo elemento core da aplicação - que são consumidos da API fornecida pelo @omarciovsena.
Atualmente, utilizamos a rota
/api/verses/nvi/pt/random
para selecionar aleatoriamente um versículo bíblico. No entanto, essa abordagem apresenta uma lacuna significativa: a falta de contexto nos versículos selecionados.Frequentemente, um único versículo isolado não transmite uma mensagem clara ou inspiradora, pois pode fazer parte de um pensamento mais amplo que se estende por vários versículos ou ser parte de um diálogo maior. Por exemplo:
Inclusive foi o versículo de hoje, dia 20/03/2023:
Como podemos perceber, versículos sem contexto adequado não proporcionam reflexão ou inspiração aos usuários, a não ser que você já conheça aquele trecho.
Essa falta de contexto decorre da natureza aleatória da rota utilizada. Não podemos prever o tipo de mensagem que será entregue ao usuário, nem tão pouco se terá relevância ou sentido.
Além disso, gostaria de esclarecer que isso não é uma crítica a API. Afinal, a seleção de versículos aleatórios é justamente isso, aleatória! Essa aleatoriedade é, na verdade, um sinal de que a API está funcionando conforme esperado.
A questão é como podemos lidar com isso?
Possível solução 🤓
Para abordar essa problemática, proponho a criação de um arquivo JSON contendo versículos pré-selecionados. Essa abordagem permitirá uma seleção mais criteriosa de versículos, garantindo que cada mensagem tenha um contexto significativo. Além disso, abrirá uma grande oportunidade para a comunidade contribuir, adicionando novos versículos ao arquivo.
Felizmente, a API também fornece uma rota para buscar versículos específicos, o que simplifica nossa implementação.
Vejo 2 pontos importantes a serem considerados para garantir o funcionamento correto desta solução:
Isso é o que eu consegui enxergar! Encorajo todos a compartilharem suas ideias e perspectivas sobre como poderíamos lidar com essa questão, ou até mesmo completar a minha proposta.
A diversidade de opiniões e experiências é fundamental para encontrarmos a melhor solução possível.
The text was updated successfully, but these errors were encountered: