{"id":19614640,"url":"https://github.com/activestate/apy","last_synced_at":"2026-05-15T10:33:34.331Z","repository":{"id":66047999,"uuid":"121782875","full_name":"ActiveState/APy","owner":"ActiveState","description":null,"archived":false,"fork":false,"pushed_at":"2018-06-22T17:48:19.000Z","size":1432,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T10:30:05.376Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ActiveState.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-16T18:01:27.000Z","updated_at":"2018-06-22T17:48:21.000Z","dependencies_parsed_at":"2023-03-27T17:59:08.349Z","dependency_job_id":null,"html_url":"https://github.com/ActiveState/APy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActiveState%2FAPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActiveState%2FAPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActiveState%2FAPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActiveState%2FAPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ActiveState","download_url":"https://codeload.github.com/ActiveState/APy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240906788,"owners_count":19876681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T10:53:12.759Z","updated_at":"2026-05-15T10:33:29.291Z","avatar_url":"https://github.com/ActiveState.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# APy\n\nReddit JSON =\u003e mysqlite db =\u003e training files =\u003e train chatbot =\u003e interact with chatbot\n\n## Setup for docker\n\n1. Git clone [https://github.com/davetlewis-van/APy.git](https://github.com/davetlewis-van/APy.git) into a new directory.\n1. `wget http://downloads.activestate.com/ActivePython/releases/3.6.0.3600/ActivePython-3.6.0.3600-linux-x86_64-glibc-2.3.6-401834.tar.gz`\n1. `docker build -t \"python36:dockerfile\" .`\n1. `docker run -it python36:dockerfile`\n1. There are sample training files, but you can copy the training files you want to use to the `new_data` folder. If so, you need to adjust the files listed at the top of `prepare_data.py` and dev_prefix and test_prefix in `settings.py`\n1. Navigate to the `/code/nmt-chatbot/setup` folder and run `prepare_data.py`\n1. Navigate to the `/code/nmt-chatbot/` folder and run `train.py`\n1. To interact with the chatbot run `inference.py`\n\n## Setup on cloud.google.com\n\n* Public IP: https://35.230.32.103\n* Jupyter notebook access: `sudo jupyter notebook -ip 0.0.0.0 --port 8888 --allow-root`\n* TensorBoard config:\n  1. Create firewall rule for port 6006\n  2. `cd nmt-chatbot/model`\n  3. `tensorboard --logdir=train_log/ --host 0.0.0.0 --port 6006`\n  4. Browse to: http://35.230.32.103:6006/#projector\u0026run=.\n\n## Resources\n\n* [PythonProgramming.net chatbot tutorials](https://pythonprogramming.net/chatbot-deep-learning-python-tensorflow/)\n* [AI and Chatbots in Technical Communication](https://www.cherryleaf.com/blog/2017/08/ai-chatbots-technical-communication-primer/)\n* [Google Dialogflow](https://dialgoflow.com)\n\n## Datasets\n\n### Reddit\n\n* [JSON](https://files.pushshift.io/reddit/comments/)\n* [Google BigQuery](https://bigquery.cloud.google.com/table/fh-bigquery:reddit_comments.2017_12?tab=schema)\n\n### Stack Overflow\n\n* Kaggle\n  * [Questions.csv](https://www.kaggle.com/stackoverflow/pythonquestions/downloads/Questions.csv)\n  * [Answers.csv](https://www.kaggle.com/stackoverflow/pythonquestions/downloads/Answers.csv)\n  * [Tags.csv](https://www.kaggle.com/stackoverflow/pythonquestions/downloads/Tags.csv)\n\n* [Google BigQuery](https://bigquery.cloud.google.com/dataset/fh-bigquery:stackoverflow)\n\n## Process\n\n![Reddit JSON structure](img/json.png)\n![sqlite table](img/sqlite.png)\n![Training 1](img/training.png)\n![Training 2](img/training2.png)\n![TensorBoard Scalars](img/tensorboard.png)\n![TensorBoard Projector](img/tensorboard2.png)\n\n## TODO\n\n* Get access to a GPU\n  ![CPU usage](img/cpu.png)\n* Figure out how to access my programming-specific BigQuery tables from the Google Cloud VM instance.\n  ![BigQuery](img/bigquery.png)\n* Figure out how to read in Stack Overflow Q\u0026A\n* Run docker container on Google Cloud VM\n\n## License\n\nCopyright (c) 2018 ActiveState Software Inc.\nReleased under the BSD-3 license. See LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factivestate%2Fapy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factivestate%2Fapy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factivestate%2Fapy/lists"}