sounar's picture
Update app.py
832ce7b verified
raw
history blame
1.71 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import os
# Retrieve the token from environment variables
api_token = os.getenv("HF_TOKEN")
# Load the Hugging Face model and tokenizer with authentication
model_name = "ContactDoctor/Bio-Medical-MultiModal-Llama-3-8B-V1"
tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=api_token)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, use_auth_token=api_token)
# Define the function to process user input
def generate_response(input_text):
try:
# Tokenize the input text
inputs = tokenizer(input_text, return_tensors="pt")
# Generate a response using the model
outputs = model.generate(
inputs["input_ids"],
max_length=256, # Limit the output length
num_return_sequences=1, # Generate a single response
temperature=0.7, # Adjust for creativity vs. determinism
top_p=0.9, # Nucleus sampling
top_k=50 # Top-k sampling
)
# Decode and return the generated text
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response
except Exception as e:
return f"Error: {str(e)}"
# Create a Gradio interface with API enabled
iface = gr.Interface(
fn=generate_response,
inputs="text",
outputs="text",
title="ContactDoctor Medical Assistant",
description="Provide input symptoms or queries and get AI-powered medical advice.",
enable_api=True # Enables API for external calls
)
# Launch the Gradio app
if __name__ == "__main__":
iface.launch()