https://github.com/claromes/resumo-periodico
Telegram bot para resumos de artigos científicos
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (3.4%) to scientific vocabulary
Keywords
Repository
Telegram bot para resumos de artigos científicos
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Resumo Periódico: Telegram Bot
Ferramenta experimental desenvolvida para gerar resumos de artigos científicos diretamente de arquivos PDF. Esses resumos são aproveitados no processo de curadoria da newsletter Periódica.
O modelo de linguagem GPT-4o mini é utilizado em conjunto com a biblioteca de aprendizado de máquina GROBID, responsável pela extração de informações acadêmicas dos artigos.
Funcionalidades
- resumo via comando (
/resumo) - somente um arquivo PDF por resumo
- controle de acesso ao chatbot via nome de usuário
Metodologia
A aplicação é desenvolvida em Python.
O bot do Telegram é executado em um container Docker e interage com o GROBID e a API da OpenAI para gerar respostas.
Outro container executa uma imagem do GROBID, com apenas modelos CRF, utilizados para segmentação e estruturação de documentos acadêmicos em elementos semânticos, como título, autores, afiliações, referências bibliográficas, etc. A documentação do GROBID também disponibiliza a versão completa (10GB), porém, para esta etapa experimental, usamos a versão leve (300MB).
O GROBID é uma biblioteca de aprendizado de máquina para extração, parsing e reestruturação de documentos brutos, como PDFs, convertendo-os para TEI (Text Encoding Initiative), um formato XML voltado para representação de textos acadêmicos e científicos de forma estruturada.
O usuário anexa um artigo em PDF, que é enviado ao servidor para processamento. O GROBID converte o conteúdo para TEI/XML e retorna o documento reestruturado. Em seguida, o código é convertido para JSON, por conta de limitações de MIME types da Assistants API (sem suporte para application/xml). Então, o prompt e arquivo JSON são enviados ao modelo de linguagem. A resposta gerada é retornada ao usuário.
A reestruturação do artigo ocorre apenas uma vez, após o upload do documento. O servidor não mantém o histórico de prompts nem recupera arquivos processados (PDF, TEI e JSON), embora os armazene temporariamente em diretórios organizados por data e hora.
Anteriormente, foi realizada prova de conceito do chatbot com o framework Streamlit e o modelo de linguagem claude-3-5-haiku-20241022. O código está disponível aqui.
BotFather
O BotFather é o serviço principal do Telegram para o registro de bots. Use-o para criar novas contas de bot e gerenciar bots existentes.
Pré-requisitos
- Python 3.11+
- Docker Compose
- Telegram Bot Token
- OpenAI API Key
Configuração das variáveis de ambiente
cp .example.env .env
Instalação
[!WARNING] Por conta de recursos limitados durante os testes, os containers são reiniciados automaticamente. Para alterar essa configuração, edite o parâmetro
mem_limitno arquivo compose.yaml.[!NOTE] Mínimo 4GiB de RAM, ideal 8GiB
docker-compose up -d
Desenvolvimento
pre-commit install
Owner
- Login: claromes
- Kind: user
- Website: claromes.com
- Repositories: 48
- Profile: https://github.com/claromes
GitHub Events
Total
- Release event: 2
- Delete event: 2
- Push event: 5
- Pull request event: 4
- Create event: 4
Last Year
- Release event: 2
- Delete event: 2
- Push event: 5
- Pull request event: 4
- Create event: 4
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 2 minutes
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 2 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- claromes (2)