from huggingface_hub import InferenceClient, login from transformers import AutoTokenizer from langchain.chat_models import ChatOpenAI import os, sys, json import gradio as gr # access token with permission to access the model and PRO subscription #HUGGINGFACEHUB_API_TOKEN = os.getenv("HF_ACCESS_READ") OAI_API_KEY=os.getenv("OPENAI_API_KEY") login(token=os.environ["HF_ACCESS_READ"]) # tokenizer for generating prompt print ("Tokenizer") tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-70b-chat-hf") # inference client print ("Inf.Client") client = InferenceClient("https://api-inference.huggingface.co/models/meta-llama/Llama-2-70b-chat-hf") # generate function def generate(text): payload = tokenizer.apply_chat_template([{"role":"user","content":text}],tokenize=False) res = client.text_generation( payload, do_sample=True, return_full_text=False, max_new_tokens=2048, top_p=0.9, temperature=0.6, ) print (res) return res.strip() # test client #assert generate("What is 2+2?") == "The answer to 2+2 is 4." # create evaluator #assert OAI_API_KEY is not None, "Please set OPENAI_API_KEY environment variable" evaluation_llm = ChatOpenAI(model="gpt-4") ################################################ #GUI ############################################### #Beschreibung oben in GUI ################################################ chatbot_stream = gr.Chatbot() chat_interface_stream = gr.ChatInterface(fn=generate, title = "ChatGPT vom LI", theme="soft", chatbot=chatbot_stream, retry_btn="🔄 Wiederholen", undo_btn="↩️ Letztes löschen", clear_btn="🗑️ Verlauf löschen", submit_btn = "Abschicken", ) with gr.Blocks() as demo: with gr.Tab("Chatbot"): #chatbot_stream.like(vote, None, None) chat_interface_stream.queue().launch()