Ann-codebytes/LLM_experiments_by_Ann
0
1import streamlit as st2from langchain_community.document_loaders import WebBaseLoader3from LangChainConnect import LangChainConnect4 5class CoverLetterGenerator:6 def __init__(self):7 st.title('Cover letter generator')8 self.url_input=st.text_input("Enter URL for the job:", value="")9 self.tell_about_yourself_name=st.text_input("Your name:", value="")10 self.tell_about_yourself_experience=st.text_input("Years of experience:", value="")11 self.submit_button = st.button("submit")12 self.lang_chain_connect = LangChainConnect()13 14 def check_button_click(self):15 if self.submit_button:16 try:17 cover_letter_content = self.generate_cover_letter()18 st.code(f"{cover_letter_content}", language='markdown')19 except Exception as e:20 raise Exception(f"Exception occured {e}")21 22 def generate_cover_letter(self):23 loader = WebBaseLoader([self.url_input])24 docs=loader.load().pop().page_content25 json_content_description = self.lang_chain_connect.extract_job_content(docs)26 cover_letter_content = self.lang_chain_connect.write_cover_letter(json_content_description,"sample",self.tell_about_yourself_name,self.tell_about_yourself_experience,self.url_input)27 return cover_letter_content28 29 30if __name__ == "__main__":31 cover_letter = CoverLetterGenerator()32 cover_letter.check_button_click()