File size: 1,583 Bytes
6d18d8f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from langchain.prompts import PromptTemplate
from langchain.llms import CTransformers


### Function to get response from the llama model

def getLLamaresponse(input_text, no_words, blog_style):



    #llama Model
    llm = CTransformers(model="models\llama-2-7b-chat.ggmlv3.q8_0.bin",model_type="llama", 
                        config={"max_new_tokens":256, "temperature":0.01})

    #Prompt Template
    template="""
        write a blog for {blog_style} job profile for a topic {input_text} within {no_words} words.    
        """   
    
    prompt = PromptTemplate(input_variables=['blog_style', 'input_text', 'no_words'], template=template)

    #Generate the response
    response = llm(prompt.format(blog_style=blog_style, input_text=input_text, no_words=no_words))
    print(response)
    return response
    


st.set_page_config(
    page_title="Blog Generation",
    page_icon="", 
    layout="centered", 
    initial_sidebar_state="collapsed")

st.header("Blog Generation")

input_text = st.text_input("Enter the text you want to generate a blog on") 

## Creating 2 more field
## 1. Number of words to generate
## 2. Number of blogs to generate
col_1, col_2 = st.columns([5,5])
with col_1:
    num_words = st.number_input("Enter the number of words to generate", min_value=10, max_value=1000, value=100)
with col_2:
    blog_style = st.selectbox("Select the blog style", ["researchers", "layman", "technical_audience"], index=0)

submit = st.button("Generate Blog")

if submit:
    st.write(getLLamaresponse(input_text, num_words, blog_style))