import gradio as gr import os import requests from text_generation import Client HF_TOKEN = os.getenv('HF_TOKEN') ENDPOINT = os.getenv('INFERENCE_ENDPOINT') system_message = "\nYou are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\n\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information." if ENDPOINT: client = Client(ENDPOINT, headers={"Authorization": f"Bearer {HF_TOKEN}"}) def predict(message, chatbot): input_prompt = f"[INST] <>\n{system_message}\n<>\n\n " for interaction in chatbot: input_prompt = input_prompt + str(interaction[0]) + " [/INST] " + str(interaction[1]) + " [INST] " input_prompt = input_prompt + str(message) + " [/INST] " response = client.generate(input_prompt, max_new_tokens=256).generated_text return response interface = gr.ChatInterface(predict).queue(concurrency_count=75) with gr.Blocks() as demo: gr.Markdown(""" # Llama-2-13b-chat-hf Discord Bot Powered by Gradio and Hugging Face Endpoints Make sure you read the 'Inference Endpoints' section below first! 🦙 ### First install the `gradio_client` ```bash pip install gradio_client ``` ### Then deploy to discord in one line! ⚡️ ```python secrets = {"HF_TOKEN": "", "INFERENCE_ENDPOINT": ""} client = grc.Client.duplicate("gradio-discord-bots/Llama-2-13b-chat-hf", private=False, secrets=secrets, sleep_timeout=2880) client.deploy_discord(api_names=["chat"]) ``` """) with gr.Accordion(label="Inference Endpoints", open=False): gr.Markdown(""" ## Setting Up Inference Endpoints 💪 To deploy this space as a discord bot, you will need to deploy your own Llama model to Hugging Face Endpoints. Don't worry it's super easy! 1. Go to the [model page](https://huggingface.co/meta-llama/Llama-2-13b-chat-hf) 🦙 2. Click Deploy > Inference Endpoints drawing 3. Select your desired cloud provider and region ☁️ drawing 4. Optional: Set Automatic Scale to Zero. This will pause your endpoint after 15 minutes of inactivity to prevent unwanted billing. 💰 drawing 5. Create the endpoint! Copy the endpoint URL after it's complete. drawing """ ) gr.Markdown(""" Note: As a derivate work of [Llama-2-13b-chat-hf](https://huggingface.co/meta-llama/Llama-2-13b-chat-hf) by Meta, this demo is governed by the original [license](https://huggingface.co/spaces/ysharma/Explore_llamav2_with_TGI/blob/main/LICENSE.txt) and [acceptable use policy](https://huggingface.co/spaces/ysharma/Explore_llamav2_with_TGI/blob/main/USE_POLICY.md) """) with gr.Row(visible=False): interface.render() demo.queue(concurrency_count=70).launch()