quackamollie-langchain-model-manager


Namequackamollie-langchain-model-manager JSON
Version 0.1 PyPI version JSON
download
home_pageNone
SummaryModel manager compatible with Langchain models for Quackamollie Telegram chat bot
upload_time2024-09-22 10:48:49
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT License Copyright (c) 2024 - Forge of Absurd Ducks Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords quackamollie model_manager langchain telegram bot aiogram
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ====================================
Quackamollie Langchain Model Manager
====================================

:Name: Quackamollie Langchain Model Manager
:Package name: quackamollie-langchain-model-manager
:Description: Model manager compatible with Langchain models for Quackamollie Telegram chat bot
:Version: 0.1
:Main page: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager
:PyPI package: https://pypi.org/project/quackamollie-langchain-model-manager/
:Docker Image: registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:0.1
:Documentation: https://langchain-model-manager-forge-of-absurd-ducks-qu-910c28e8f82e0a.gitlab.io/
:Build Status:
    :Master: |master_pipeline_badge| |master_coverage_badge|
    :Dev: |dev_pipeline_badge| |dev_coverage_badge|

.. |master_pipeline_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/master/pipeline.svg
   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/master
   :alt: Master pipeline status
.. |master_coverage_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/master/coverage.svg
   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/master
   :alt: Master coverage status

.. |dev_pipeline_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/dev/pipeline.svg
   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/dev
   :alt: Dev pipeline status
.. |dev_coverage_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/dev/coverage.svg
   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/dev
   :alt: Dev coverage status

----

Project description
===================
`Quackamollie <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_ is a `Telegram <https://telegram.org/>`_ chat bot
developed in `Python <https://www.python.org/>`_ using the library `aiogram <https://docs.aiogram.dev/en/latest/>`_ to serve LLM models
running locally using `Ollama <https://ollama.com/>`_.

This package is a model manager exposing `Langchain <https://www.langchain.com/>`_ models for the `Quackamollie <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_ project.
It contains:

- a model manager `LangchainQuackamollieModelManager` class implementing abstract functions of `MetaQuackamollieModelManager`

Learn more about Quackamollie on the `project main page <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_.


Requirements
============

Virtual environment
------------------------------
- Setup a virtual environment in python 3.10

.. code-block:: bash

   make venv
   # or
   python3 -m venv venv

- Activate the environment

.. code-block:: bash

   source venv/bin/activate

- If you want to deactivate the environment

.. code-block:: bash

   deactivate


Tests
=====

Tests requirements
------------------
- Install test requirements

.. code-block:: bash

   make devtools
   # or
   pip install tox

Run pytest
----------
- Run the tests

.. code-block:: bash

   tox

Run lint
--------
- Run the lintage

.. code-block:: bash

   tox -e lint


Documentation
=============

- To auto-generate the documentation configuration

.. code-block:: bash

   tox -e gendocs

- To generate the documentation in Html

.. code-block:: bash

   tox -e docs

- An automatically generated version of this project documentation can be found `here <https://langchain-model-manager-forge-of-absurd-ducks-qu-910c28e8f82e0a.gitlab.io/>`_

  - N.B.: This automatically generated documentation of the Quackamollie core project is still laking a lot of improvements. Sorry for the inconvenience.


Install
=======
- Install the application from sources

.. code-block:: bash

   make install
   # or
   pip install .

- Or install it from distribution

.. code-block:: bash

   pip install dist/quackamollie-langchain-model-manager-0.1.tar.gz

- Or install it from wheel

.. code-block:: bash

   pip install dist/quackamollie-langchain-model-manager-0.1.whl

- Or install it from PyPi repository

.. code-block:: bash

   pip install quackamollie-langchain-model-manager  # latest
   # or
   pip install "quackamollie-langchain-model-manager==0.1"


Docker
======
- To build the application docker

.. code-block:: bash

   docker build --network=host -t quackamollie_langchain_model_manager:0.1 .

- The official Docker image of this project is available at: registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager

- You can pull the image of the current release:

.. code-block:: bash

   docker pull registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:latest  # or dev
   # or
   docker pull registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:0.1


Running the model manager
=========================
`quackamollie-langchain-model-manager` package is automatically discovered, through entrypoints, by the command tool line named `quackamollie`.
Therefore, once installed, you should automatically see models managed by this model manager in Telegram `/settings` command.

You can install models for this model manager by simply pulling them using the `ollama <https://ollama.com/>`_ command:

.. code-block:: bash

   ollama pull llama3

For details on how to run the Quackamollie project, please refer to the `Quackamollie's project main page <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_.


Authors
=======

- **QuacktorAI** - *Initial work* - `quacktorai <https://gitlab.com/quacktorai>`_


Contributing
============
If you want to report a bug or ask for a new feature of `quackamollie-langchain-model-manager`, please open an issue
in the `Gitlab ticket management section of this project <https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/-/issues>`_.
Please, first ensure that your issue is not redundant with already open issues.

If you want to contribute code to this project, please open first an issue and then a merge request with commit names referencing this issues.
Note that only fast-forward merge requests are accepted.

For more details on the general contributing mindset of this project, please refer to `CONTRIBUTING.md <https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/-/blob/master/CONTRIBUTING.md>`_.


Credits
=======
Section in writing, sorry for the inconvenience.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "quackamollie-langchain-model-manager",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "quackamollie, model_manager, langchain, telegram, bot, aiogram",
    "author": null,
    "author_email": "QuactorAI <quacktorai@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d6/16/2dd3d2a5994e4f8876e5c37f6b205bfcf26eafbb0290e409f40fcc787fb3/quackamollie_langchain_model_manager-0.1.tar.gz",
    "platform": null,
    "description": "====================================\nQuackamollie Langchain Model Manager\n====================================\n\n:Name: Quackamollie Langchain Model Manager\n:Package name: quackamollie-langchain-model-manager\n:Description: Model manager compatible with Langchain models for Quackamollie Telegram chat bot\n:Version: 0.1\n:Main page: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager\n:PyPI package: https://pypi.org/project/quackamollie-langchain-model-manager/\n:Docker Image: registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:0.1\n:Documentation: https://langchain-model-manager-forge-of-absurd-ducks-qu-910c28e8f82e0a.gitlab.io/\n:Build Status:\n    :Master: |master_pipeline_badge| |master_coverage_badge|\n    :Dev: |dev_pipeline_badge| |dev_coverage_badge|\n\n.. |master_pipeline_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/master/pipeline.svg\n   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/master\n   :alt: Master pipeline status\n.. |master_coverage_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/master/coverage.svg\n   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/master\n   :alt: Master coverage status\n\n.. |dev_pipeline_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/dev/pipeline.svg\n   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/dev\n   :alt: Dev pipeline status\n.. |dev_coverage_badge| image:: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/badges/dev/coverage.svg\n   :target: https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/commits/dev\n   :alt: Dev coverage status\n\n----\n\nProject description\n===================\n`Quackamollie <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_ is a `Telegram <https://telegram.org/>`_ chat bot\ndeveloped in `Python <https://www.python.org/>`_ using the library `aiogram <https://docs.aiogram.dev/en/latest/>`_ to serve LLM models\nrunning locally using `Ollama <https://ollama.com/>`_.\n\nThis package is a model manager exposing `Langchain <https://www.langchain.com/>`_ models for the `Quackamollie <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_ project.\nIt contains:\n\n- a model manager `LangchainQuackamollieModelManager` class implementing abstract functions of `MetaQuackamollieModelManager`\n\nLearn more about Quackamollie on the `project main page <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_.\n\n\nRequirements\n============\n\nVirtual environment\n------------------------------\n- Setup a virtual environment in python 3.10\n\n.. code-block:: bash\n\n   make venv\n   # or\n   python3 -m venv venv\n\n- Activate the environment\n\n.. code-block:: bash\n\n   source venv/bin/activate\n\n- If you want to deactivate the environment\n\n.. code-block:: bash\n\n   deactivate\n\n\nTests\n=====\n\nTests requirements\n------------------\n- Install test requirements\n\n.. code-block:: bash\n\n   make devtools\n   # or\n   pip install tox\n\nRun pytest\n----------\n- Run the tests\n\n.. code-block:: bash\n\n   tox\n\nRun lint\n--------\n- Run the lintage\n\n.. code-block:: bash\n\n   tox -e lint\n\n\nDocumentation\n=============\n\n- To auto-generate the documentation configuration\n\n.. code-block:: bash\n\n   tox -e gendocs\n\n- To generate the documentation in Html\n\n.. code-block:: bash\n\n   tox -e docs\n\n- An automatically generated version of this project documentation can be found `here <https://langchain-model-manager-forge-of-absurd-ducks-qu-910c28e8f82e0a.gitlab.io/>`_\n\n  - N.B.: This automatically generated documentation of the Quackamollie core project is still laking a lot of improvements. Sorry for the inconvenience.\n\n\nInstall\n=======\n- Install the application from sources\n\n.. code-block:: bash\n\n   make install\n   # or\n   pip install .\n\n- Or install it from distribution\n\n.. code-block:: bash\n\n   pip install dist/quackamollie-langchain-model-manager-0.1.tar.gz\n\n- Or install it from wheel\n\n.. code-block:: bash\n\n   pip install dist/quackamollie-langchain-model-manager-0.1.whl\n\n- Or install it from PyPi repository\n\n.. code-block:: bash\n\n   pip install quackamollie-langchain-model-manager  # latest\n   # or\n   pip install \"quackamollie-langchain-model-manager==0.1\"\n\n\nDocker\n======\n- To build the application docker\n\n.. code-block:: bash\n\n   docker build --network=host -t quackamollie_langchain_model_manager:0.1 .\n\n- The official Docker image of this project is available at: registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager\n\n- You can pull the image of the current release:\n\n.. code-block:: bash\n\n   docker pull registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:latest  # or dev\n   # or\n   docker pull registry.gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager:0.1\n\n\nRunning the model manager\n=========================\n`quackamollie-langchain-model-manager` package is automatically discovered, through entrypoints, by the command tool line named `quackamollie`.\nTherefore, once installed, you should automatically see models managed by this model manager in Telegram `/settings` command.\n\nYou can install models for this model manager by simply pulling them using the `ollama <https://ollama.com/>`_ command:\n\n.. code-block:: bash\n\n   ollama pull llama3\n\nFor details on how to run the Quackamollie project, please refer to the `Quackamollie's project main page <https://gitlab.com/forge_of_absurd_ducks/quackamollie/quackamollie>`_.\n\n\nAuthors\n=======\n\n- **QuacktorAI** - *Initial work* - `quacktorai <https://gitlab.com/quacktorai>`_\n\n\nContributing\n============\nIf you want to report a bug or ask for a new feature of `quackamollie-langchain-model-manager`, please open an issue\nin the `Gitlab ticket management section of this project <https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/-/issues>`_.\nPlease, first ensure that your issue is not redundant with already open issues.\n\nIf you want to contribute code to this project, please open first an issue and then a merge request with commit names referencing this issues.\nNote that only fast-forward merge requests are accepted.\n\nFor more details on the general contributing mindset of this project, please refer to `CONTRIBUTING.md <https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager/-/blob/master/CONTRIBUTING.md>`_.\n\n\nCredits\n=======\nSection in writing, sorry for the inconvenience.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 - Forge of Absurd Ducks  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Model manager compatible with Langchain models for Quackamollie Telegram chat bot",
    "version": "0.1",
    "project_urls": {
        "Homepage": "https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/model_managers/quackamollie_langchain_model_manager"
    },
    "split_keywords": [
        "quackamollie",
        " model_manager",
        " langchain",
        " telegram",
        " bot",
        " aiogram"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d60d21d27b1729855f030e44a8b599388f478b174d2e89d00f7c93a268bcd63",
                "md5": "e7bf14cb8a2b4f6de3693eeea36f0abb",
                "sha256": "18ab78305717892862ef2c6cf53070cb7d7520e3844563ddde7a68a269935f3c"
            },
            "downloads": -1,
            "filename": "quackamollie_langchain_model_manager-0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e7bf14cb8a2b4f6de3693eeea36f0abb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9273,
            "upload_time": "2024-09-22T10:48:47",
            "upload_time_iso_8601": "2024-09-22T10:48:47.865501Z",
            "url": "https://files.pythonhosted.org/packages/4d/60/d21d27b1729855f030e44a8b599388f478b174d2e89d00f7c93a268bcd63/quackamollie_langchain_model_manager-0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6162dd3d2a5994e4f8876e5c37f6b205bfcf26eafbb0290e409f40fcc787fb3",
                "md5": "ad296fbe3f9d7832964d7456a91c5ab1",
                "sha256": "ddd3f90964acfab6d54e3fd7c18acf7e9437f9580299885a4ce0e912907cd5c8"
            },
            "downloads": -1,
            "filename": "quackamollie_langchain_model_manager-0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ad296fbe3f9d7832964d7456a91c5ab1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 20382,
            "upload_time": "2024-09-22T10:48:49",
            "upload_time_iso_8601": "2024-09-22T10:48:49.688556Z",
            "url": "https://files.pythonhosted.org/packages/d6/16/2dd3d2a5994e4f8876e5c37f6b205bfcf26eafbb0290e409f40fcc787fb3/quackamollie_langchain_model_manager-0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-22 10:48:49",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "forge_of_absurd_ducks",
    "gitlab_project": "quackamollie",
    "lcname": "quackamollie-langchain-model-manager"
}
        
Elapsed time: 0.29512s