SrijitMukherjee commited on
Commit
2f94dae
·
verified ·
1 Parent(s): 135f4d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -9
app.py CHANGED
@@ -3,13 +3,22 @@ import streamlit as st
3
  # import ollama
4
  import transformers
5
  import torch
6
- from huggingface_hub import login
7
- login()
8
  model_id = "meta-llama/Meta-Llama-3-8B"
 
 
9
  pipeline = transformers.pipeline(
10
- "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto"
 
 
 
11
  )
12
 
 
 
 
 
 
13
  # Load your CSV file
14
  df = pd.read_csv("your_file.csv")
15
 
@@ -19,25 +28,37 @@ df = pd.read_csv("your_file.csv")
19
  # return response['message']['content']
20
 
21
  def generate_response(question):
22
- response = pipeline(questions)
 
 
 
 
 
 
 
 
23
  return response
24
 
25
  # Define the functions for solving problems, giving hints, and creating similar problems
26
  def show_problem(exam, year, problem):
27
  problem_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["problem"].values[0]
28
- return generate_response(f"Render the following problem in latex: '{problem_statement}'.")
 
29
 
30
  def solve_problem(exam, year, problem):
31
  solution_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["solution"].values[0]
32
- return generate_response(f"Explain the solution: {solution_statement} step by step.")
33
-
 
34
  def give_hints(exam, year, problem):
35
  solution_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["solution"].values[0]
36
- return generate_response(f"Give step by step hints for the following solution: {solution_statement}")
 
37
 
38
  def create_similar_problem(exam, year, problem):
39
  problem_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["problem"].values[0]
40
- return generate_response(f" You are an AI assistant of a Statistics, Probability, and Mathematics University Professor. Your only job is to create mcq problem. Create a mcq problem similar to the following mcq problem: {problem_statement}")
 
41
 
42
  # Streamlit interface
43
  st.markdown("<h1 style='text-align: center;'>Cheenta Academy Experts x AI</h1>", unsafe_allow_html=True)
 
3
  # import ollama
4
  import transformers
5
  import torch
6
+
 
7
  model_id = "meta-llama/Meta-Llama-3-8B"
8
+ #model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
9
+
10
  pipeline = transformers.pipeline(
11
+ "text-generation",
12
+ model=model_id,
13
+ model_kwargs={"torch_dtype": torch.bfloat16},
14
+ device_map="auto",
15
  )
16
 
17
+ terminators = [
18
+ pipeline.tokenizer.eos_token_id,
19
+ pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
20
+ ]
21
+
22
  # Load your CSV file
23
  df = pd.read_csv("your_file.csv")
24
 
 
28
  # return response['message']['content']
29
 
30
  def generate_response(question):
31
+ outputs = pipeline(
32
+ question,
33
+ max_new_tokens=256,
34
+ eos_token_id=terminators,
35
+ do_sample=True,
36
+ temperature=0.6,
37
+ top_p=0.9,
38
+ )
39
+ response = (outputs[0]["generated_text"][-1])
40
  return response
41
 
42
  # Define the functions for solving problems, giving hints, and creating similar problems
43
  def show_problem(exam, year, problem):
44
  problem_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["problem"].values[0]
45
+ prompt = [{"role": "user", "content": "Render the following problem in latex:" + problem_statement}]
46
+ return generate_response(prompt)
47
 
48
  def solve_problem(exam, year, problem):
49
  solution_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["solution"].values[0]
50
+ prompt = [{"role": "user", "content": "Explain the solution:" + solution_statement + "step by step."}]
51
+ return generate_response(prompt)
52
+
53
  def give_hints(exam, year, problem):
54
  solution_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["solution"].values[0]
55
+ prompt = [{"role": "user", "content": "Give step by step hints for the following solution:" + solution_statement}]
56
+ return generate_response(prompt)
57
 
58
  def create_similar_problem(exam, year, problem):
59
  problem_statement = df[(df["exam name"] == exam) & (df["year"] == year) & (df["problem number"] == problem)]["problem"].values[0]
60
+ prompt = [{"role": "user", "content": "You are an AI assistant of a Statistics, Probability, and Mathematics University Professor. Your only job is to create mcq problem. Create a mcq problem similar to the following mcq problem" + problem_statement"}]
61
+ return generate_response(prompt)
62
 
63
  # Streamlit interface
64
  st.markdown("<h1 style='text-align: center;'>Cheenta Academy Experts x AI</h1>", unsafe_allow_html=True)