from crew.til import TilCrew import streamlit as st from streamlit_extras.capture import stdout # crew = TilCrew() # results = crew.kickoff(inputs={"content": "Today I learnt Sidecar pattern"}) # results = crew.kickoff(inputs={"content": "Learnt about go-lang routines to add concurrency in the React App."}) # results = crew.kickoff(inputs={"content": "Upon delving into the intricacies of Docker, I have acquired the capability to encapsulate our application within containers, thereby streamlining the deployment process across a multitude of heterogeneous environments."}) # print(results) def main(): st.set_page_config(page_title='Today I Learnt', page_icon='📰', layout='wide') st.markdown("
", unsafe_allow_html=True) st.markdown( """

Today I Learnt Feedback

Feedback on Today I Learnt

""", unsafe_allow_html=True ) til_content = st.text_area('Enter what you learnt today:', "My notes on Synthetic data:\n" "What: Synthetic data is information that is not generated by real-world occurrences but is artificially generated. " "Why is it needed? Product Testing, Training ML Algos, Reduced constraints when using reglated data." "Types: Fully Synthetic data, Partially Synthetic data" "Varities: Text, Tabular, Media." "Benchmarks to consider: Accuracy, Privacy." "Notes from https://www.turing.com/kb/synthetic-data-generation-techniques." "Techniques: Statistical distribution, Agent to model, Using Deep Learning/Generative AI, Synthetic Minority Oversampling Technique.", key='til_content', help='Enter what you learnt today', height=300) if st.button("Get Feedback"): with st.status( "🤖 **Analysing TIL...**", state="running", expanded=True ) as status: with st.container(height=500, border=False): log_container = st.empty() with stdout(log_container.code, terminator=""): feedback = TilCrew() inputs = {"notes": til_content} results = feedback.kickoff(inputs=inputs) status.update( label="✅ Feedback ready!", state="complete", expanded=False, ) for result in results: # st.markdown(result) st.markdown(f"#### TIL: {result['til']}") st.markdown(f"**Feedback:** {result['feedback']}") if result['feedback'] == "not_ok": st.markdown(f"**Criteria:** {result['feedback_criteria']}") st.markdown(f"**Reason:** {result['reason']}") if result.get('suggestion') is not None: st.markdown(f"**Suggestion:** {result['suggestion']}") if __name__ == "__main__": main()