{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Huggingface TextGen Inference\n", "\n", "[Text Generation Inference](https://github.com/huggingface/text-generation-inference) is a Rust, Python and gRPC server for text generation inference. Used in production at [HuggingFace](https://huggingface.co/) to power LLMs api-inference widgets.\n", "\n", "This notebooks goes over how to use a self hosted LLM using `Text Generation Inference`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To use, you should have the `text_generation` python package installed." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "tags": [] }, "outputs": [], "source": [ "# !pip3 install text_generation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from langchain.llms import HuggingFaceTextGenInference\n", "\n", "llm = HuggingFaceTextGenInference(\n", " inference_server_url=\"http://localhost:8010/\",\n", " max_new_tokens=512,\n", " top_k=10,\n", " top_p=0.95,\n", " typical_p=0.95,\n", " temperature=0.01,\n", " repetition_penalty=1.03,\n", ")\n", "llm(\"What did foo say about bar?\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Streaming" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from langchain.llms import HuggingFaceTextGenInference\n", "from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler\n", "\n", "\n", "llm = HuggingFaceTextGenInference(\n", " inference_server_url=\"http://localhost:8010/\",\n", " max_new_tokens=512,\n", " top_k=10,\n", " top_p=0.95,\n", " typical_p=0.95,\n", " temperature=0.01,\n", " repetition_penalty=1.03,\n", " stream=True\n", ")\n", "llm(\"What did foo say about bar?\", callbacks=[StreamingStdOutCallbackHandler()])" ] } ], "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", "version": "3.11.3" }, "vscode": { "interpreter": { "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" } } }, "nbformat": 4, "nbformat_minor": 4 }