{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Embedding Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Launch A Server" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Embedding server is ready. Proceeding with the next steps.\n" ] } ], "source": [ "# Equivalent to running this in the shell:\n", "# python -m sglang.launch_server --model-path Alibaba-NLP/gte-Qwen2-7B-instruct --port 30010 --host 0.0.0.0 --is-embedding --log-level error\n", "from sglang.utils import execute_shell_command, wait_for_server, terminate_process\n", "\n", "embedding_process = execute_shell_command(\"\"\"\n", "python -m sglang.launch_server --model-path Alibaba-NLP/gte-Qwen2-7B-instruct \\\n", " --port 30010 --host 0.0.0.0 --is-embedding --log-level error\n", "\"\"\")\n", "\n", "wait_for_server(\"http://localhost:30010\")\n", "\n", "print(\"Embedding server is ready. Proceeding with the next steps.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use Curl" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.0083160400390625, 0.0006804466247558594, -0.00809478759765625, -0.0006995201110839844, 0.0143890380859375, -0.0090179443359375, 0.01238250732421875, 0.00209808349609375, 0.0062103271484375, -0.003047943115234375]\n" ] } ], "source": [ "# Get the first 10 elements of the embedding\n", "\n", "! curl -s http://localhost:30010/v1/embeddings \\\n", " -H \"Content-Type: application/json\" \\\n", " -H \"Authorization: Bearer None\" \\\n", " -d '{\"model\": \"Alibaba-NLP/gte-Qwen2-7B-instruct\", \"input\": \"Once upon a time\"}' \\\n", " | python3 -c \"import sys, json; print(json.load(sys.stdin)['data'][0]['embedding'][:10])\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using OpenAI Compatible API" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.00603485107421875, -0.0190582275390625, -0.01273345947265625, 0.01552581787109375, 0.0066680908203125, -0.0135955810546875, 0.01131439208984375, 0.0013713836669921875, -0.0089874267578125, 0.021759033203125]\n" ] } ], "source": [ "import openai\n", "\n", "client = openai.Client(\n", " base_url=\"http://127.0.0.1:30010/v1\", api_key=\"None\"\n", ")\n", "\n", "# Text embedding example\n", "response = client.embeddings.create(\n", " model=\"Alibaba-NLP/gte-Qwen2-7B-instruct\",\n", " input=\"How are you today\",\n", ")\n", "\n", "embedding = response.data[0].embedding[:10]\n", "print(embedding)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "terminate_process(embedding_process)" ] } ], "metadata": { "kernelspec": { "display_name": "AlphaMeemory", "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.11.7" } }, "nbformat": 4, "nbformat_minor": 2 }