From 6ff9e9b34afab9233ce1af2ae5377cd3181f59f3 Mon Sep 17 00:00:00 2001 From: Leonid Ganeline Date: Thu, 6 Jul 2023 12:04:37 -0700 Subject: [PATCH] updated `huggingface_hub` examples (#7292) Added examples for models: - Google `Flan` - TII `Falcon` - Salesforce `XGen` --- .../llms/integrations/huggingface_hub.ipynb | 206 +++++++++++++----- 1 file changed, 154 insertions(+), 52 deletions(-) diff --git a/docs/extras/modules/model_io/models/llms/integrations/huggingface_hub.ipynb b/docs/extras/modules/model_io/models/llms/integrations/huggingface_hub.ipynb index 170fcb7010..499652d263 100644 --- a/docs/extras/modules/model_io/models/llms/integrations/huggingface_hub.ipynb +++ b/docs/extras/modules/model_io/models/llms/integrations/huggingface_hub.ipynb @@ -1,20 +1,26 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "959300d4", "metadata": {}, "source": [ "# Hugging Face Hub\n", "\n", - "The [Hugging Face Hub](https://huggingface.co/docs/hub/index) is a platform with over 120k models, 20k datasets, and 50k demo apps (Spaces), all open source and publicly available, in an online platform where people can easily collaborate and build ML together.\n", + ">The [Hugging Face Hub](https://huggingface.co/docs/hub/index) is a platform with over 120k models, 20k datasets, and 50k demo apps (Spaces), all open source and publicly available, in an online platform where people can easily collaborate and build ML together.\n", "\n", - "This example showcases how to connect to the Hugging Face Hub." + "This example showcases how to connect to the `Hugging Face Hub` and use different models." + ] + }, + { + "cell_type": "markdown", + "id": "1ddafc6d-7d7c-48fa-838f-0e7f50895ce3", + "metadata": {}, + "source": [ + "## Installation and Setup" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "4c1b8450-5eaf-4d34-8341-2d785448a1ff", "metadata": { @@ -26,22 +32,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d772b637-de00-4663-bd77-9bc96d798db2", "metadata": { "tags": [] }, "outputs": [], "source": [ - "!pip install huggingface_hub > /dev/null" + "!pip install huggingface_hub" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "d597a792-354c-4ca5-b483-5965eec5d63d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + " ········\n" + ] + } + ], "source": [ "# get a token: https://huggingface.co/docs/api-inference/quicktour#get-your-api-token\n", "\n", @@ -52,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b8c5b88c-e4b8-4d0d-9a35-6e8f106452c2", "metadata": {}, "outputs": [], @@ -63,63 +77,101 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "84dd44c1-c428-41f3-a911-520281386c94", "metadata": {}, "source": [ - "**Select a Model**" + "## Prepare Examples" ] }, { "cell_type": "code", "execution_count": null, - "id": "39c7eeac-01c4-486b-9480-e828a9e73e78", - "metadata": { - "tags": [] - }, + "id": "3fe7d1d1-241d-426a-acff-e208f1088871", + "metadata": {}, "outputs": [], "source": [ - "from langchain import HuggingFaceHub\n", - "\n", - "repo_id = \"google/flan-t5-xxl\" # See https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads for some other options\n", - "\n", - "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})" + "from langchain import HuggingFaceHub" ] }, { "cell_type": "code", - "execution_count": null, - "id": "3acf0069", + "execution_count": 4, + "id": "6620f39b-3d32-4840-8931-ff7d2c3e47e8", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain import PromptTemplate, LLMChain" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "44adc1a0-9c0a-4f1e-af5a-fe04222e78d7", "metadata": {}, "outputs": [], "source": [ - "from langchain import PromptTemplate, LLMChain\n", + "question = \"Who won the FIFA World Cup in the year 1994? \"\n", "\n", "template = \"\"\"Question: {question}\n", "\n", "Answer: Let's think step by step.\"\"\"\n", - "prompt = PromptTemplate(template=template, input_variables=[\"question\"])\n", - "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", - "\n", - "question = \"Who won the FIFA World Cup in the year 1994? \"\n", "\n", - "print(llm_chain.run(question))" + "prompt = PromptTemplate(template=template, input_variables=[\"question\"])" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "ddaa06cf-95ec-48ce-b0ab-d892a7909693", "metadata": {}, "source": [ "## Examples\n", "\n", - "Below are some examples of models you can access through the Hugging Face Hub integration." + "Below are some examples of models you can access through the `Hugging Face Hub` integration." + ] + }, + { + "cell_type": "markdown", + "id": "4c16fded-70d1-42af-8bfa-6ddda9f0bc63", + "metadata": {}, + "source": [ + "### Flan, by Google" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "39c7eeac-01c4-486b-9480-e828a9e73e78", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "repo_id = \"google/flan-t5-xxl\" # See https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads for some other options" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3acf0069", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The FIFA World Cup was held in the year 1994. West Germany won the FIFA World Cup in 1994\n" + ] + } + ], + "source": [ + "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})\n", + "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", + "\n", + "print(llm_chain.run(question))" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "1a5c97af-89bc-4e59-95c1-223742a9160b", "metadata": {}, @@ -131,34 +183,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "521fcd2b-8e38-4920-b407-5c7d330411c9", "metadata": {}, "outputs": [], "source": [ - "from langchain import HuggingFaceHub\n", - "\n", - "repo_id = \"databricks/dolly-v2-3b\"\n", - "\n", - "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})" + "repo_id = \"databricks/dolly-v2-3b\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "9907ec3a-fe0c-4543-81c4-d42f9453f16c", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " First of all, the world cup was won by the Germany. Then the Argentina won the world cup in 2022. So, the Argentina won the world cup in 1994.\n", + "\n", + "\n", + "Question: Who\n" + ] + } + ], "source": [ - "# Reuse the prompt and question from above.\n", + "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})\n", "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", "print(llm_chain.run(question))" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "03f6ae52-b5f9-4de6-832c-551cb3fa11ae", "metadata": {}, @@ -170,17 +228,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "257a091d-750b-4910-ac08-fe1c7b3fd98b", "metadata": { "tags": [] }, "outputs": [], "source": [ - "from langchain import HuggingFaceHub\n", - "\n", - "repo_id = \"Writer/camel-5b-hf\" # See https://huggingface.co/Writer for other options\n", - "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})" + "repo_id = \"Writer/camel-5b-hf\" # See https://huggingface.co/Writer for other options" ] }, { @@ -190,27 +245,74 @@ "metadata": {}, "outputs": [], "source": [ - "# Reuse the prompt and question from above.\n", + "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})\n", "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", "print(llm_chain.run(question))" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "2bf838eb-1083-402f-b099-b07c452418c8", "metadata": {}, "source": [ - "**And many more!**" + "### XGen, by Salesforce\n", + "\n", + "See [more information](https://github.com/salesforce/xgen)." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "18c78880-65d7-41d0-9722-18090efb60e9", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "repo_id = \"Salesforce/xgen-7b-8k-base\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b1150b4-ec30-4674-849e-6a41b085aa2b", + "metadata": {}, + "outputs": [], + "source": [ + "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})\n", + "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", + "print(llm_chain.run(question))" + ] + }, + { + "cell_type": "markdown", + "id": "0aca9f9e-f333-449c-97b2-10d1dbf17e75", + "metadata": {}, + "source": [ + "### Falcon, by Technology Innovation Institute (TII)\n", + "\n", + "See [more information](https://huggingface.co/tiiuae/falcon-40b)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "496b35ac-5ee2-4b68-a6ce-232608f56c03", + "metadata": {}, + "outputs": [], + "source": [ + "repo_id = \"tiiuae/falcon-40b\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff2541ad-e394-4179-93c2-7ae9c4ca2a25", + "metadata": {}, + "outputs": [], + "source": [ + "llm = HuggingFaceHub(repo_id=repo_id, model_kwargs={\"temperature\": 0.5, \"max_length\": 64})\n", + "llm_chain = LLMChain(prompt=prompt, llm=llm)\n", + "print(llm_chain.run(question))" + ] } ], "metadata": { @@ -229,7 +331,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.2" + "version": "3.10.6" } }, "nbformat": 4,