You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
manifest/examples/manifest_azure.ipynb

150 lines
3.7 KiB
Plaintext

{
"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
}