{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"Open" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# DashScope Embeddings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you're opening this Notebook on colab, you will probably need to install LlamaIndex 🦙." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%pip install llama-index-core\n", "%pip install llama-index-embeddings-dashscope" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Set API key\n", "%env DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY\n", "\n", "# you can set API key parameter DashScopeTextEmbedding(model=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V2, api_key=api_key)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension of embeddings: 1536\n", "Input: 风急天高猿啸哀, embedding is: [-0.0016666285653348784, 0.008690492014557004, 0.02894828715284365, -0.01774133615134858, 0.03627544697161321]\n", "Dimension of embeddings: 1536\n", "Input: 渚清沙白鸟飞回, embedding is: [0.018255604113922633, 0.030631669725945727, 0.0031333343045102462, 0.014323813963475412, 0.009666154862176396]\n", "Dimension of embeddings: 1536\n", "Input: 无边落木萧萧下, embedding is: [-0.01270165436681136, 0.011355212676752505, -0.007090375205285297, 0.008317427977013809, 0.0341982923839579]\n", "Dimension of embeddings: 1536\n", "Input: 不尽长江滚滚来, embedding is: [0.003449439128962428, 0.02667092110022496, -0.0010223853088419568, -0.00971414215183749, 0.0035561228133633277]\n" ] } ], "source": [ "# imports\n", "from llama_index.embeddings.dashscope import (\n", " DashScopeEmbedding,\n", " DashScopeTextEmbeddingModels,\n", " DashScopeTextEmbeddingType,\n", ")\n", "\n", "# Create embeddings\n", "# text_type=`document` to build index\n", "embedder = DashScopeEmbedding(\n", " model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V2,\n", " text_type=DashScopeTextEmbeddingType.TEXT_TYPE_DOCUMENT,\n", ")\n", "text_to_embedding = [\"风急天高猿啸哀\", \"渚清沙白鸟飞回\", \"无边落木萧萧下\", \"不尽长江滚滚来\"]\n", "# Call text Embedding\n", "result_embeddings = embedder.get_text_embedding_batch(text_to_embedding)\n", "# requests and embedding result index is correspond to.\n", "for index, embedding in enumerate(result_embeddings):\n", " if embedding is None: # if the correspondence request is embedding failed.\n", " print(\"The %s embedding failed.\" % text_to_embedding[index])\n", " else:\n", " print(\"Dimension of embeddings: %s\" % len(embedding))\n", " print(\n", " \"Input: %s, embedding is: %s\"\n", " % (text_to_embedding[index], embedding[:5])\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension of embeddings: 1536\n", "[-0.00838587212517078, 0.01004877272531103, 0.0015754734226650637, -0.04273583173235969, -0.05209946086276315]\n" ] } ], "source": [ "# imports\n", "from llama_index.embeddings.dashscope import (\n", " DashScopeEmbedding,\n", " DashScopeTextEmbeddingModels,\n", " DashScopeTextEmbeddingType,\n", ")\n", "\n", "# Create embeddings\n", "# text_type=`query` to retrive relevant context.\n", "embedder = DashScopeEmbedding(\n", " model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V2,\n", " text_type=DashScopeTextEmbeddingType.TEXT_TYPE_QUERY,\n", ")\n", "# Call text Embedding\n", "embedding = embedder.get_text_embedding(\"衣服的质量杠杠的,很漂亮,不枉我等了这么久啊,喜欢,以后还来这里买\")\n", "print(f\"Dimension of embeddings: {len(embedding)}\")\n", "print(embedding[:5])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/5fc5c860/2024-01-29/644ccedb-0b14-481c-a975-16bb5249282d_output_1706517940902.txt.gz?Expires=1706777144&OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4G8qL&Signature=g%2B0qcmOSwxEj8Cb2zXlvBbA6Fas%3D\n" ] } ], "source": [ "# call batch text embedding\n", "from llama_index.embeddings.dashscope import (\n", " DashScopeEmbedding,\n", " DashScopeBatchTextEmbeddingModels,\n", " DashScopeTextEmbeddingType,\n", ")\n", "\n", "embedder = DashScopeEmbedding(\n", " model_name=DashScopeBatchTextEmbeddingModels.TEXT_EMBEDDING_ASYNC_V2,\n", " text_type=DashScopeTextEmbeddingType.TEXT_TYPE_DOCUMENT,\n", ")\n", "\n", "embedding_result_file_url = embedder.get_batch_text_embedding(\n", " embedding_file_url=\"https://dashscope.oss-cn-beijing.aliyuncs.com/samples/text/text-embedding-test.txt\"\n", ")\n", "print(embedding_result_file_url)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension of embeddings: 1536\n", "[-0.03515625, 0.05035400390625, 0.008087158203125, 0.0163116455078125, 0.01064300537109375]\n" ] } ], "source": [ "# call multimodal embedding service\n", "from llama_index.embeddings.dashscope import (\n", " DashScopeEmbedding,\n", " DashScopeMultiModalEmbeddingModels,\n", ")\n", "\n", "embedder = DashScopeEmbedding(\n", " model_name=DashScopeMultiModalEmbeddingModels.MULTIMODAL_EMBEDDING_ONE_PEACE_V1,\n", ")\n", "\n", "embedding = embedder.get_image_embedding(\n", " img_file_path=\"https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png\"\n", ")\n", "print(f\"Dimension of embeddings: {len(embedding)}\")\n", "print(embedding[:5])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimension of embeddings: 1536\n", "[-0.0200169887393713, 0.041749317198991776, 0.01004155445843935, 0.03983306884765625, -0.006652673240751028]\n" ] } ], "source": [ "# call multimodal embedding service\n", "from llama_index.embeddings.dashscope import (\n", " DashScopeEmbedding,\n", " DashScopeMultiModalEmbeddingModels,\n", ")\n", "\n", "embedder = DashScopeEmbedding(\n", " model_name=DashScopeMultiModalEmbeddingModels.MULTIMODAL_EMBEDDING_ONE_PEACE_V1,\n", ")\n", "\n", "input = [\n", " {\"factor\": 1, \"text\": \"你好\"},\n", " {\n", " \"factor\": 2,\n", " \"audio\": \"https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac\",\n", " },\n", " {\n", " \"factor\": 3,\n", " \"image\": \"https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png\",\n", " },\n", "]\n", "\n", "embedding = embedder.get_multimodal_embedding(input=input)\n", "print(f\"Dimension of embeddings: {len(embedding)}\")\n", "print(embedding[:5])" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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" }, "vscode": { "interpreter": { "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" } } }, "nbformat": 4, "nbformat_minor": 4 }