https://github.com/claromes/resumo-periodico

Telegram bot para resumos de artigos científicos

https://github.com/claromes/resumo-periodico

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

generative-ai gpt grobid telegram-bot
Last synced: 6 months ago · JSON representation

Repository

Telegram bot para resumos de artigos científicos

Basic Info
  • Host: GitHub
  • Owner: claromes
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 52.7 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
generative-ai gpt grobid telegram-bot
Created about 1 year ago · Last pushed 12 months ago
Metadata Files
Readme License

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_limit no arquivo compose.yaml.

[!NOTE] Mínimo 4GiB de RAM, ideal 8GiB

docker-compose up -d

Desenvolvimento

pre-commit install

Owner

  • Login: claromes
  • Kind: user

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)
Top Labels
Issue Labels
Pull Request Labels