Spaces:
Paused
Paused
File size: 1,953 Bytes
882bd69 832ce7b 882bd69 fa9231d 5f6d422 832ce7b fa9231d 882bd69 832ce7b fa9231d 9998c92 0b2a88c fa9231d 0b2a88c fa9231d 9998c92 0b2a88c fa9231d 882bd69 9998c92 882bd69 0b2a88c 882bd69 9998c92 882bd69 9998c92 882bd69 0b2a88c 882bd69 |
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
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").strip()
# Model name
model_name = "ContactDoctor/Bio-Medical-MultiModal-Llama-3-8B-V1"
# Load the Hugging Face model and tokenizer with required arguments
tokenizer = AutoTokenizer.from_pretrained(
model_name,
token=api_token, # Authenticate with Hugging Face token
trust_remote_code=True # Allow custom code from the repository
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
token=api_token,
trust_remote_code=True,
device_map="auto", # Efficient device allocation
torch_dtype=torch.float16 # Mixed precision for faster inference
)
# 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()
|