Skip to content
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

Adiciona IA para fazer o scraping #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

dan5e3s6ares
Copy link
Contributor

@dan5e3s6ares dan5e3s6ares commented Jan 20, 2025

A versão anterior já não estava mais funcionando devido a uma atualização do site pypi.org.

Script atualizado para utilização de containers.

Para que seja possível manter o código funcionando sem preocupação com novas atualizações , foi adicionado IA para realizar a leitura do site e retirar a informação requerida.

Remove bibliotecas.list and update requirements.txt; add prompt.py and bibliotecas.py for enhanced library tracking and AI integration

@dan5e3s6ares dan5e3s6ares changed the title Add IA Adiciona IA para fazer o scraping Jan 20, 2025
…d bibliotecas.py for enhanced library tracking and AI integration
Copy link

@andruhaASM andruhaASM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprovado com ressalvas nos comentários.

@rafaelcalixto
Copy link
Contributor

Erro ao executar o comando python getNews.py releases
WhatsApp Image 2025-01-23 at 18 12 35

@dan5e3s6ares dan5e3s6ares force-pushed the UpdateScraper branch 5 times, most recently from 8a73454 to cca1552 Compare January 24, 2025 21:23
@andruhaASM
Copy link

output_1
output_2

Erros ao executar o script.

@dan5e3s6ares
Copy link
Contributor Author

output_1
output_2

Erros ao executar o script.

As instruções não foram seguidas.

@andruhaASM
Copy link

@dan5e3s6ares e @rafaelcalixto
vamos fazer o merge desse PR, já que o código está em produção e funcionando.

Depois do merge eu abro um outro PR com as modificações que tinha pensado. O que acham?

Copy link

@andruhaASM andruhaASM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aprovado.

@andruhaASM
Copy link

E aí pessoal! Vamos dar um merge e seguir o baile? @dan5e3s6ares e @rafaelcalixto ?

@dan5e3s6ares
Copy link
Contributor Author

Eu troquei a IA e essa já não comete os mesmos erros de antes, tornando o script mais certeiro! Daqui a pouco mais eu subo a alteração

@dan5e3s6ares
Copy link
Contributor Author

Pronto, agora as respostas com essa nova IA já não quebram como antes, pode testar

… add jeannie.py for content generation, and modify README accordingly
@andruhaASM
Copy link

Pronto, agora as respostas com essa nova IA já não quebram como antes, pode testar

@dan5e3s6ares vou tentar testar até a quinta (06/02/2025). Se não conseguir até lá eu te aviso.

@andruhaASM
Copy link

@dan5e3s6ares não sei se estou fazendo algo errado, mas não to conseguindo gerar resultados.
No final eu recebo essa mensagem

$$$ COHERE AI Time Out $$$
Biblioteca não processada : Requests
Tente rodar o script novamente somente com a lib :  Requests

 Abra o arquivo pynews_slides.json para ter acesso ao conteúdo produzido.

talvez tem a ver com COHERE AI Timeout, não sei.
Não tem nenhum error quando executo o comando docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py releases.

Esse é o conteúdo do pynews.json que eu usei

{
    "Requests": {
        "library_name": "Requests",
        "releases_doc_url": "https://requests.readthedocs.io/en/latest/community/updates/#release-history",
        "logo": "https://requests.readthedocs.io/en/latest/_static/requests-sidebar.png",
        "repository": "https://github.com/psf/requests"
    }
}

Somente teste com uma única lib (requests no caso).

@dan5e3s6ares
Copy link
Contributor Author

dan5e3s6ares commented Feb 6, 2025

A estrutura abaixo é a criada dentro do arquivo pynews.py

{
    "SQLAlchemy": {
        "version": "2.0.37",
        "release_date": "2025-01-09",
        "releases_doc_url": "<ADICIONE AQUI A URL CONTENDO O DESCRITIVO DA RELEASE>",
        "library_name": "SQLAlchemy"
    }
}

Eu desconheço a estutura que você descreveu.

Quando eu tiver tempo , vou criar um Pydantic Schema dessa estrutura, assim quando escreverem ela errada, o script acusa.

Acredito que você deva ler com mais calma o README, ao que me parece você está fazendo errado.

Para procurar por releases, execute o comando abaixo e aguarde as instruções

docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py releases

O Step acima cria o arquivo pynews.json, com a estrutura que eu detalhei acima.

Depois que você atualizar, somente onde é solicitado, você executa o comando abaixo.

Para criar os resumos, execute

docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py slides

Abra o arquivo pynews_slides.json para ter acesso ao conteúdo produzido

@dan5e3s6ares não sei se estou fazendo algo errado, mas não to conseguindo gerar resultados. No final eu recebo essa mensagem

$$$ COHERE AI Time Out $$$
Biblioteca não processada : Requests
Tente rodar o script novamente somente com a lib :  Requests

 Abra o arquivo pynews_slides.json para ter acesso ao conteúdo produzido.

talvez tem a ver com COHERE AI Timeout, não sei. Não tem nenhum error quando executo o comando docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py releases.

Esse é o conteúdo do pynews.json que eu usei

{
    "Requests": {
        "library_name": "Requests",
        "releases_doc_url": "https://requests.readthedocs.io/en/latest/community/updates/#release-history",
        "logo": "https://requests.readthedocs.io/en/latest/_static/requests-sidebar.png",
        "repository": "https://github.com/psf/requests"
    }
}

Somente teste com uma única lib (requests no caso).

@andruhaASM
Copy link

@dan5e3s6ares onde deve estar o pynews.py? Readme não tem nenhuma menção sobre pynews.py.

Eu segui o readme a risca. O problema era a biblioteca Requests. Se deixar o bibliotecas.py somente com a Requests o pynews.json fica vazio depois do sudo docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py releases.

Troquei por FastAPI e a primeira etapa deu certo. pynews.json ficou com json correto.

Porém sudo docker compose run --rm --remove-orphans pynews python3 /app/app/getNews.py slides não funcionou e o pynews_slides.json ficou vazio. Executando mais uma vez resolveu o problema.

Não dá pra saber por qual motivo o script funciona com uma biblioteca, mas com outra não. Deve ser por que é IA e a IA não é deterministica. Ou talvez por causa da API da gemini.

@andruhaASM
Copy link

andruhaASM commented Feb 6, 2025

No final o script tá quase funcional e dá pra fazer o merge, levando em conta que:

  • o script depende 100% da IA e sempre alguém vai ter que colocar chave da API pra rodar. Se a gemini mudar as regras do consumo da API a nível gratuito, o script quebra.
  • algumas bibliotecas funcionam e otras não. Não sei se é uma coincidência ou a Requests não foi configurada para a aparecer, mas o site https://python.floripa.br/ não tem justamente a Requests.

@dan5e3s6ares
Copy link
Contributor Author

Eu sinceramente não entendo o que você está fazendo, todo o conteúdo produzido no site Python Floripa saiu desse script de forma automatizada.

Com certeza o script depende da IA, pois essa é a base da idéia.

@dan5e3s6ares
Copy link
Contributor Author

image
image
image

Rodou com todas as Libs, inclusive Requests

@dan5e3s6ares
Copy link
Contributor Author

dan5e3s6ares commented Feb 7, 2025

image

A Lib Requests, não aparece no relatório de Releases e não aparece no site da Python Floripa, pois a sua última atualização foi a mais de 30 dias, em 29 de maio de 2024.

Essa ferramenta só pega o que foi atualizado nos últimos 30 dias.

Continuo dizendo que não entendo o que você está fazendo.

@andruhaASM
Copy link

A minha internet é muito ruim, pode ser também um erro de rede durante a requisição, não sei. Queria muito entender por que funciona no seu computador @dan5e3s6ares e no meu não funciona como esperado. Se alguém voluntariar a testar esse script e funcionar na máquina dessa pessoa, então deve ter algum problema com meu computador, mas meio que não importa.

Como havia dito no comentário anterior #4 (comment)

já que o script tá em produção, vamos aprovar o PR e oficializar esse negócio e bola pra frente. Tem N motivos para o script não funcionar na minha máquina. Funciona em produção e por mim tá bom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants