Sign inSign up

tae898/conceptnet5-full

By tae898

•Updated almost 5 years ago

https://github.com/tae898/conceptnet5

Image
0

262

tae898/conceptnet5-full repository overview

⁠Running ConceptNet Locally on Docker

Watch the tutorial video at here⁠.

This repo was forked from here⁠.

The original build process is outlined here⁠.

I tried to dockerize things as much as possible so that you can just pull the image and run it on your desired machine.

⁠Pulling and running the Docker image (1.02GB compressed size, 2.488GB uncompressed size)

  1. Pull the latest image by

    docker pull tae898/conceptnet5
    

    Check out the original Dockerfile⁠ of this image, if interested.

  2. Run the docker container in detached mode. This will start postgres within.

    docker run --name conceptnet5 --network host -d tae898/conceptnet5
    
  3. Open up zsh (or bash, whatever you prefer) in the container by running

    docker exec -it conceptnet5 zsh
    
  4. Create a PostgreSQL database named conceptnet5 by running

    createdb conceptnet5
    
  5. Start the build by running

    ./build.sh
    

    This will take a long time since it has to download all the data. You need at least 30 GB of available RAM, 300 GB of free disk space, and the time and bandwidth to download 24 GB of raw data.

  6. Run the web server

    cd web
    pip install -e .
    python3 conceptnet_web/api.py
    
  7. Now you are ready to play around with the API!

    Try: http://127.0.0.1:8084/c/en/laptop?rel=/r/AtLocation&limit=1000⁠

    Any HTTP request with the original server (e.g., https://conceptnet.io/c/en/laptop?rel=/r/AtLocation&limit=1000⁠) will work on your local machine now. The only difference is that now the external server https://conceptnet.io⁠ is replaced with your local server http://127.0.0.1:8084⁠.

  8. You can also make HTTP requests from a python client. Take a look at the client.py⁠

    Be sure to install the requests package by running pip install requests

  9. When you are done with the API, you can safely turn off the Flask server and kill the docker container by

    docker kill conceptnet5
    

⁠Running the docker container and the API agian

  1. When you are done you can just kill the container. And when you wanna start again, first run

    docker start conceptnet5
    

    Now the container conceptnet5 started in detached mode. Now run the Flask API server by

    docker exec -it -w /conceptnet5/web conceptnet5 python3 conceptnet_web/api.py
    
  2. Again when you are done, kill the container by

    docker kill conceptnet5
    

⁠Troubleshooting

The best way to find and solve your problems is to see in the github issue tab. If you can't find what you want, feel free to raise an issue. We are pretty responsive.

⁠Cite our work

DOI

⁠Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Run make style && quality in the root repo directory, to ensure code quality.
  4. Commit your Changes (git commit -m 'Add some AmazingFeature')
  5. Push to the Branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

⁠Authors

Tag summary

Content type

Image

Digest

Size

80.2 GB

Last updated

almost 5 years ago

docker pull tae898/conceptnet5-full