In a world filled with fake news and alternative facts, get the real deep sources for your information.
https://chrome.google.com/webstore/detail/deepcite/oibmgglhkkaigemacdkfeedffkjbpgoi?hl=en-US
Join the discussion here:
Unfortunatly running code is not cheap and I would really appreciate any support you could give to see this project flourish.
website | payment address |
---|---|
Bitcoin | 361Dq2e5wnjAhCnQ8FEkeiK3CYZZJ9QuGs |
Venmo | @fippy24 |
Paypal and Sofi Money | connor.trumpet@gmail.com |
chrome://extensions/
Load unpacked
cd backend/lambda
python3 -m venv v-env-test
source v-env-test/bin/activate
pip3 install -r requirements.txt -r test_requirements.txt
gunicorn -c gunicorn_config.py wsgi:app
Run python -m spacy download en_core_web_lg
once to download the model
cd backend/model
python3 -m venv v-env
source v-env/bin/activate
pip3 install -r requirements.txt
gunicorn -c gunicorn_config.py wsgi
Download and install node.js from their website
For the following commands navigate to DeepCite/extension folder
npm install mocha
to install testing frameworknpm test
to run testsDeepCite/test-folder contains a basic web server meant for testing frontend functionality before we connect the frontend and backend together.
pip install coverage
Note: connection issues make occur when webscrapping, wait a minute then run again
curl -d '{"claim":"the death of Sherlock Holmes almost destroyed the magazine that had originally published the stories. When Arthur Conan Doyle killed him off in 1893, 20,000 people cancelled their subscriptions. The magazine barely survived. Its staff referred to Holmes’ death as “the dreadful event”.", "link":"http://www.bbc.com/culture/story/20160106-how-sherlock-holmes-changed-the-world"}' -H "Content-Type: application/json" -X POST http://127.0.0.1:8000/api/v1/deep_cite
There are a couple ways to configure both the backend and the aws lambda service. The first priority, or the first place the config will look is in the root folder for a json file named deep-cite-config.json
. Next the config will look in the environment, and finally anything not found in the json config or environment will fallback to the defaults. Here are the defaults and config options:
As a JSON ./DeepCite/deep-cite-config.json
:
{
"backend": {
"env": "development",
"language": "en",
"gn_path": "./DeepCite/backend/word_vectors/GoogleNews-vectors-negative300.bin",
"server": {
"host": "0.0.0.0",
"port": "5000"
},
"gunicorn": {
"host": "0.0.0.0",
"port": "8000" ,
"workers": "1",
"timeout": "180"
},
"model": {
"similarity_cutoff": 0.67,
"num_claims_returned": 15,
"max_height": 5,
"request_timeout": 20
}
},
"aws": {
"env": "development",
"versions": {
"model": "0.9.0",
"lambda": "0.9.0",
"api": "0.5.0",
"extension": "1.7.2"
},
"secret": {
"region": "us-east-2",
"name": "rds_deepcite_sample"
},
"ec2": {
"ip": "172.31.35.42",
"port": "8000",
"url": "http://172.31.35.42:8000/api/v1/deep_cite"
}
}
}
As an .env
:
ENV=development
LANGUAGE=en
GN_PATH=./DeepCite/backend/word_vectors/GoogleNews-vectors-negative300.bin
SERVER_HOST=0.0.0.0
SERVER_PORT=5000
GUNICORN_HOST=0.0.0.0
GUNICORN_PORT=8000
GUNICORN_WORKERS=1
GUNICORN_TIMEOUT=180
MODEL_SIMILARITY_CUTOFF=.67
MODEL_NUM_CLAIMS_RETURNED=15
MODEL_MAX_HEIGHT=5
MODEL_REQUEST_TIMEOUT=20
EC2_IP=172.31.35.42
EC2_PORT=8000
SECRET_REGION=us-east-2
SECRET_NAME=rds_deepcite_sample
VERSIONS_MODEL=0.9.0
VERSIONS_LAMBDA=0.9.0
VERSIONS_API=0.5.0
VERSIONS_EXTENSION=1.7.2
It's not really the responsiblity of contributors to manange the CHANGELOG and/or version numbers. Also adding the version number to PR's can lead to needless conflicts. After a PR is merged it is a good idea to see if the CHANGELOG needs to be updated. If the CHANGELOG needs to be updated then the extension version should also be updated. For our version control we follow semantic verisoning standards, which follows the general format: MAJOR.MINOR.PATCH
.
There are multiple services in this repo and each has there own version number. Luckily there is a shell script in the scripts/
that makes updating the version for each service very simple.
model
you can update its version like so:$ cd scripts/
$ ./semver.sh minor model
$ cd scripts/
$ ./semver.sh patch lambda commit
"$SERVICE $ACTION update"
NOTE: Our git tags are associated with the extension
version number so if you update the extension version number a git tag will be added. This means that when you end up pushing your changes don't forget to push the tags like so:
$ git push --follow-tags
Connor O'Leary, Joe Pagani, and Jake Heaser
With great help from the University of Wisconsin, Madison CS506 team Shourya Goel, Jiayi Hu, Vinay Janardhanam, Dillon O'Leary, Noah SickLick, and Catherine Yan