{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "AZURE_KEY = \"API_KEY::URL\"\n", "OPENAI_KEY = \"sk-XXX\"" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Use Azure and OpenAI models" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from manifest import Manifest\n", "from manifest.connections.client_pool import ClientConnection\n", "from pathlib import Path\n", "\n", "cache_path = Path(\"manifest.db\")\n", "if cache_path.exists():\n", " cache_path.unlink()\n", "\n", "\n", "azure = ClientConnection(\n", " client_name=\"azureopenai\",\n", " client_connection=AZURE_KEY,\n", " engine=\"text-davinci-003\",\n", ")\n", "\n", "manifest = Manifest(client_pool=[azure], \n", " cache_name=\"sqlite\",\n", " cache_connection=\"manifest.db\"\n", ")\n", "\n", "\n", "openai = ClientConnection(\n", " client_name=\"openai\",\n", " client_connection=OPENAI_KEY,\n", " engine=\"text-davinci-003\",\n", ")\n", "\n", "manifest_openai_nocache = Manifest(client_pool=[openai])\n", "\n", "manifest_openai = Manifest(client_pool=[openai], \n", " cache_name=\"sqlite\",\n", " cache_connection=\"manifest.db\"\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Show caches are the same\n", "text = \"What is the meaning of life?\"\n", "res = manifest.run(text, max_tokens=100, temperature=0.7, return_response=True)\n", "print(res.get_response())\n", "print(res.is_cached())\n", "res2 = manifest_openai.run(text, max_tokens=100, temperature=0.7, return_response=True)\n", "print(res2.is_cached())\n", "\n", "assert res2.get_response() == res.get_response()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "azure_chat = ClientConnection(\n", " client_name=\"azureopenaichat\",\n", " client_connection=AZURE_KEY,\n", " engine=\"gpt-3.5-turbo\",\n", ")\n", "\n", "manifest = Manifest(client_pool=[azure_chat])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(manifest.run(\"What do you think is the best food?\", max_tokens=100))\n", "\n", "chat_dict = [\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", " {\"role\": \"user\", \"content\": \"Who won the world series in 2020?\"},\n", " {\"role\": \"assistant\", \"content\": \"The Los Angeles Dodgers won the World Series in 2020.\"},\n", " {\"role\": \"user\", \"content\": \"Where was it played?\"}\n", "]\n", "print(manifest.run(chat_dict, max_tokens=100))" ] } ], "metadata": { "kernelspec": { "display_name": "manifest", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.4" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "fddffe4ac3b9f00470127629076101c1b5f38ecb1e7358b567d19305425e9491" } } }, "nbformat": 4, "nbformat_minor": 2 }