YADUUG commited on
Commit
c27cb92
·
verified ·
1 Parent(s): c345366

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -48
app.py CHANGED
@@ -1,49 +1,56 @@
 
1
  import streamlit as st
2
- from huggingface_hub import InferenceClient
3
-
4
- global base_url
5
- global token
6
-
7
- # Initialize the Hugging Face Inference Client
8
- client = InferenceClient(
9
- base_url,
10
- token,
11
- )
12
-
13
- # Function to generate project tasks using LLaMA 3 8B
14
- def generate_project_tasks(domain):
15
- prompt = f"Create two simple project tasks for an internship in {domain}."
16
- tasks = ""
17
- for message in client.chat_completion(
18
- messages=[{"role": "user", "content": prompt}],
19
- max_tokens=500,
20
- stream=True,
21
- ):
22
- tasks += message.choices[0].delta.content
23
- return tasks
24
-
25
- # Streamlit app layout
26
- st.title("AI Internship Task Generator")
27
- st.write("Enter the internship domain to generate two project tasks:")
28
-
29
- # Input field for internship domain
30
- domain = st.text_input("Internship Domain", "")
31
-
32
- # Button to generate tasks
33
- if st.button("Generate Tasks"):
34
- if domain:
35
- # Generate tasks and display them
36
- tasks = generate_project_tasks(domain)
37
- st.write("### Generated Project Tasks")
38
- st.write(tasks)
39
-
40
- # Save tasks to a text file
41
- file_name = f"{domain}_project_tasks.txt"
42
- with open(file_name, "w") as file:
43
- file.write(tasks)
44
-
45
- st.write(f"Tasks have been saved to {file_name}.")
46
-
47
- else:
48
- st.error("Please enter a domain.")
49
-
 
 
 
 
 
 
 
1
+ import os
2
  import streamlit as st
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM
4
+
5
+ # Load model and tokenizer
6
+ def load_model(model_name):
7
+ global model
8
+ global tokenizer
9
+ model = AutoModelForCausalLM.from_pretrained(model_name)
10
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
11
+
12
+ # Generate response based on input text
13
+ def generate_response(input_text):
14
+ input_ids = tokenizer.encode(input_text, return_tensors="pt")
15
+ output_ids = model.generate(
16
+ input_ids,
17
+ no_repeat_ngram_size=2,
18
+ max_new_tokens=200,
19
+ num_beams=2,
20
+ eos_token_id=tokenizer.eos_token_id
21
+ )
22
+ return tokenizer.decode(output_ids[0], skip_special_tokens=True)
23
+
24
+ # Streamlit app
25
+ def main():
26
+ # Fetch the model name and token from environment variables
27
+ model_name = os.getenv("MODEL_NAME", "meta-llama/Meta-Llama-3-8B")
28
+ hf_token = os.getenv("HF_TOKEN")
29
+
30
+ # Verify if the token is set
31
+ if not hf_token:
32
+ st.error("Hugging Face token not found. Please set it in your environment variables.")
33
+ return
34
+
35
+ # Load the model
36
+ load_model(model_name)
37
+
38
+ st.title("AI Internship Task Generator")
39
+ st.write("Enter an internship domain to generate tasks.")
40
+
41
+ # Input field for the internship domain
42
+ input_text = st.text_input("Enter Internship Domain:")
43
+
44
+ # Button to generate tasks
45
+ if st.button("Generate Tasks"):
46
+ if input_text:
47
+ with st.spinner("Generating tasks..."):
48
+ # Generate response using the model
49
+ response = generate_response(input_text)
50
+ st.write("**Generated Tasks:**")
51
+ st.write(response)
52
+ else:
53
+ st.warning("Please enter an internship domain.")
54
+
55
+ if __name__ == "__main__":
56
+ main()