{"id":19923589,"url":"https://github.com/sukarnascience/opennlp","last_synced_at":"2025-08-25T00:34:10.853Z","repository":{"id":226390249,"uuid":"768409952","full_name":"Sukarnascience/openNLP","owner":"Sukarnascience","description":"Ai Chat Bot which supports Online (using Gimini) or Offline (preTrain Models)","archived":false,"fork":false,"pushed_at":"2024-03-16T07:06:45.000Z","size":1510,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-12T09:42:19.222Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sukarnascience.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-03-07T02:59:46.000Z","updated_at":"2024-03-11T10:57:48.000Z","dependencies_parsed_at":"2024-03-22T14:52:08.280Z","dependency_job_id":null,"html_url":"https://github.com/Sukarnascience/openNLP","commit_stats":null,"previous_names":["sukarnascience/opennlp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sukarnascience/openNLP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sukarnascience%2FopenNLP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sukarnascience%2FopenNLP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sukarnascience%2FopenNLP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sukarnascience%2FopenNLP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sukarnascience","download_url":"https://codeload.github.com/Sukarnascience/openNLP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sukarnascience%2FopenNLP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271984371,"owners_count":24853814,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-12T22:14:49.479Z","updated_at":"2025-08-25T00:34:10.796Z","avatar_url":"https://github.com/Sukarnascience.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openNLP\n\n**Title:** Alternative GPT with Gemini API and Offline Capabilities\n\n**Introduction:**\n\nThis project offers a cost-effective alternative to GPT by leveraging the Gemini API for online interactions and a locally trained model for offline scenarios. It aims to provide a robust chatbot with a 0% fail rate, ensuring continuous responses regardless of internet connectivity.\n\n**Key Features:**\n\n* **Cost-Effective Alternative:** Utilizes the free tier of the Gemini API for online interactions, reducing costs compared to traditional GPT solutions.\n* **Dual Response Strategy:** Employs a combination of online and offline models to guarantee a response even without an internet connection.\n* **Zero Fail Rate:** Ensures the chatbot can always respond to user queries, maintaining a seamless interaction experience.\n* **Self-Learning (WIP):** This feature is under development and aims to enable the model to learn and improve through user interactions, similar to how we teach children.\n* **Learning from Uploads (Work in Progress):** Future enhancements will allow the model to learn from uploaded datasets, expanding its knowledge base and improving its responses.\n\n**Technical Overview:**\n\nThis section will be added once you provide more details about the implementation.  Here are some potential areas to cover:\n\n* Programming language and libraries used\n* Architecture of the online and offline models\n* Details about the self-learning and upload learning functionalities (when implemented)\n\n**Installation:**\n\n(Provide instructions on how to install any required dependencies or packages)\n\n**Usage:**\n\n(Describe how to run the chatbot and interact with it, including any command-line arguments or configuration options)\n\n**Current Limitations:**\n\n* **Self-Learning and Upload Learning (WIP):** These features are currently under development and may have limited functionality.\n* **Accuracy and Fluency:** As a young project, the model's responses may not always be perfectly accurate or fluent. We are actively working on improving its performance.\n\n**Future Work:**\n\n* **Refine Self-Learning:** Enhance the ability of the model to learn from user interactions.\n* **Develop Upload Learning:** Implement functionality for the model to learn from uploaded data.\n* **Improve Accuracy and Fluency:** Continuously improve the model's ability to generate reliable, informative, and engaging responses.\n* **Expand Online Capabilities:** Explore advanced use cases with the Gemini API.\n\n**Contributing:**\n\nWe welcome contributions from the community! If you're interested in helping, please feel free to open an issue or pull request.\n\n**License:** MIT License\n\n**Author:** Sukarna Jana 2024-25\n\n**Additional Notes:**\n\n* Consider adding visuals (e.g., screenshots, diagrams) to enhance understanding.\n* Use clear and concise language throughout the README.\n* Maintain the README as the project evolves to keep users informed.\n\n---\n\n## Fix Errors (Solutions)\n\nIf You are getting error lie \n```sh\n(aibot) myserver@myserver:~/Documents/openNLP$ python3 offlineNLP.py\nLoading std-startup.xml...Traceback (most recent call last):\n  File \"/home/myserver/Documents/openNLP/offlineNLP.py\", line 22, in \u003cmodule\u003e\n    chatbot = Chatbot()\n  File \"/home/myserver/Documents/openNLP/offlineNLP.py\", line 6, in __init__\n    self.kernel.learn(\"std-startup.xml\")\n  File \"/home/myserver/Documents/openNLP/aibot/lib/python3.10/site-packages/aiml/Kernel.py\", line 335, in learn\n    start = time.clock()\nAttributeError: module 'time' has no attribute 'clock'\n```\n\nSolution: \n\nIt appears that your code is using the `time.clock()` method, which was deprecated and eventually removed in Python 3.8. To address this, you can replace `time.clock()` with `time.process_time()`.\n\nHere's the modified `Kernel.py` file:\n\n```python\n# File: aiml/Kernel.py\n\n# Replace this line:\n# start = time.clock()\n# with:\nstart = time.process_time()\n```\n\nThe `time.process_time()` method is used for measuring the CPU time, and it's the recommended replacement for the deprecated `time.clock()` method.\n\nAfter making this change, you should be able to use your AIML code with Python 3.7 or later without encountering the `AttributeError` related to the `time.clock()` method.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsukarnascience%2Fopennlp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsukarnascience%2Fopennlp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsukarnascience%2Fopennlp/lists"}