File size: 1,271 Bytes
2531827
 
24ea58e
2531827
 
 
 
 
 
24ea58e
 
 
 
 
 
2531827
 
 
 
 
 
24ea58e
2531827
 
24ea58e
 
 
 
 
2531827
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import streamlit as st
from transformers import AutoModelForCausalLM, AutoTokenizer
from accelerate import Accelerator  # Import Accelerator from the accelerate library

def main():
    st.title("Chatbot with Hugging Face Model")

    model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    
    # Create an Accelerator instance
    accelerator = Accelerator()

    # Use the Accelerator for initializing the model
    model = AutoModelForCausalLM.from_pretrained(model_id, device_map=accelerator.device)

    user_input = st.text_input("User Input:", "What is your favourite condiment?")

    if st.button("Generate Response"):
        messages = [
            {"role": "user", "content": user_input},
            {"role": "assistant", "content": "Placeholder assistant message"}
        ]

        inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(accelerator.device)

        # Use the Accelerator for generating outputs
        with accelerator.device():
            outputs = model.generate(inputs, max_new_tokens=20)

        response = tokenizer.decode(outputs[0], skip_special_tokens=True)

        st.text_area("Assistant's Response:", response)

if __name__ == "__main__":
    main()