Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -3,13 +3,22 @@ import streamlit as st
|
|
3 |
# import ollama
|
4 |
import transformers
|
5 |
import torch
|
6 |
-
|
7 |
-
login()
|
8 |
model_id = "meta-llama/Meta-Llama-3-8B"
|
|
|
|
|
9 |
pipeline = transformers.pipeline(
|
10 |
-
"text-generation",
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
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 |
-
|
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 |
-
|
|
|
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 |
-
|
|
|
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)
|