Spaces:
Sleeping
Sleeping
Download app.py from ramzan118/AI-Project: direct link, hf CLI and curl.
- Browser
- Download file 1.28 kB
-
https://huggingface.co/spaces/ramzan118/AI-Project/resolve/main/app.py
- Command line
-
hf download hf://spaces/ramzan118/AI-Project/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ramzan118/AI-Project/resolve/main/app.py
1.28 kB
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| # Load GODEL model and tokenizer | |
| tokenizer = AutoTokenizer.from_pretrained("microsoft/GODEL-v1_1-base-seq2seq") | |
| model = AutoModelForSeq2SeqLM.from_pretrained("microsoft/GODEL-v1_1-base-seq2seq") | |
| # Define the chatbot function | |
| def generate_response(message, history): | |
| # Format dialog history | |
| dialog = [turn["content"] for turn in history if turn["role"] == "user"] | |
| dialog.append(message) | |
| dialog_text = " EOS ".join(dialog) | |
| # GODEL expects an instruction and context | |
| instruction = "Instruction: given a dialog context, respond appropriately." | |
| query = f"{instruction} [CONTEXT] {dialog_text}" | |
| # Tokenize and generate | |
| input_ids = tokenizer(query, return_tensors="pt").input_ids | |
| output_ids = model.generate( | |
| input_ids, | |
| max_length=128, | |
| do_sample=True, | |
| top_p=0.9, | |
| temperature=0.7 | |
| ) | |
| response = tokenizer.decode(output_ids[0], skip_special_tokens=True) | |
| return {"role": "assistant", "content": response} | |
| # Launch the chatbot | |
| gr.ChatInterface( | |
| fn=generate_response, | |
| title="Muhammad’s GODEL Chatbot", | |
| description="A grounded chatbot powered by Microsoft's GODEL model.", | |
| type="messages" | |
| ).launch() | |