{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Use OpenAI\n", "\n", "Set you `OPENAI_API_KEY` environment variable." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'model_name': 'openaiembedding', 'engine': 'text-embedding-ada-002'}\n" ] } ], "source": [ "from manifest import Manifest\n", "\n", "manifest = Manifest(client_name=\"openaiembedding\")\n", "print(manifest.client_pool.get_next_client().get_model_params())" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1536,)\n" ] } ], "source": [ "emb = manifest.run(\"Is this an embedding?\")\n", "print(emb.shape)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Using Locally Hosted Huggingface LM\n", "\n", "Run\n", "```\n", "python3 manifest/api/app.py --model_type huggingface --model_name_or_path EleutherAI/gpt-neo-125M --device 0\n", "```\n", "or\n", "```\n", "python3 manifest/api/app.py --model_type sentence_transformers --model_name_or_path all-mpnet-base-v2 --device 0\n", "```\n", "\n", "in a separate `screen` or `tmux`. Make sure to note the port. You can change this with `export FLASK_PORT=`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'model_name': 'all-mpnet-base-v2', 'model_path': 'all-mpnet-base-v2', 'client_name': 'huggingfaceembedding'}\n" ] } ], "source": [ "from manifest import Manifest\n", "\n", "# Local hosted GPT Neo 125M\n", "manifest = Manifest(\n", " client_name=\"huggingfaceembedding\",\n", " client_connection=\"http://127.0.0.1:6000\",\n", " cache_name=\"sqlite\",\n", " cache_connection=\"my_sqlite_manifest.sqlite\"\n", ")\n", "print(manifest.client_pool.get_next_client().get_model_params())" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(768,)\n", "(768,) (768,)\n" ] } ], "source": [ "emb = manifest.run(\"Is this an embedding?\")\n", "print(emb.shape)\n", "\n", "emb = manifest.run([\"Is this an embedding?\", \"Bananas!!!\"])\n", "print(emb[0].shape, emb[1].shape)" ] } ], "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 }