ask-bedrock


Nameask-bedrock JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/awslabs/ask-bedrock
SummaryConverse with your favorite Amazon Bedrock LLM from the command line.
upload_time2024-06-20 07:33:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords ask-bedrock genai bedrock aws
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Ask Amazon Bedrock

Converse with your favorite [Amazon Bedrock](https://aws.amazon.com/bedrock/) large language model from the command line.

<p>
  <img width="1000" src="https://raw.githubusercontent.com/awslabs/ask-bedrock/main/README.svg">
</p>

This tool is a wrapper around the low-level Amazon Bedrock APIs and [Langchain](https://python.langchain.com/docs/integrations/llms/bedrock). Its main added value is that it locally persists AWS account and model configuration to enable quick and easy interaction.

## Installation

⚠️ Requires Python >= 3.9

⚠️ Requires a working AWS CLI setup configured with a profile that allows Amazon Bedrock access. See [CLI documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) for details.


```shell
pip install ask-bedrock
```

You can also build/run this project locally, see [Building and Running Locally](#building-and-running-locally).

## Usage

### Activating models

Before you can use this command line tool, you need to [request model access through the AWS Console](https://console.aws.amazon.com/bedrock/home#/modelaccess) in a region where Bedrock is available: Switch to the region where you want to run Bedrock, go to ”Model access“, click “Edit”, activate the models you wish to use, and then click “Save changes”.

### Invocation

To start a conversation, simply enter the following command:

```shell
ask-bedrock converse
```

If you don't need a conversation, you can get a simple request-response using:

```shell
ask-bedrock prompt "What's up?"
```

Upon the first run, you will be led through a configuration flow. To learn more about configuration options, see the [Configuration](#configuration) section below.

If you’re fully configured, the tool will show you a `>>>` prompt and you can start interacting with the configured model.

Multi-line prompts can be wrapped into `<<< >>>` blocks.

To end your interaction, hit `Ctrl + D`. Note that the conversation will be lost.

You can also use a single prompt with a simple request-response:
```
ask-bedrock prompt "complete this sentence: One small step for me"
```

### Pricing

Note that using Ask Amazon Bedrock incurs AWS fees. For more information, see [Amazon Bedrock pricing](https://aws.amazon.com/bedrock/pricing/). Consider using a dedicated AWS account and [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to control costs.

## Configuration

*Ask Amazon Bedrock* stores your user configuration in `$HOME/.config/ask-bedrock/config.yaml`. This file may contain several sets of configuration (contexts). For instance, you can use contexts to switch between different models. Use the `--context` parameter to select the context you'd like to use. The default context is `default`.

If no configuration is found for a selected context, a new one is created. If you want to change an existing config, use

```shell
ask-bedrock configure --context mycontext
```

You can also create or edit the configuration file yourself in `$HOME/.config/ask-bedrock/config.yaml`:

```yaml
contexts:
  default:
    region: ""                  # an AWS region where you have activated Bedrock
    aws_profile: ""             # a profile from your ~/.aws/config file
    model_id: ""                # a Bedrock model, e.g. "ai21.j2-ultra-v1"
    model_params: "{}"          # a JSON object with parameters for the selected model
```

### Model parameters

This JSON is passed to Langchain during client setup (as `model_kwargs`). The schema depends on the model that is used. Have a look at the [examples](model_params_examples.md).

If you want to configure multiple lines, model parameters can be wrapped in `<<< >>>`.

## Building and Running Locally

```
pip install build
python -m build
python ask_bedrock/main.py converse
```

## Feedback

As this tool is still early stage, we are very interested in hearing about your experience. Please take one minute to take a little survey: **https://pulse.aws/survey/GTRWNHT1**


## Troubleshooting

**Q:** The model responses are cut off mid-sentence.

**A:** Configure the model to allow for longer response. Use model parameters (see above) for this. Claude for example would take the following model parameters: `{"max_tokens_to_sample": 3000}`

---

**Q**: I'm getting an error that is not listed here.

**A**: Use the `--debug` option to find out more about the error. If you cannot solve it, create an issue.

## Security

See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.

## License

This project is licensed under the Apache-2.0 License.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/awslabs/ask-bedrock",
    "name": "ask-bedrock",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "ask-bedrock, GenAI, Bedrock, AWS",
    "author": null,
    "author_email": "Ulrich Hinze <uhinze@amazon.de>, Alexander G\u00fcnsche <lxg@amazon.de>",
    "download_url": "https://files.pythonhosted.org/packages/b6/3d/5492ebf5632e1b52c8e094e657fec60ff5283dd0c33df4c8741bfaa36848/ask_bedrock-0.2.0.tar.gz",
    "platform": null,
    "description": "# Ask Amazon Bedrock\n\nConverse with your favorite [Amazon Bedrock](https://aws.amazon.com/bedrock/) large language model from the command line.\n\n<p>\n  <img width=\"1000\" src=\"https://raw.githubusercontent.com/awslabs/ask-bedrock/main/README.svg\">\n</p>\n\nThis tool is a wrapper around the low-level Amazon Bedrock APIs and [Langchain](https://python.langchain.com/docs/integrations/llms/bedrock). Its main added value is that it locally persists AWS account and model configuration to enable quick and easy interaction.\n\n## Installation\n\n\u26a0\ufe0f Requires Python >= 3.9\n\n\u26a0\ufe0f Requires a working AWS CLI setup configured with a profile that allows Amazon Bedrock access. See [CLI documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) for details.\n\n\n```shell\npip install ask-bedrock\n```\n\nYou can also build/run this project locally, see [Building and Running Locally](#building-and-running-locally).\n\n## Usage\n\n### Activating models\n\nBefore you can use this command line tool, you need to [request model access through the AWS Console](https://console.aws.amazon.com/bedrock/home#/modelaccess) in a region where Bedrock is available: Switch to the region where you want to run Bedrock, go to \u201dModel access\u201c, click \u201cEdit\u201d, activate the models you wish to use, and then click \u201cSave changes\u201d.\n\n### Invocation\n\nTo start a conversation, simply enter the following command:\n\n```shell\nask-bedrock converse\n```\n\nIf you don't need a conversation, you can get a simple request-response using:\n\n```shell\nask-bedrock prompt \"What's up?\"\n```\n\nUpon the first run, you will be led through a configuration flow. To learn more about configuration options, see the [Configuration](#configuration) section below.\n\nIf you\u2019re fully configured, the tool will show you a `>>>` prompt and you can start interacting with the configured model.\n\nMulti-line prompts can be wrapped into `<<< >>>` blocks.\n\nTo end your interaction, hit `Ctrl + D`. Note that the conversation will be lost.\n\nYou can also use a single prompt with a simple request-response:\n```\nask-bedrock prompt \"complete this sentence: One small step for me\"\n```\n\n### Pricing\n\nNote that using Ask Amazon Bedrock incurs AWS fees. For more information, see [Amazon Bedrock pricing](https://aws.amazon.com/bedrock/pricing/). Consider using a dedicated AWS account and [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to control costs.\n\n## Configuration\n\n*Ask Amazon Bedrock* stores your user configuration in `$HOME/.config/ask-bedrock/config.yaml`. This file may contain several sets of configuration (contexts). For instance, you can use contexts to switch between different models. Use the `--context` parameter to select the context you'd like to use. The default context is `default`.\n\nIf no configuration is found for a selected context, a new one is created. If you want to change an existing config, use\n\n```shell\nask-bedrock configure --context mycontext\n```\n\nYou can also create or edit the configuration file yourself in `$HOME/.config/ask-bedrock/config.yaml`:\n\n```yaml\ncontexts:\n  default:\n    region: \"\"                  # an AWS region where you have activated Bedrock\n    aws_profile: \"\"             # a profile from your ~/.aws/config file\n    model_id: \"\"                # a Bedrock model, e.g. \"ai21.j2-ultra-v1\"\n    model_params: \"{}\"          # a JSON object with parameters for the selected model\n```\n\n### Model parameters\n\nThis JSON is passed to Langchain during client setup (as `model_kwargs`). The schema depends on the model that is used. Have a look at the [examples](model_params_examples.md).\n\nIf you want to configure multiple lines, model parameters can be wrapped in `<<< >>>`.\n\n## Building and Running Locally\n\n```\npip install build\npython -m build\npython ask_bedrock/main.py converse\n```\n\n## Feedback\n\nAs this tool is still early stage, we are very interested in hearing about your experience. Please take one minute to take a little survey: **https://pulse.aws/survey/GTRWNHT1**\n\n\n## Troubleshooting\n\n**Q:** The model responses are cut off mid-sentence.\n\n**A:** Configure the model to allow for longer response. Use model parameters (see above) for this. Claude for example would take the following model parameters: `{\"max_tokens_to_sample\": 3000}`\n\n---\n\n**Q**: I'm getting an error that is not listed here.\n\n**A**: Use the `--debug` option to find out more about the error. If you cannot solve it, create an issue.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Converse with your favorite Amazon Bedrock LLM from the command line.",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/awslabs/ask-bedrock"
    },
    "split_keywords": [
        "ask-bedrock",
        " genai",
        " bedrock",
        " aws"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52599eab3f9374bddb6270cf6294e4f650c636bec323064de6c6ce0aac9c0df2",
                "md5": "ca786951e3482a03a34edffcc1d3ae0d",
                "sha256": "10776ea1641b3bf065eb6450d48ca2cbf237fc9f3f5f5b8a367246af1a519b5e"
            },
            "downloads": -1,
            "filename": "ask_bedrock-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ca786951e3482a03a34edffcc1d3ae0d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 10873,
            "upload_time": "2024-06-20T07:33:43",
            "upload_time_iso_8601": "2024-06-20T07:33:43.752173Z",
            "url": "https://files.pythonhosted.org/packages/52/59/9eab3f9374bddb6270cf6294e4f650c636bec323064de6c6ce0aac9c0df2/ask_bedrock-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b63d5492ebf5632e1b52c8e094e657fec60ff5283dd0c33df4c8741bfaa36848",
                "md5": "5732385d6b6c4f04fb34c57bc407ed30",
                "sha256": "a2dbdea6ccc1bebb15de0f7ace92a21fd85c357e2711f20d3b4ba3d9764a50ac"
            },
            "downloads": -1,
            "filename": "ask_bedrock-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5732385d6b6c4f04fb34c57bc407ed30",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 10060,
            "upload_time": "2024-06-20T07:33:44",
            "upload_time_iso_8601": "2024-06-20T07:33:44.672705Z",
            "url": "https://files.pythonhosted.org/packages/b6/3d/5492ebf5632e1b52c8e094e657fec60ff5283dd0c33df4c8741bfaa36848/ask_bedrock-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-20 07:33:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "awslabs",
    "github_project": "ask-bedrock",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ask-bedrock"
}
        
Elapsed time: 0.98190s