{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# LiteLLM Batch Completions Example\n", "\n", "* This tutorial walks through using `batch_completion`\n", "* Docs: https://docs.litellm.ai/docs/completion/batching" ], "metadata": { "id": "MbLbs1tbISk-" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Ty6-ko_aDlPF" }, "outputs": [], "source": [ "!pip install litellm" ] }, { "cell_type": "markdown", "source": [ "## Import Batch Completion" ], "metadata": { "id": "KGhNJRUCIh1j" } }, { "cell_type": "code", "source": [ "import litellm\n", "import os\n", "from litellm import batch_completion\n", "\n", "# set your API_KEY\n", "os.environ['ANTHROPIC_API_KEY'] = \"\"" ], "metadata": { "id": "LOtI43snDrSK" }, "execution_count": 7, "outputs": [] }, { "cell_type": "markdown", "source": [ "## Calling `litellm.batch_completion`\n", "\n", "In the batch_completion method, you provide a list of messages where each sub-list of messages is passed to litellm.completion(), allowing you to process multiple prompts efficiently in a single API call." ], "metadata": { "id": "Xhv92NBaIpaw" } }, { "cell_type": "code", "source": [ "import litellm\n", "import os\n", "from litellm import batch_completion\n", "\n", "os.environ['ANTHROPIC_API_KEY'] = \"\"\n", "\n", "\n", "responses = batch_completion(\n", " model=\"claude-2\",\n", " messages = [\n", " [\n", " {\n", " \"role\": \"user\",\n", " \"content\": \"good morning? \"\n", " }\n", " ],\n", " [\n", " {\n", " \"role\": \"user\",\n", " \"content\": \"what's the time? \"\n", " }\n", " ]\n", " ]\n", ")\n", "responses" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "yY7GIRLsDywu", "outputId": "009ea67f-95d5-462b-947f-b0d21e60c5bb" }, "execution_count": 11, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[ JSON: {\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \" Good morning!\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"created\": 1694030351.309254,\n", " \"model\": \"claude-2\",\n", " \"usage\": {\n", " \"prompt_tokens\": 11,\n", " \"completion_tokens\": 3,\n", " \"total_tokens\": 14\n", " }\n", " },\n", " JSON: {\n", " \"choices\": [\n", " {\n", " \"finish_reason\": \"stop\",\n", " \"index\": 0,\n", " \"message\": {\n", " \"content\": \" I'm an AI assistant created by Anthropic. I don't actually have a concept of the current time.\",\n", " \"role\": \"assistant\",\n", " \"logprobs\": null\n", " }\n", " }\n", " ],\n", " \"created\": 1694030352.1215081,\n", " \"model\": \"claude-2\",\n", " \"usage\": {\n", " \"prompt_tokens\": 13,\n", " \"completion_tokens\": 22,\n", " \"total_tokens\": 35\n", " }\n", " }]" ] }, "metadata": {}, "execution_count": 11 } ] } ] }