Skip to content

Releases: brunoamaral/gregory-ai

Your syndication has been served

31 Mar 22:50
942a730
Compare
Choose a tag to compare

This is a small one, but worthy of note. We took away the rss feeds from Node.

We also managed to include the European Clinical Trial Register as a source of information.

What's Changed

Full Changelog: v8...v8.1

v8 - Building a proper API

28 Mar 22:03
716c636
Compare
Choose a tag to compare

This won't hit as hard as Smith but it does pack a punch.
And and I have a hunch this release will rock.

The API is now hosted at https://api.gregory-ms.com/ and offers some options for authentication, new methods, and much more information about each piece of content. Articles, Trials, and Sources.

The search by keyword is somewhat new as it now only uses get requests and accepts regular expressions. The javascript that shows related articles on the site is now broken, but I'll get around to fix it sometime next week. Same as the documentation for developers, that has become more outdated than the yellow pages.

Life has been a bit demanding lately, so if you can, please take a look around and let me know if you find any issues.

What's Changed

Full Changelog: v7...v8

v7 - The grown up edition

06 Mar 13:20
61fe62b
Compare
Choose a tag to compare

Alright, put down that coffee, this is a though one. You'll see, come here and sit with me.

I had to break a lot of things.

  1. Postgres (PG) Database
  2. Node Red flows
  3. New way to fetch RSS feeds
  4. New admin option
  5. Metabase module

Database

Gregory was using a SQLite database, which is ok for most uses and was enough for the first year. The data was moved to a new Postgres database. This solves issues we were having with incoherent dates and allows Metabase to run a better analysis on everything involving a date and time. Same goes for True and False values, which SQLite considered to be either 0 and 1 and made some queries feel weird.

One change was adding some new fields to the table of sources, these now include the method used to fetch new articles. More on that up ahead.

Node Red flows

New database meant reviewing the flows that search and retrieve new articles, making them use PG. During this, I cleaned up some nodes and flows that didn't make much sense. Sorry for not documenting this, but either way, Gregory is meant to mostly use your flows and not what I believe is right.

New way to fetch rss feeds

On the python-ml directory there is now a feedreader.py script that will query the database for a list of sources that use RSS, fetch new articles and add them to the database. This may feel like a nuisance, but it's necessary to move towards a system where you add sources through an admin panel instead of coding a Node Red flow for each one.

New admin option

Sometimes you need to edit information on the articles, sources or trials. To make this easier I have added a Django install to the docker-compose.yaml file.

When running this for the first time, *remember to execute python manage.py migrate and then python manage.py createsuperuser so that it will add the necessary tables and a user account.

This is available at http://localhost:8000 and you will have to bind it with your preferred reverse proxy.

Metabase module

I broke this harder than my last girlfriend broke my heart.

It didn't make sense to have another PG container running just for Metabase. Instead, it was added to the new one that is holding the articles and clinical trials. We keep things separate by using two different databases. Should have done the same for the Django install but didn't know how to and had to pick priorities.

This means that the charts in the observatory section of the website have all gone to hell and will need to brought back. User accounts will also need to be recreated.

That's all, and that's a lot

This was a lot of work and it will break all other installs of Gregory, I'm sorry about that. Hopefully you will agree it was a necessary step towards a system that is easier to customize and adapt to other conditions other than Multiple Sclerosis.

I'd like to thank @malduarte and @chbm who gave me a hand in migrating to PG. It would have been a lot harder without their help.

Any questions, comments or suggestions are more than welcome. Meanwhile I am just going to take it easy for rest of the week and calmly make sure everything is working as intended.

falls down in Portuguese

What's Changed

I messed up the auto-generated release notes, so you'll want to check the v7 milestone.

v6.1.2

24 Dec 15:13
e32e4db
Compare
Choose a tag to compare

The scikit package was updated so if you are running previous versions, this requires you to retrain the machine learning algorithm. This means running script 1 and 2 in the python-ml/ directory.

What's Changed

  • 6.0.1 - recover flows by @brunoamaral in #47
  • Make sure we have all the packages to run Scikit by @brunoamaral in #49
  • Update database schema and add information on new database column
  • Cleaned up code
  • Improved setup instructions
  • Updated flows
  • Removed unused directory and references to it in build.py

Full Changelog: v6...v6.1.2

v6 - Spacy meets Node-Red

23 Dec 01:08
33b2d8d
Compare
Choose a tag to compare

Ok, this is a doozy.

This release updates on four fronts.

1. Node-RED

Gregory is now running Node-RED v2.1.4, this is big all by itself. Visit @node-red for more details.

This fixes #37

2. Docker image

There were a few changes to the Dockerfile, and you no longer need to build the container locally. The image for Gregory is available on the Docker Hub and is referenced on the docker-compose.yaml file.

The container is now running Python 3.7.3.

3. Setup script was improved

There is now a .env file that will hold all the settings you need for the docker-compose.yaml and the build.py script. In addition, the setup.py file will make sure you create the needed docker network and fetch the current version of the docker image.

4. More ArtificiaI Intelligence and Machine Learning

The new docker image was built with the Spacy python module by @explosion . This allows Gregory to incorporate Natural Language Processing (NLP) and other features into the flows that fetch and analyse search results. Soon, it will also allow the site to be built a little bit faster, by storing the NLP results in the database.

For reference, the site currently takes about 5 minutes to built and part of this includes the NLP processing of titles to identify noun phrases.

This fixes #32

Thank you
— Bruno

v5 - Metabase and refactored flows

10 Dec 16:53
152b63a
Compare
Choose a tag to compare

The most significant change for this release is the optional docker-compose.yaml file that allows running Metabase alongside Gregory.

Metabase is available at https://www.metabase.com/ and @metabase.

Content pages were updated, and algolia was removed from the search page in favor of a Metabase dashboard that allows for less dependencies and is always up to date.

v4 - Search page

10 Oct 10:25
d582adc
Compare
Choose a tag to compare

There is now a search page available https://gregory-ms.com/search/

This is using https://algolia.com and in future versions we need to include updating the index automatically.

Right now, I am updating the index with a manual file upload every other day.

v3 - Machine Learning

04 Oct 13:56
d986791
Compare
Choose a tag to compare

Gregory just got a little bit smarter with the help of @antoniolopes.

This releases includes a lot of changes to the frontend and to node-red's flows, biggest one being that we now tag articles on the homepage with a machine learning algorithm.

There are two Machine Learning models available:

  • Gaussian Naive Bayes (GNB)
  • Logistic Regression (LR)

Right now, the homepage uses the GNB model because in testing it matched human selection in the best way.

v2.0 - New theme

21 Sep 17:09
051eef7
Compare
Choose a tag to compare

This is mostly an aesthetic update. The site now uses the Now-UI theme from Creative Tim, with tons of changes to fit the purpose of listing research and clinical trials.

Some highlights of the theme:

  • Pagination of the homepage and clinical trials sections
  • Thumbnails for when static pages are shared on social media
  • When available, abstracts are now listed after the title of the Article/Trial

Changes to the build script:

  • We now produce an index.md for each Article or Clinical Trial
  • Prints out each stage of the build process

We are in contact with a few stakeholders and hope to improve Gregory with their help.
Thank you to everyone reading this. 🙂

v1.9 - Docker and Machine Learning

19 Sep 16:11
4776b42
Compare
Choose a tag to compare

This version includes a Dockerfile and docker-compose.yaml to allow anyone to install Gregory with ease.

It also includes a set of Machine Learning scripts and models to make selecting relevant articles easier. These modules still need to be included in the Node-RED Flows.

Special thanks to @antoniolopes and @Madril 🙂