# Rhesis SDK
<p align="center">
<img src="https://cdn.prod.website-files.com/66f422128b6d0f3351ce41e3/66fd07dc0b6994070ec5b54b_Logo%20Rhesis%20Orange-p-500.png" alt="Rhesis Logo" width="300"/>
</p>
> Gen AI applications that deliver value, not surprises.
The Rhesis SDK enables developers to access curated test sets and generate dynamic ones for GenAI applications. It provides tools to tailor validations to your needs and integrate seamlessly to keep your Gen AI robust, reliable & compliant.
## Features
The Rhesis SDK currently provides functionality to work with Rhesis test sets through routine operations:
- **List Test Sets**: Browse through available curated test sets
- **Load Test Sets**: Load specific test sets for your use case
- **Download Test Sets**: Download test set data for offline use
## Installation
Install the Rhesis SDK using pip:
```bash
pip install rhesis-sdk
```
## Getting Started
### 1. Obtain an API Key
1. Visit [https://app.rhesis.ai](https://app.rhesis.ai)
2. Sign up for a Rhesis account
3. Navigate to your account settings
4. Generate a new API key
Your API key will be in the format `rh-XXXXXXXXXXXXXXXXXXXX`. Keep this key secure and never share it publicly.
> **Note:** On the Rhesis App, you can also create test sets for your own use cases and access them via the SDK. You only need to connect your GitHub account to create a test set.
### 2. Configure the SDK
You can configure the Rhesis SDK either through environment variables or direct configuration:
#### Using Environment Variables
```bash
export RHESIS_API_KEY="your-api-key"
export RHESIS_BASE_URL="https://api.rhesis.ai" # optional
```
#### Direct Configuration
```python
import rhesis
# Set configuration directly
rhesis.base_url = "https://api.rhesis.ai" # optional
rhesis.api_key = "rh-XXXXXXXXXXXXXXXXXXXX"
```
## Quick Start
Before you start, you can configure the Rhesis SDK either through environment variables or direct configuration, as described above.
### Working with Test Sets
```python
from rhesis.entities import TestSet
# List all test sets
for test_set in TestSet().all():
print(test_set)
# Load a specific test set
test_set = TestSet(id="agent-or-industry-fraud-harmful")
test_set.load()
# Download test set data
test_set.download()
```
For more detailed examples, check out our [example notebooks](examples/).
### Generating custom Test Sets
If none of the existing test sets fit your needs, you can generate your own.
You can check out [app.rhesis.ai](http://app.rhesis.ai). There you can define requirements, scenarios and personas, and even import your existing GitHub repository.
## About Rhesis AI
Rhesis AI helps organizations build Gen AI applications that deliver value, not surprises. Our platform enables you to:
- Access curated test sets
- Generate dynamic test sets
- Tailor validations to your specific needs
- Integrate testing seamlessly into your workflow
- Keep your Gen AI applications robust, reliable & compliant
Made in Potsdam, Germany 🇩🇪
Visit [rhesis.ai](https://rhesis.ai) to learn more about our platform and services.
## Community 💬
Join our [Discord server](https://discord.rhesis.ai) to connect with other users and developers.
## Hugging Face 🤗
You can also find us on [Hugging Face](https://huggingface.co/rhesis). There, you can find our test sets across multiple use cases.
## Support 🆘
For questions, issues, or feature requests:
- Visit our [documentation](https://docs.rhesis.ai)
- Contact us at support@rhesis.ai
- Create an issue in this repository
## License 📝
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "rhesis-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "llm, testing, ai, machine-learning",
"author": "Engineering Team",
"author_email": "engineering@rhesis.ai",
"download_url": "https://files.pythonhosted.org/packages/65/23/5ce319469d3d875eba6b206bd2238c83e829cd49bd1ee6583068e3d4fdb5/rhesis_sdk-0.1.3.tar.gz",
"platform": null,
"description": "# Rhesis SDK\n\n<p align=\"center\">\n <img src=\"https://cdn.prod.website-files.com/66f422128b6d0f3351ce41e3/66fd07dc0b6994070ec5b54b_Logo%20Rhesis%20Orange-p-500.png\" alt=\"Rhesis Logo\" width=\"300\"/>\n</p>\n\n> Gen AI applications that deliver value, not surprises.\n\nThe Rhesis SDK enables developers to access curated test sets and generate dynamic ones for GenAI applications. It provides tools to tailor validations to your needs and integrate seamlessly to keep your Gen AI robust, reliable & compliant.\n\n## Features\n\nThe Rhesis SDK currently provides functionality to work with Rhesis test sets through routine operations:\n\n- **List Test Sets**: Browse through available curated test sets\n- **Load Test Sets**: Load specific test sets for your use case\n- **Download Test Sets**: Download test set data for offline use\n\n## Installation\n\nInstall the Rhesis SDK using pip:\n\n```bash\npip install rhesis-sdk\n```\n\n## Getting Started\n\n### 1. Obtain an API Key\n\n1. Visit [https://app.rhesis.ai](https://app.rhesis.ai)\n2. Sign up for a Rhesis account\n3. Navigate to your account settings\n4. Generate a new API key\n\nYour API key will be in the format `rh-XXXXXXXXXXXXXXXXXXXX`. Keep this key secure and never share it publicly.\n\n> **Note:** On the Rhesis App, you can also create test sets for your own use cases and access them via the SDK. You only need to connect your GitHub account to create a test set.\n\n### 2. Configure the SDK\n\nYou can configure the Rhesis SDK either through environment variables or direct configuration:\n\n#### Using Environment Variables\n\n```bash\nexport RHESIS_API_KEY=\"your-api-key\"\nexport RHESIS_BASE_URL=\"https://api.rhesis.ai\" # optional\n```\n\n#### Direct Configuration\n\n```python\nimport rhesis \n\n# Set configuration directly\nrhesis.base_url = \"https://api.rhesis.ai\" # optional\nrhesis.api_key = \"rh-XXXXXXXXXXXXXXXXXXXX\"\n```\n\n## Quick Start\n\nBefore you start, you can configure the Rhesis SDK either through environment variables or direct configuration, as described above.\n\n### Working with Test Sets\n\n```python\nfrom rhesis.entities import TestSet\n\n# List all test sets\nfor test_set in TestSet().all():\n print(test_set)\n\n# Load a specific test set\ntest_set = TestSet(id=\"agent-or-industry-fraud-harmful\")\ntest_set.load()\n\n# Download test set data\ntest_set.download()\n\n```\n\nFor more detailed examples, check out our [example notebooks](examples/).\n\n### Generating custom Test Sets\n\nIf none of the existing test sets fit your needs, you can generate your own.\n\nYou can check out [app.rhesis.ai](http://app.rhesis.ai). There you can define requirements, scenarios and personas, and even import your existing GitHub repository.\n\n## About Rhesis AI\n\nRhesis AI helps organizations build Gen AI applications that deliver value, not surprises. Our platform enables you to:\n- Access curated test sets\n- Generate dynamic test sets\n- Tailor validations to your specific needs\n- Integrate testing seamlessly into your workflow\n- Keep your Gen AI applications robust, reliable & compliant\n\nMade in Potsdam, Germany \ud83c\udde9\ud83c\uddea\n\nVisit [rhesis.ai](https://rhesis.ai) to learn more about our platform and services.\n\n## Community \ud83d\udcac\n\nJoin our [Discord server](https://discord.rhesis.ai) to connect with other users and developers.\n\n## Hugging Face \ud83e\udd17\n\nYou can also find us on [Hugging Face](https://huggingface.co/rhesis). There, you can find our test sets across multiple use cases.\n\n## Support \ud83c\udd98\n\nFor questions, issues, or feature requests:\n- Visit our [documentation](https://docs.rhesis.ai)\n- Contact us at support@rhesis.ai\n- Create an issue in this repository\n\n## License \ud83d\udcdd\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "SDK for testing and validating LLM applications",
"version": "0.1.3",
"project_urls": {
"Bug Tracker": "https://github.com/rhesis-ai/rhesis-sdk/issues",
"Documentation": "https://rhesis-sdk.readthedocs.io",
"Homepage": "https://rhesis.ai",
"Repository": "https://github.com/rhesis-ai/rhesis-sdk"
},
"split_keywords": [
"llm",
" testing",
" ai",
" machine-learning"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "34e29efaeaed54ea09974f95fef724a4793b8dfe62788bc9b620dc483a91e59e",
"md5": "f480a9b439abd944d6a8ae01f9e4c84b",
"sha256": "a8b2f7bc231dbd687dee6022fc3657b6166654258e51aba4126055c7553bad54"
},
"downloads": -1,
"filename": "rhesis_sdk-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f480a9b439abd944d6a8ae01f9e4c84b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 17130,
"upload_time": "2025-02-19T21:31:36",
"upload_time_iso_8601": "2025-02-19T21:31:36.126244Z",
"url": "https://files.pythonhosted.org/packages/34/e2/9efaeaed54ea09974f95fef724a4793b8dfe62788bc9b620dc483a91e59e/rhesis_sdk-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "65235ce319469d3d875eba6b206bd2238c83e829cd49bd1ee6583068e3d4fdb5",
"md5": "6cdeeb5dacef612fa7e220abd025bf6b",
"sha256": "af07aabbedfca669f39305412087d732ac75b0b230b0e364b8bae3699f962db1"
},
"downloads": -1,
"filename": "rhesis_sdk-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "6cdeeb5dacef612fa7e220abd025bf6b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 13714,
"upload_time": "2025-02-19T21:31:37",
"upload_time_iso_8601": "2025-02-19T21:31:37.543125Z",
"url": "https://files.pythonhosted.org/packages/65/23/5ce319469d3d875eba6b206bd2238c83e829cd49bd1ee6583068e3d4fdb5/rhesis_sdk-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-19 21:31:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rhesis-ai",
"github_project": "rhesis-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "appnope",
"specs": [
[
"==",
"0.1.4"
]
]
},
{
"name": "asttokens",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.12.14"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.17.1"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.1"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "comm",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "debugpy",
"specs": [
[
"==",
"1.8.12"
]
]
},
{
"name": "decorator",
"specs": [
[
"==",
"5.1.1"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
"==",
"1.2.2"
]
]
},
{
"name": "executing",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "ipykernel",
"specs": [
[
"==",
"6.29.5"
]
]
},
{
"name": "ipython",
"specs": [
[
"==",
"8.18.1"
]
]
},
{
"name": "jedi",
"specs": [
[
"==",
"0.19.2"
]
]
},
{
"name": "jupyter-client",
"specs": [
[
"==",
"8.6.3"
]
]
},
{
"name": "jupyter-core",
"specs": [
[
"==",
"5.7.2"
]
]
},
{
"name": "matplotlib-inline",
"specs": [
[
"==",
"0.1.7"
]
]
},
{
"name": "nest-asyncio",
"specs": [
[
"==",
"1.6.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.2"
]
]
},
{
"name": "parso",
"specs": [
[
"==",
"0.8.4"
]
]
},
{
"name": "pexpect",
"specs": [
[
"==",
"4.9.0"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"4.3.6"
]
]
},
{
"name": "prompt-toolkit",
"specs": [
[
"==",
"3.0.48"
]
]
},
{
"name": "psutil",
"specs": [
[
"==",
"6.1.1"
]
]
},
{
"name": "ptyprocess",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "pure-eval",
"specs": [
[
"==",
"0.2.3"
]
]
},
{
"name": "pyarrow",
"specs": [
[
"==",
"19.0.0"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.22"
]
]
},
{
"name": "pygments",
"specs": [
[
"==",
"2.19.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "pywin32",
"specs": [
[
"==",
"308"
]
]
},
{
"name": "pyzmq",
"specs": [
[
"==",
"26.2.0"
]
]
},
{
"name": "regex",
"specs": [
[
"==",
"2024.11.6"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "stack-data",
"specs": [
[
"==",
"0.6.3"
]
]
},
{
"name": "tiktoken",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "tornado",
"specs": [
[
"==",
"6.4.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
},
{
"name": "traitlets",
"specs": [
[
"==",
"5.14.3"
]
]
},
{
"name": "types-requests",
"specs": [
[
"==",
"2.32.0.20241016"
]
]
},
{
"name": "types-tqdm",
"specs": [
[
"==",
"4.67.0.20241221"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.3.0"
]
]
},
{
"name": "wcwidth",
"specs": [
[
"==",
"0.2.13"
]
]
}
],
"lcname": "rhesis-sdk"
}