| | import gradio as gr |
| | from transformers import AutoTokenizer, AutoModelForCausalLM |
| |
|
| | |
| | model_name = "meta-llama/Llama-2-7b-hf" |
| |
|
| | |
| | token = 'HUGGINGFACE_TOKEN' |
| |
|
| | |
| | tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=token) |
| | model = AutoModelForCausalLM.from_pretrained(model_name, use_auth_token=token) |
| |
|
| | |
| | def generate_response(user_input, chat_history=None): |
| | if chat_history is None: |
| | chat_history = [] |
| | |
| | |
| | input_text = user_input + ' ' |
| |
|
| | |
| | inputs = tokenizer.encode(input_text, return_tensors="pt") |
| |
|
| | |
| | outputs = model.generate(inputs, max_length=150, num_return_sequences=1, no_repeat_ngram_size=2, pad_token_id=tokenizer.eos_token_id) |
| |
|
| | |
| | response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
| | |
| | |
| | chat_history.append((user_input, response)) |
| | |
| | |
| | return response, chat_history |
| |
|
| | |
| | def respond(user_input, chat_history=None): |
| | response, chat_history = generate_response(user_input, chat_history) |
| | return response, chat_history |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=respond, |
| | inputs=[ |
| | gr.Textbox(label="Your Message", placeholder="Ask me anything!", lines=2), |
| | gr.State() |
| | ], |
| | outputs=[ |
| | gr.Textbox(label="Response", lines=3), |
| | gr.State() |
| | ], |
| | title="Llama-2 Chatbot", |
| | description="Ask me anything, and I'll respond using Llama-2 model.", |
| | live=True |
| | ) |
| |
|
| | |
| | iface.launch() |
| |
|