jrocha commited on
Commit
1bc3d53
·
verified ·
1 Parent(s): f35929a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -29
app.py CHANGED
@@ -3,14 +3,6 @@ import torch
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
4
  import pandas as pd
5
 
6
- # Load pretrained model and tokenizer
7
- model_name = "jrocha/tiny_llama"
8
- model = AutoModelForCausalLM.from_pretrained(model_name)
9
- tokenizer = AutoTokenizer.from_pretrained(model_name)
10
-
11
- # Load data
12
- df = pd.read_csv('splitted_df_jo.csv')
13
-
14
  # Function to prepare context
15
  def prepare_context():
16
  pubmed_information_column = df['section_text']
@@ -18,26 +10,29 @@ def prepare_context():
18
  for text in pubmed_information_column.tolist():
19
  objective_index = text.find("Objective")
20
  if objective_index != -1:
21
- cleaned_text = text[:objective_index]
22
- pubmed_information_cleaned += cleaned_text
23
  else:
24
- pubmed_information_cleaned += text
25
- max_length = 1000 # Adjust as needed
26
  return pubmed_information_cleaned[:max_length]
27
 
28
  # Function to generate answer
29
  def answer_question(question):
30
  pubmed_information_cleaned = prepare_context()
 
 
 
31
 
32
  # Prepare input sequence
33
  messages = [
34
- {
35
- "role": "system",
36
- "content": "You are a friendly chatbot who responds to questions about cancer. Please be considerate.",
37
- },
38
- {"role": "user", "content": question},
39
  ]
40
- prompt_with_pubmed = f"{pubmed_information_cleaned}\n\n" # Adjust formatting as needed
41
  prompt_with_pubmed += tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)
42
 
43
  # Generate response
@@ -51,7 +46,7 @@ def answer_question(question):
51
 
52
  def main():
53
  """"
54
- Initializes a Women Cancer ChatBot interface using Hugging Face models for question answering.
55
 
56
  This function loads a pretrained tokenizer and model from the Hugging Face model hub
57
  and creates a Gradio interface for the ChatBot. Users can input questions related to
@@ -63,15 +58,16 @@ def main():
63
  >>> main()
64
  """
65
  iface = gr.Interface(fn=answer_question,
66
- inputs=["text"],
67
- outputs=[gr.Textbox(label="Answer")],
68
- title="Women Cancer ChatBot",
69
- description="How can I help you?",
70
- examples=[
71
- ["What is breast cancer?"],
72
- ["What are treatments for cervical cancer?"]
73
- ])
74
-
75
  return iface.launch(debug = True, share=True)
76
 
77
- main()
 
 
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
4
  import pandas as pd
5
 
 
 
 
 
 
 
 
 
6
  # Function to prepare context
7
  def prepare_context():
8
  pubmed_information_column = df['section_text']
 
10
  for text in pubmed_information_column.tolist():
11
  objective_index = text.find("Objective")
12
  if objective_index != -1:
13
+ cleaned_text = text[:objective_index]
14
+ pubmed_information_cleaned += cleaned_text
15
  else:
16
+ pubmed_information_cleaned += text
17
+ max_length = 1000
18
  return pubmed_information_cleaned[:max_length]
19
 
20
  # Function to generate answer
21
  def answer_question(question):
22
  pubmed_information_cleaned = prepare_context()
23
+ model_name = "jrocha/tiny_llama"
24
+ model = AutoModelForCausalLM.from_pretrained(model_name)
25
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
26
 
27
  # Prepare input sequence
28
  messages = [
29
+ {
30
+ "role": "system",
31
+ "content": "You are a friendly chatbot who responds to questions about cancer. Please be considerate.",
32
+ },
33
+ {"role": "user", "content": question},
34
  ]
35
+ prompt_with_pubmed = f"{pubmed_information_cleaned}\n\n"
36
  prompt_with_pubmed += tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)
37
 
38
  # Generate response
 
46
 
47
  def main():
48
  """"
49
+ Initializes a Cancer ChatBot interface using Hugging Face models for question answering.
50
 
51
  This function loads a pretrained tokenizer and model from the Hugging Face model hub
52
  and creates a Gradio interface for the ChatBot. Users can input questions related to
 
58
  >>> main()
59
  """
60
  iface = gr.Interface(fn=answer_question,
61
+ inputs=["text"],
62
+ outputs=[gr.Textbox(label="Answer")],
63
+ title="Cancer ChatBot",
64
+ description="How can I help you?",
65
+ examples=[
66
+ ["What is prostate cancer?"],
67
+ ["What are treatments for cervical cancer?"]
68
+ ])
69
+
70
  return iface.launch(debug = True, share=True)
71
 
72
+ if __name__ == "__main__":
73
+ main()