openssa


Nameopenssa JSON
Version 0.24.3.6 PyPI version JSON
download
home_pagehttps://openssa.org
SummaryOpenSSA: Small Specialist Agents for Industrial AI
upload_time2024-03-07 07:36:04
maintainerAitomatic, Inc.
docs_urlNone
authorAitomatic, Inc.
requires_python>=3.11,<3.12
licenseApache-2.0
keywords artificial intelligence a.i. ai industrial specialist specialized domain expertise knowledge
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `OpenSSA`: Small Specialist Agents for Industrial AI

> __Documentation__: [aitomatic.github.io/openssa](https://aitomatic.github.io/openssa)
>
> __Installation__: `pip install openssa` _(Python 3.10-3.11)_
>
> __SSA Problem-Solver App Launcher__ _(after installation by `pip install openssa[contrib]`)_: `openssa launch solver`
> (try out the same app hosted at [openssa.streamlit.app](https://openssa.streamlit.app))

OpenSSA is an open-source framework for Small Specialist Agents (SSAs), problem-solving AI agents for industrial applications. Harnessing the power of human domain expertise, SSAs operate either alone or in collaborative "teams", and can integrate with both informational and operational sensors/actuators to deliver real-world industrial AI solutions.

SSAs are light-weight, domain-focused and incorporate reasoning and planning capabilities. These characteristics make them ideal for complex hierarchical tasks typically found in industrial applications.

![OpenSSA One Pager](/docs/diagrams/openssa-onepager.png)

## Small Size, Specific-Domain Specialization

The trend towards specialization in AI models is a clear trajectory seen by many in the field.

> &nbsp;
> _.. realize that smaller, cheaper, more specialized models make more sense for 99% of AI use-cases .._ – Clem Delangue, Hugging Face
> &nbsp;


As predicted by Clem Delangue and others, we will see “a rich ecosystem to emerge [of] high-value, specialized AI systems.” SSAs are the central part in the architecture of these systems.


## System-1 & System-2 Intelligence

In addition to information-retrieval and inferencing ("System-1 intelligence") capabilities, SSAs are additionally designed with hierachical reasoning and planning ("System-2 intelligence") capabilities. They can execute tasks following general-purpose problem-solving paradigms (such as OODA) and domain-specific expert heuristics, in order to solve a diverse variery of problems that are hard for System-1-only Large Language Models (LLMs) and traditional AI models.


System 2 thinking is often considered advantageous in certain contexts due to its deliberate, analytical nature. It excels in handling complex and novel situations, enabling individuals to engage in thoughtful reflection and make well-reasoned decisions. System 2 thinking is particularly valuable for risk assessment, mitigating impulsive judgments, and adapting mental models based on intentional learning. Moreover, it helps avoid cognitive biases and stereotypes by involving conscious, effortful processing. While System 1 thinking is valuable for quick and intuitive decision-making in familiar scenarios, System 2 thinking's strengths lie in its ability to navigate intricate situations, analyze information thoroughly, and make informed choices that consider long-term consequences. The effectiveness of each thinking system depends on the specific demands of the task at hand, with both contributing to the overall cognitive toolkit.


## SSA vs LLM

Unlike LLMs, which are computationally intensive and generalized, SSAs are lean, efficient, and designed specifically for individual domains. This focus makes them an optimal choice for businesses, SMEs, researchers, and developers seeking specialized and robust AI solutions for industrial applications.

- **Fast, Cost-Effective & Easy to Use:** SSAs are 100-1000x faster and more efficient than LLMs, making them accessible and cost-effective particularly for industrial usage where time and resources are critical factors.

- **Industrial Focus:** SSAs are developed with a specific emphasis on industrial applications, addressing the unique requirements of trustworthiness, safety, reliability, and scalability inherent to this sector.

- **System-1 AND System-2 Capabilities, not just System-1:** On top of System-1 capabilities such as knowledge query and inferencing/prediction, SSAs have hierarchical problem-solving capabilities based on the domain-specific knowledge and expert heuristics.

- **Vendor Independence:** OpenSSA allows everyone to build, train, and deploy their own domain-expert AI models, offering freedom from vendor lock-in and security concerns.


## Target Audience

Our primary audience includes:

- **Businesses and SMEs** wishing to leverage AI in their specific industrial context without relying on extensive computational resources or large vendor solutions.

- **AI researchers and developers** keen on creating more efficient, robust, and domain-specific AI agents for industrial applications.

- **Open-source contributors** believing in democratizing industrial AI and eager to contribute to a community-driven project focused on building and sharing specialized AI agents.

- **Industries** with specific domain problems that can be tackled more effectively by a specialist AI agent, enhancing the reliability and trustworthiness of AI solutions in an industrial setting.


## SSA Architecture
### OpenSSA Framework Library

![OpenSSA Key Components](/docs/diagrams/ssm-key-components.drawio.png)

### High-Level Class Diagram

![OpenSSA High-Level Class Diagram](/docs/diagrams/ssm-class-diagram.drawio.png)


## Getting Started with OpenSSA

### Who Are You?

1. An end-user of OpenSSA-based applications

2. A developer of applications or services using OpenSSA

3. An aspiring contributor to OpenSSA

4. A committer to OpenSSA

### Getting Started as an End-User

Go straight to [OpenSSA Streamlit app](https://openssa.streamlit.app/) and start building your own SSA with your domain document today!


### Getting Started as a Developer

See some example user programs in the [examples/notebooks](./examples/notebooks) directory. For example, the see the sample use case on ALD semiconductor knowledge, do:

```bash
% cd examples/notebooks
```

#### Common `make` targets for OpenSSA developers

See [MAKEFILE](dev/makefile_info.md) for more details.

```bash
% make clean
% make build
% make rebuild
% make test

% make poetry-init
% make poetry-install
% make install      # local installation of openssa

% make pypi-auth    # only for maintainers
% make publish      # only for maintainers
```

### Getting Started as an Aspiring Contributor

OpenSSA is a community-driven initiative, and we warmly welcome contributions. Whether it's enhancing existing models, creating new SSAs for different industrial domains, or improving our documentation, every contribution counts. See our [Contribution Guide](../CONTRIBUTING.md) for more details.

You can begin contributing to the OpenSSA project in the `contrib/` directory.

### Getting Started as a Committer

You already know what to do.


## Community

Join our vibrant community of AI enthusiasts, researchers, developers, and businesses who are democratizing industrial AI through SSAs.  Participate in the discussions, share your ideas, or ask for help on our [Community Discussions](https://github.com/aitomatic/openssa/discussions).


## Contribute

OpenSSA is a community-driven initiative, and we warmly welcome contributions. Whether it's enhancing existing models, creating new SSAs for different industrial domains, or improving our documentation, every contribution counts. See our [Contribution Guide](docs/community/CONTRIBUTING.md) for more details.


## License

OpenSSA is released under the [Apache 2.0 License](LICENSE.md).


## [API References](modules)


## Note: Lepton API Key
Head to [Lepton](https://dashboard.lepton.ai/) to get your API key.
* Go to `Settings`
* Select `API tokens`
* Copy `<YOUR_LEPTON_API_TOKEN>`

In terminal, run
```bash=
export LEPTON_API_KEY=<YOUR_LEPTON_API_TOKEN>
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://openssa.org",
    "name": "openssa",
    "maintainer": "Aitomatic, Inc.",
    "docs_url": null,
    "requires_python": ">=3.11,<3.12",
    "maintainer_email": "engineering@aitomatic.com",
    "keywords": "Artificial Intelligence,A.I.,AI,industrial,specialist,specialized,domain,expertise,knowledge",
    "author": "Aitomatic, Inc.",
    "author_email": "engineering@aitomatic.com",
    "download_url": "https://files.pythonhosted.org/packages/e7/46/ca7ca214e144270750f0b5c0ae9ee4a0e0fbb8be54e007e9648c7a4b7235/openssa-0.24.3.6.tar.gz",
    "platform": null,
    "description": "# `OpenSSA`: Small Specialist Agents for Industrial AI\n\n> __Documentation__: [aitomatic.github.io/openssa](https://aitomatic.github.io/openssa)\n>\n> __Installation__: `pip install openssa` _(Python 3.10-3.11)_\n>\n> __SSA Problem-Solver App Launcher__ _(after installation by `pip install openssa[contrib]`)_: `openssa launch solver`\n> (try out the same app hosted at [openssa.streamlit.app](https://openssa.streamlit.app))\n\nOpenSSA is an open-source framework for Small Specialist Agents (SSAs), problem-solving AI agents for industrial applications. Harnessing the power of human domain expertise, SSAs operate either alone or in collaborative \"teams\", and can integrate with both informational and operational sensors/actuators to deliver real-world industrial AI solutions.\n\nSSAs are light-weight, domain-focused and incorporate reasoning and planning capabilities. These characteristics make them ideal for complex hierarchical tasks typically found in industrial applications.\n\n![OpenSSA One Pager](/docs/diagrams/openssa-onepager.png)\n\n## Small Size, Specific-Domain Specialization\n\nThe trend towards specialization in AI models is a clear trajectory seen by many in the field.\n\n> &nbsp;\n> _.. realize that smaller, cheaper, more specialized models make more sense for 99% of AI use-cases .._ \u2013 Clem Delangue, Hugging Face\n> &nbsp;\n\n\nAs predicted by Clem Delangue and others, we will see \u201ca rich ecosystem to emerge [of] high-value, specialized AI systems.\u201d SSAs are the central part in the architecture of these systems.\n\n\n## System-1 & System-2 Intelligence\n\nIn addition to information-retrieval and inferencing (\"System-1 intelligence\") capabilities, SSAs are additionally designed with hierachical reasoning and planning (\"System-2 intelligence\") capabilities. They can execute tasks following general-purpose problem-solving paradigms (such as OODA) and domain-specific expert heuristics, in order to solve a diverse variery of problems that are hard for System-1-only Large Language Models (LLMs) and traditional AI models.\n\n\nSystem 2 thinking is often considered advantageous in certain contexts due to its deliberate, analytical nature. It excels in handling complex and novel situations, enabling individuals to engage in thoughtful reflection and make well-reasoned decisions. System 2 thinking is particularly valuable for risk assessment, mitigating impulsive judgments, and adapting mental models based on intentional learning. Moreover, it helps avoid cognitive biases and stereotypes by involving conscious, effortful processing. While System 1 thinking is valuable for quick and intuitive decision-making in familiar scenarios, System 2 thinking's strengths lie in its ability to navigate intricate situations, analyze information thoroughly, and make informed choices that consider long-term consequences. The effectiveness of each thinking system depends on the specific demands of the task at hand, with both contributing to the overall cognitive toolkit.\n\n\n## SSA vs LLM\n\nUnlike LLMs, which are computationally intensive and generalized, SSAs are lean, efficient, and designed specifically for individual domains. This focus makes them an optimal choice for businesses, SMEs, researchers, and developers seeking specialized and robust AI solutions for industrial applications.\n\n- **Fast, Cost-Effective & Easy to Use:** SSAs are 100-1000x faster and more efficient than LLMs, making them accessible and cost-effective particularly for industrial usage where time and resources are critical factors.\n\n- **Industrial Focus:** SSAs are developed with a specific emphasis on industrial applications, addressing the unique requirements of trustworthiness, safety, reliability, and scalability inherent to this sector.\n\n- **System-1 AND System-2 Capabilities, not just System-1:** On top of System-1 capabilities such as knowledge query and inferencing/prediction, SSAs have hierarchical problem-solving capabilities based on the domain-specific knowledge and expert heuristics.\n\n- **Vendor Independence:** OpenSSA allows everyone to build, train, and deploy their own domain-expert AI models, offering freedom from vendor lock-in and security concerns.\n\n\n## Target Audience\n\nOur primary audience includes:\n\n- **Businesses and SMEs** wishing to leverage AI in their specific industrial context without relying on extensive computational resources or large vendor solutions.\n\n- **AI researchers and developers** keen on creating more efficient, robust, and domain-specific AI agents for industrial applications.\n\n- **Open-source contributors** believing in democratizing industrial AI and eager to contribute to a community-driven project focused on building and sharing specialized AI agents.\n\n- **Industries** with specific domain problems that can be tackled more effectively by a specialist AI agent, enhancing the reliability and trustworthiness of AI solutions in an industrial setting.\n\n\n## SSA Architecture\n### OpenSSA Framework Library\n\n![OpenSSA Key Components](/docs/diagrams/ssm-key-components.drawio.png)\n\n### High-Level Class Diagram\n\n![OpenSSA High-Level Class Diagram](/docs/diagrams/ssm-class-diagram.drawio.png)\n\n\n## Getting Started with OpenSSA\n\n### Who Are You?\n\n1. An end-user of OpenSSA-based applications\n\n2. A developer of applications or services using OpenSSA\n\n3. An aspiring contributor to OpenSSA\n\n4. A committer to OpenSSA\n\n### Getting Started as an End-User\n\nGo straight to [OpenSSA Streamlit app](https://openssa.streamlit.app/) and start building your own SSA with your domain document today!\n\n\n### Getting Started as a Developer\n\nSee some example user programs in the [examples/notebooks](./examples/notebooks) directory. For example, the see the sample use case on ALD semiconductor knowledge, do:\n\n```bash\n% cd examples/notebooks\n```\n\n#### Common `make` targets for OpenSSA developers\n\nSee [MAKEFILE](dev/makefile_info.md) for more details.\n\n```bash\n% make clean\n% make build\n% make rebuild\n% make test\n\n% make poetry-init\n% make poetry-install\n% make install      # local installation of openssa\n\n% make pypi-auth    # only for maintainers\n% make publish      # only for maintainers\n```\n\n### Getting Started as an Aspiring Contributor\n\nOpenSSA is a community-driven initiative, and we warmly welcome contributions. Whether it's enhancing existing models, creating new SSAs for different industrial domains, or improving our documentation, every contribution counts. See our [Contribution Guide](../CONTRIBUTING.md) for more details.\n\nYou can begin contributing to the OpenSSA project in the `contrib/` directory.\n\n### Getting Started as a Committer\n\nYou already know what to do.\n\n\n## Community\n\nJoin our vibrant community of AI enthusiasts, researchers, developers, and businesses who are democratizing industrial AI through SSAs.  Participate in the discussions, share your ideas, or ask for help on our [Community Discussions](https://github.com/aitomatic/openssa/discussions).\n\n\n## Contribute\n\nOpenSSA is a community-driven initiative, and we warmly welcome contributions. Whether it's enhancing existing models, creating new SSAs for different industrial domains, or improving our documentation, every contribution counts. See our [Contribution Guide](docs/community/CONTRIBUTING.md) for more details.\n\n\n## License\n\nOpenSSA is released under the [Apache 2.0 License](LICENSE.md).\n\n\n## [API References](modules)\n\n\n## Note: Lepton API Key\nHead to [Lepton](https://dashboard.lepton.ai/) to get your API key.\n* Go to `Settings`\n* Select `API tokens`\n* Copy `<YOUR_LEPTON_API_TOKEN>`\n\nIn terminal, run\n```bash=\nexport LEPTON_API_KEY=<YOUR_LEPTON_API_TOKEN>\n```\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "OpenSSA: Small Specialist Agents for Industrial AI",
    "version": "0.24.3.6",
    "project_urls": {
        "Documentation": "https://aitomatic.github.io/openssa",
        "Homepage": "https://openssa.org",
        "Repository": "https://github.com/aitomatic/openssa"
    },
    "split_keywords": [
        "artificial intelligence",
        "a.i.",
        "ai",
        "industrial",
        "specialist",
        "specialized",
        "domain",
        "expertise",
        "knowledge"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1bd55dcfbd0fcddefd15749bfe239a681a8892bbce81085f86357102be4beabd",
                "md5": "5b0133403a003cb2f53fdbd692d89722",
                "sha256": "45f79077ea7fdf36d9f2275213ea356b6803e48cfd56d40d852a84140b8d7ae2"
            },
            "downloads": -1,
            "filename": "openssa-0.24.3.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5b0133403a003cb2f53fdbd692d89722",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11,<3.12",
            "size": 106717,
            "upload_time": "2024-03-07T07:36:02",
            "upload_time_iso_8601": "2024-03-07T07:36:02.860024Z",
            "url": "https://files.pythonhosted.org/packages/1b/d5/5dcfbd0fcddefd15749bfe239a681a8892bbce81085f86357102be4beabd/openssa-0.24.3.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e746ca7ca214e144270750f0b5c0ae9ee4a0e0fbb8be54e007e9648c7a4b7235",
                "md5": "f9dbc4596158600d230c5b3944d75af6",
                "sha256": "3c32042d209caf1fc450bb1097c729217dea3f43c4cff4687302bfa2b40a4f09"
            },
            "downloads": -1,
            "filename": "openssa-0.24.3.6.tar.gz",
            "has_sig": false,
            "md5_digest": "f9dbc4596158600d230c5b3944d75af6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11,<3.12",
            "size": 74927,
            "upload_time": "2024-03-07T07:36:04",
            "upload_time_iso_8601": "2024-03-07T07:36:04.169419Z",
            "url": "https://files.pythonhosted.org/packages/e7/46/ca7ca214e144270750f0b5c0ae9ee4a0e0fbb8be54e007e9648c7a4b7235/openssa-0.24.3.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-07 07:36:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aitomatic",
    "github_project": "openssa",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "openssa"
}
        
Elapsed time: 0.22025s