{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "fNkMBurtxawJ" }, "source": [ "# LiteLLM Bedrock Usage\n", "Important Note: For Bedrock Requests you need to ensure you have `pip install boto3>=1.28.57`, boto3 supports bedrock from `boto3>=1.28.57` and higher " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "htAufI28xeSy" }, "source": [ "## Pre-Requisites" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "jT5GbPjAuDTp" }, "outputs": [], "source": [ "!pip install litellm\n", "!pip install boto3>=1.28.57 # this version onwards has bedrock support" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "H4Vu4er2xnfI" }, "source": [ "## Set Bedrock/AWS Credentials" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "id": "CtTrBthWxp-t" }, "outputs": [], "source": [ "import os\n", "os.environ[\"AWS_ACCESS_KEY_ID\"] = \"\" # Access key\n", "os.environ[\"AWS_SECRET_ACCESS_KEY\"] = \"\" # Secret access key\n", "os.environ[\"AWS_REGION_NAME\"] = \"\"" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "ycRK9NUdx1EI" }, "source": [ "## Anthropic Requests" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "tgkuoHa5uLOy", "outputId": "27a78e86-c6a7-4bcc-8559-0813cb978426" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Claude instant 1, response\n", "{\n", " \"object\": \"chat.completion\",\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \" I'm doing well, thanks for asking!\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"id\": \"chatcmpl-4f2e64a1-56d2-43f2-90d3-60ffd6f5086d\",\n", " \"created\": 1696256761.3265705,\n", " \"model\": \"anthropic.claude-instant-v1\",\n", " \"usage\": {\n", " \"prompt_tokens\": 11,\n", " \"completion_tokens\": 9,\n", " \"total_tokens\": 20\n", " },\n", " \"finish_reason\": \"stop_sequence\"\n", "}\n", "Claude v2, response\n", "{\n", " \"object\": \"chat.completion\",\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \" I'm doing well, thanks for asking!\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"id\": \"chatcmpl-34f59b33-f94e-40c2-8bdb-f4af0813405e\",\n", " \"created\": 1696256762.2137017,\n", " \"model\": \"anthropic.claude-v2\",\n", " \"usage\": {\n", " \"prompt_tokens\": 11,\n", " \"completion_tokens\": 9,\n", " \"total_tokens\": 20\n", " },\n", " \"finish_reason\": \"stop_sequence\"\n", "}\n" ] } ], "source": [ "from litellm import completion\n", "\n", "response = completion(\n", " model=\"bedrock/anthropic.claude-instant-v1\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}]\n", ")\n", "print(\"Claude instant 1, response\")\n", "print(response)\n", "\n", "\n", "response = completion(\n", " model=\"bedrock/anthropic.claude-v2\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}]\n", ")\n", "print(\"Claude v2, response\")\n", "print(response)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "HnM-HtM3yFMT" }, "source": [ "## Anthropic Requests - With Streaming" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "_JZvg2yovRsU" }, "outputs": [], "source": [ "from litellm import completion\n", "\n", "response = completion(\n", " model=\"bedrock/anthropic.claude-instant-v1\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}],\n", " stream=True,\n", ")\n", "print(\"Claude instant 1, response\")\n", "for chunk in response:\n", " print(chunk)\n", "\n", "\n", "response = completion(\n", " model=\"bedrock/anthropic.claude-v2\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}],\n", " stream=True\n", ")\n", "print(\"Claude v2, response\")\n", "print(response)\n", "for chunk in response:\n", " print(chunk)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "zj1U1mh9zEhP" }, "source": [ "## A121 Requests" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "6wK6MZLovU7r", "outputId": "4cf80c04-f15d-4066-b4c7-113b551538de" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "J2 ultra response\n", "{\n", " \"object\": \"chat.completion\",\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \"\\nHi, I'm doing well, thanks for asking! How about you?\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"id\": \"chatcmpl-f2de678f-0e70-4e36-a01f-8b184c2e4d50\",\n", " \"created\": 1696257116.044311,\n", " \"model\": \"ai21.j2-ultra\",\n", " \"usage\": {\n", " \"prompt_tokens\": 6,\n", " \"completion_tokens\": 16,\n", " \"total_tokens\": 22\n", " }\n", "}\n", "J2 mid response\n", "{\n", " \"object\": \"chat.completion\",\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \"\\nGood. And you?\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"id\": \"chatcmpl-420d6bf9-36d8-484b-93b4-4c9e00f7ce2e\",\n", " \"created\": 1696257116.5756805,\n", " \"model\": \"ai21.j2-mid\",\n", " \"usage\": {\n", " \"prompt_tokens\": 6,\n", " \"completion_tokens\": 6,\n", " \"total_tokens\": 12\n", " }\n", "}\n" ] } ], "source": [ "response = completion(\n", " model=\"bedrock/ai21.j2-ultra\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}],\n", ")\n", "print(\"J2 ultra response\")\n", "print(response)\n", "\n", "response = completion(\n", " model=\"bedrock/ai21.j2-mid\",\n", " messages=[{ \"content\": \"Hello, how are you?\",\"role\": \"user\"}],\n", ")\n", "print(\"J2 mid response\")\n", "print(response)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Y5gGZIwzzSON" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }