From 1891028ca839b2bb1a31fdfbd4ec6848571cf2b8 Mon Sep 17 00:00:00 2001 From: Madhul Sachdeva Date: Sat, 21 Dec 2024 06:32:29 +1100 Subject: [PATCH] update day2 exercise --- Madhul-Solutions/MS-PDF-Analyser.ipynb | 165 +++++---- week1/day1.ipynb | 445 +++++++++++++++++++++++-- week1/day2 EXERCISE.ipynb | 116 ++++++- week1/solutions/day2 SOLUTION.ipynb | 2 +- 4 files changed, 602 insertions(+), 126 deletions(-) diff --git a/Madhul-Solutions/MS-PDF-Analyser.ipynb b/Madhul-Solutions/MS-PDF-Analyser.ipynb index d1b5e3f..e694c2e 100644 --- a/Madhul-Solutions/MS-PDF-Analyser.ipynb +++ b/Madhul-Solutions/MS-PDF-Analyser.ipynb @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "14e98361-f302-423d-87a5-f2f5d570f4ac", "metadata": {}, "outputs": [], @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "06b63787-c6c8-4868-8a71-eb56b7618626", "metadata": {}, "outputs": [], @@ -55,10 +55,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "284ca770-5da4-495c-b1cf-637727a8609f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], "source": [ "# Load environment variables in a file called .env\n", "\n", @@ -79,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "d4c316d7-d9c9-4400-b03e-1dd629c6b2ad", "metadata": {}, "outputs": [], @@ -93,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 5, "id": "b6f2967e-4779-458f-aea8-c47147528f77", "metadata": {}, "outputs": [], @@ -173,11 +181,9 @@ ] }, { - "cell_type": "code", - "execution_count": 61, - "id": "821acbfa-ad06-4afd-9ac1-b9f68b7a418e", + "cell_type": "markdown", + "id": "1510e4df-b15f-4411-924c-feca1c72419a", "metadata": {}, - "outputs": [], "source": [ "# General Research Analyst\n", "#### Step 1: Create your prompts\n", @@ -199,7 +205,33 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 10, + "id": "f71a47af-5f16-4b8f-880d-7fc41727564b", + "metadata": {}, + "outputs": [], + "source": [ + "# Financial Report Analyst\n", + "#### Step 1: Create your prompts\n", + "\n", + "def craft_user_prompt(article):\n", + " user_prompt = f\"You are looking at a document titled {article.title}\\n Based on the body of the document, provide an impactful summary. Call out important points as bullets and highlughts . The body of the article is as follows.\"\n", + " user_prompt += article.text\n", + " return user_prompt\n", + "\n", + "#### Step 2: Make the messages list\n", + "def craft_messages(article):\n", + " system_prompt = '''You are a financial report research assistant that specialises in analysing the contents of a financial report and provide summary for investors to \\ \n", + " help adjust investment strategies. Call out important points as bullets and highlights. \\\n", + " Ignore text that doesn't belong to the article, like headers or navigation related text. Respond in markdown. Structure your text in the form of question/answer.'''\n", + " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": craft_user_prompt(article)}\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "id": "81ab896e-1ba9-4964-a477-2a0608b7036c", "metadata": {}, "outputs": [], @@ -224,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 12, "id": "008c03fd-9cc5-4449-a054-7bbef1863b01", "metadata": {}, "outputs": [ @@ -233,64 +265,55 @@ "output_type": "stream", "text": [ "Please input the pdf URL: \n", - " https://www.binasss.sa.cr/bibliotecas/bhm/ago22/32.pdf\n" + " https://www.spandanasphoorty.com/images_gallary/1714392044-256403-20242904050444-0195731001714392044.pdf\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/msachdeva/anaconda3/envs/llms/lib/python3.11/site-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.spandanasphoorty.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n", + " warnings.warn(\n" ] }, { "data": { "text/markdown": [ - "## Summary of **Bronchiectasis — A Clinical Review**\n", - "\n", - "### What is bronchiectasis?\n", - "- Bronchiectasis is a clinical syndrome characterized by:\n", - " - Chronic cough \n", - " - Sputum production\n", - " - Abnormal thickening and dilation of bronchial walls, visible on lung imaging.\n", + "## Summary of Spandana Sphoorty Financial Limited's Financial Results for FY24\n", "\n", - "### Historical Background\n", - "- First reported by René Laënnec in 1819.\n", - "- Radiographic characteristics understood more clearly since the 1950s.\n", + "### What are the key financial highlights for FY24?\n", + "- **Profit After Tax (PAT):** Achieved an all-time high of **₹501 Cr**, significantly up from **₹12 Cr** in FY23.\n", + "- **Assets Under Management (AUM):** Increased by **41%**, reaching **₹11,973 Cr**, up from **₹8,511 Cr** in FY23.\n", + "- **New Customer Acquisition:** Grew by **59%**, adding **13.9 lac** customers in FY24 compared to **8.8 lac** in FY23.\n", + "- **Disbursement:** Total of **₹10,688 Cr**, up **32%** from **₹8,125 Cr** in FY23.\n", + "- **Asset Quality:** \n", + " - **Gross Non-Performing Assets (GNPA):** Improved to **1.50%** from **2.07%** in FY23.\n", + " - **Net Non-Performing Assets (NNPA):** Reduced to **0.30%** from **0.64%** in FY23.\n", + "- **Total Income:** Rose **72%** to **₹2,534 Cr** from **₹1,477 Cr** in FY23.\n", + "- **Net Interest Income (NII):** Increased by **59%** to **₹1,289 Cr** from **₹810 Cr** in FY23.\n", "\n", - "### Current Trends\n", - "- Significantly increasing incidence and prevalence over the last 20 years.\n", - "- Diagnosed across a wide age range, with geographic variability in prevalence (as high as 1.5% in some populations).\n", - "- Improved recognition, partly due to advanced imaging technologies like CT scans.\n", - " \n", - "### Clinical Presentation\n", - "- Symptoms include chronic productive cough, chest pain, and shortness of breath.\n", - "- Often misdiagnosed as chronic bronchitis or asthma, leading to delayed diagnosis.\n", - "- Intermittent exacerbations are common, defined by a worsening of cough and sputum characteristics for 48 hours or more.\n", + "### How did performance change in Q4FY24?\n", + "- **AUM:** Increased **15% QoQ** and **41% YoY**.\n", + "- **New Customer Acquisition:** Added **4.4 lac** customers in Q4, a **30%** increase QoQ.\n", + "- **Disbursement:** **₹3,970 Cr** in Q4FY24, a **56% QoQ** and **30% YoY** growth.\n", + "- **GNPA & NNPA:** Further improved to **1.50%** and **0.30%** respectively.\n", "\n", - "### Diagnostic Approaches\n", - "- High-resolution CT scans are essential for diagnosis, seeking specific airway abnormalities.\n", - "- A systematic evaluation to identify underlying causes (such as congenital disorders or autoimmune diseases) is critical.\n", + "### What are the operational efficiencies noted in the report?\n", + "- **Collection Efficiency:** \n", + " - Gross collection efficiency stood at **99.3%**.\n", + " - Net collection efficiency at **96.5%**.\n", + "- **Funding & Borrowings:** \n", + " - Total borrowings increased by **81%** to **₹10,441 Cr** compared to **₹5,775 Cr** in FY23.\n", "\n", - "### Pathobiology\n", - "- Multiple factors lead to airway dysfunction, inflammatory responses, and cyclical deterioration.\n", - "- Neutrophils and neutrophil elastase play significant roles in disease progression and exacerbations.\n", + "### What does the management say about the future?\n", + "- Mr. Shalabh Saxena, CEO, indicates continued focus on sustaining growth and improving efficiencies for FY25. The strategy incorporates managing multiple organizational priorities, including branch expansion and portfolio quality improvement.\n", "\n", - "### Microbiological Features\n", - "- **Common pathogens**:\n", - " - Pseudomonas aeruginosa (notably linked to exacerbations and worse prognosis)\n", - " - Staphylococcus aureus and other bacteria.\n", - "- Non-tuberculous mycobacterial infections are reported increasingly.\n", + "### What are the implications for investors?\n", + "- **Strong Growth Indicators:** The noteworthy increase in revenue, profits, and customer acquisition positions Spandana as a promising investment within the microfinance sector.\n", + "- **Reduced Risk Profile:** Improved asset quality metrics (GNPA and NNPA) suggest better risk management and opportunity for long-term stability.\n", + "- **Focus on Operational Efficiency:** The commitment to enhancing distribution productivity may enhance profitability, further benefiting shareholders.\n", "\n", - "### Treatment Strategies\n", - "- Emphasizes education about the disease and its management.\n", - "- Goals include symptom management, quality of life improvement, and reduction of exacerbation frequency.\n", - "- Options include:\n", - " - Airway-clearance therapies\n", - " - Antibiotics (macrolides or inhaled antibiotics)\n", - " - Addressing any treatable underlying conditions.\n", - "\n", - "### Prognostic Indicators\n", - "- Disease severity scores like the Bronchiectasis Severity Index and FACED scale are used for predicting outcomes.\n", - "\n", - "### Future Directions\n", - "- Emphasis on research into novel therapies targeting inflamatory pathways and innovative diagnostic tools.\n", - "\n", - "### Conclusion\n", - "- Bronchiectasis represents a complex clinical challenge that requires a multidisciplinary approach for effective management and treatment improvements. Further understanding of the disease mechanisms, enhancing diagnostic processes, and tailored therapies are vital for future advancements in the care of patients." + "Investors might consider these highlights to evaluate or adjust their investment strategies regarding microfinance and rural-focused financial services in India." ], "text/plain": [ "" @@ -307,30 +330,6 @@ "display(Markdown(summary))" ] }, - { - "cell_type": "markdown", - "id": "fd2cb395-9e29-438e-9388-5555673b4689", - "metadata": {}, - "source": [ - "# Financial Report Analyst\n", - "#### Step 1: Create your prompts\n", - "\n", - "def craft_user_prompt(article):\n", - " user_prompt = f\"You are looking at a document titled {article.title}\\n Based on the body of the document, provide an impactful summary. Call out important points as bullets and highlughts . The body of the article is as follows.\"\n", - " user_prompt += article.text\n", - " return user_prompt\n", - "\n", - "#### Step 2: Make the messages list\n", - "def craft_messages(article):\n", - " system_prompt = '''You are a financial report research assistant that specialises in analysing the contents of a financial report and provide summary for investors to \\ \n", - " help adjust investment strategies. Call out important points as bullets and highlights. \\\n", - " Ignore text that doesn't belong to the article, like headers or navigation related text. Respond in markdown. Structure your text in the form of question/answer.'''\n", - " return [\n", - " {\"role\": \"system\", \"content\": system_prompt},\n", - " {\"role\": \"user\", \"content\": craft_user_prompt(article)}\n", - " ]" - ] - }, { "cell_type": "markdown", "id": "70cbbffd-bf70-47d1-b5d6-5f929bdd89eb", diff --git a/week1/day1.ipynb b/week1/day1.ipynb index a0f082c..bf8f299 100644 --- a/week1/day1.ipynb +++ b/week1/day1.ipynb @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "4e2a9393-7767-488e-a8bf-27c12dca35bd", "metadata": {}, "outputs": [], @@ -114,10 +114,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "7b87cadb-d513-4303-baee-a37b6f938e4d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "API key found and looks good so far!\n" + ] + } + ], "source": [ "# Load environment variables in a file called .env\n", "\n", @@ -138,7 +146,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "019974d9-f3ad-4a8a-b5f9-0a3719aea2d3", "metadata": {}, "outputs": [], @@ -160,10 +168,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a58394bf-1e45-46af-9bfd-01e24da6f49a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello! Welcome! I'm glad to hear from you. How can I assist you today?\n" + ] + } + ], "source": [ "# To give you a preview -- calling OpenAI with these messages is this easy:\n", "\n", @@ -182,7 +198,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "c5e793b2-6775-426a-a139-4848291d0463", "metadata": {}, "outputs": [], @@ -212,10 +228,119 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "2ef960cf-6dc2-4cda-afb3-b38be12f4c97", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TechnicallySimple.Me – confessions of a techie!\n", + "Skip to Content\n", + "Looking to 𝗚𝗶𝘃𝗲𝗕𝗮𝗰𝗸 by volunteering my time and skills to help individuals or businesses who can benefit from my life experiences:\n", + "𝗟𝗲𝘁'𝘀 𝗰𝗼𝗻𝗻𝗲𝗰𝘁\n", + "Home\n", + "subscribe\n", + "Give Back\n", + "About\n", + "Contact\n", + "TechnicallySimple.Me\n", + "confessions of a techie!\n", + "TechnicallySimple.Me\n", + "confessions of a techie!\n", + "Home\n", + "subscribe\n", + "Give Back\n", + "About\n", + "Contact\n", + "life's hard, tech should be Simple.\n", + "Impacting lives through personal experiences & lessons learnt.\n", + "Subscribe\n", + "How to fix software supply chain integrity with CIS Benchmarks and Aqua Security\n", + "Software (application) development lifecycle (SDLC) processes have followed the wild-west approach where security has been an afterthought to speedy delivery and race to market, however the recent supply chain attacks have more than highlighted the criticality and the need to ensure security is part of the design in the development and delivery process.\n", + "Aqua Security and CIS collaborate to publish industry’s first ever CIS Benchmarks framework guide for Supply Chain Security.\n", + "Read More ..\n", + "Share\n", + "Get complete coverage with Rapid7 security platform\n", + "The Rapid7 Platform difference means, you ‘the executive team’ can focus on the innovation and growth of your business without having to task your teams to become security ninjas and figure out the latest threats and vulnerabilities on their own while fighting fires.\n", + "REMEMBER: If you are not in the security business, don’t make security your primary business!\n", + "Read More ..\n", + "Share\n", + "IAM is the new security perimeter, guard it with Rapid7 insightCloudSec.\n", + "The perimeter has shifted in the cloud where IAM policies is all that sits between the outside world and cloud resources critical to your business.\n", + "In this article I share how organisations can use DivvyCloud’s Access Explorer to gain visibility into IAM policies, drive remediation and reporting. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Cloud Security Posture and Compliance with Rapid7 insightCloudSec\n", + "A consolidated view of multi cloud environments is no longer a ‘nice to have’ as the enemies in this cyber warfare are often invisible.\n", + "In this article I share how organisations can use DivvyCloud to protect themselves against mis-configurations, policy violations and other threats. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Keeping cyber-criminals at bay with DNS filtering\n", + "With cybercrime becoming a mainstream source of revenue for criminal organisation and individuals across the globe, cyber-attacks are a daily occurrence. It’s only a matter for time before you are compromised.\n", + "In this article, I share how to boost your security posture against cyber attacks within minutes for free. Enjoy!\n", + "Read More ..\n", + "Share\n", + "How secure is your password?\n", + "You are just one bad password away from unwanted access to your information. Once they have access to your information, they have access to your digital identity i.e. basically, your life. Protecting yourself starts with good password hygiene.\n", + "In this article I share a life hack that you can use to ensure your passwords cannot be cracked in your lifetime. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Architecting your apps to scale on demand with Docker containers\n", + "Being able to scale business applications on-demand provides organisations greater ROI and much needed agility.\n", + "In this article I will deep dive into how to architect your applications to scale on-demand using docker containers along with an example scenario. Hope you enjoy it.\n", + "Read More ..\n", + "Share\n", + "Ransomware – Are you ready?\n", + "Being in the industry, I could be forgiven for thinking that everyone is aware of what Ransomware is and the risks involved. With everyone working form home these days due to the COVID-19 outbreak, the risks increase exponentially. We don’t think much of letting our kids access our computer while we make a cup of …\n", + "Read More ..\n", + "Share\n", + "What is your smart meter reporting about your electricity consumption?\n", + "Data is often neglected but it is generally the only source of truth.\n", + "In this article, I took up a little project to examine the data that my smart electricity meter is reporting back to my energy provider about my consumption behaviour.\n", + "The end result was eye opening and beautiful at the same time. I hope you find it as valuable as I did. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Subscribe for Updates\n", + "Latest posts sent to your Inbox:\n", + "Recommendations Received:\n", + "Christopher Hertz - Rapid7\n", + "Vice President, Cloud Security Sales - Chris managed Madhul directly\n", + "\"I had the privilege of working with Madhul at 𝐑𝐚𝐩𝐢𝐝7 where he played a key and important role in helping enterprise customers achieve continuous security and compliance for their public cloud systems using the DivvyCloud/ InsightCloudSec product.\n", + "He impressed me with his dedication to delivering great experiences and value to customers. Additionally, he is one of the rare people who can take complex technical and security concepts and make them accessible to a diverse audience from technical professionals to executives. He helped make Rapid7 a leader in the cloud security category through his ability to understand customers complex challenges and needs, and solve these using Rapid7 technologies.\"\n", + "Alan Marshall - Fujitsu Australia\n", + "ICT Infrastructure Professional with NV1 Security Clearance - Alan was a client of Madhul’s\n", + "\"Madhul has provided architectural and technical guidance to me on a number of Veeam based projects at Fujitsu, the largest being design of a new BaaS solution.\n", + "I've found Madhul to be very knowledgeable and extremely diligent in providing design reviews, responding to queries etc. and if he doesn't know the answer straight away he will certainly find it for me quickly. He has an excellent ability to be able to clearly explain complex technologies and the pros and cons of the different available options.\n", + "Madhul is highly professional and has been very flexible in providing timely assistance where this has been urgently required and his assistance has been immense. Madhul has been very personable and easy to work with and I look forward to working together with him on more projects in future.\"\n", + "Ganesh Doddi - BUPA\n", + "Senior Infrastructure Engineer - Ganesh was a client of Madhul\n", + "\"Madhul is a highly dedicated professional in the Disaster Recovery area who demonstrated the ability to communicate at all levels, manage complex relationships and show respect for stakeholders at all times.\n", + "He assisted us in the deployment of Zerto and associated with developing a DR solution based on Zerto and continually showed professionalism, always going the extra mile.\"\n", + "Bharat Bhooshan - VicTrack\n", + "Senior Systems Engineer - Bharath was a client of Madhul’s\n", + "\"Madhul is a brilliant Pre-Sales Engineer. His technical and interpersonal skills as well as his outstanding communication skills helped us deliver a complex DRaaS solution to a project on time and to our customers best satisfaction. Madhul is highly knowledgeable in his domain of expertise and has an innate ability to lead and deliver high-quality solutions.\n", + "I enjoyed working with Madhul both professionally and as a friend, I would highly recommend Madhul and his work to anyone.\"\n", + "Nikolay Dzhilinskiy - NTT\n", + "Senior Systems Engineer - Madhul worked with Nikolay in the same group at Telstra\n", + "\"I have worked with Madhul for quite some time now and really value his skills and knowledge in the field of ICT Solutions architecture/design. Madhul is one of few people who keep on top of things and is always working to keep his skills updated in this rapidly changing ICT industry.\n", + "I would like to endorse him for his in-depth knowledge of ICT Solutions/technologies and Project Management skills. Moreover his readiness to share his experience/knowledge by taking the initiative to organise cross-skill training sessions with other SMEs and members of the team is highly appreciated and valued.\"\n", + "Lambros Pasialis - Insurance Australia Group\n", + "Server Engineer at IAG - Lambros was a client of Madhul's\n", + "\"Madhul is hard worker and a very motivated professional who has exceptional skills in working with customers and achieving goals set in an enterprise business.\n", + "As a contact, Madhul always strives to be available and get things done, knowing that this is key to supporting large businesses. I highly recommend his skill sets and his professional attitude towards all parties involved, and makes a hard task at hand much more manageable.\"\n", + "© Copyright 2023 TechnicallySimple.Me All Rights Reserved.\n", + "Our Privacy Policy\n", + "| Home |\n", + "| Privacy Policy |\n", + "| Terms of Service |\n", + "| Send Feedback |\n", + "Looking for Something?\n", + "Search anything and hit enter.\n" + ] + } + ], "source": [ "# Let's try one out. Change the website and add print statements to follow along.\n", "\n", @@ -244,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "abdb8417-c5dc-44bc-9bee-2e059d162699", "metadata": {}, "outputs": [], @@ -258,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "f0275b1b-7cfe-4f9d-abfa-7650d378da0c", "metadata": {}, "outputs": [], @@ -276,10 +401,121 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "26448ec4-5c00-4204-baec-7df91d11ff2e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are looking at a website titled TechnicallySimple.Me – confessions of a techie!\n", + "The contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\n", + "\n", + "Skip to Content\n", + "Looking to 𝗚𝗶𝘃𝗲𝗕𝗮𝗰𝗸 by volunteering my time and skills to help individuals or businesses who can benefit from my life experiences:\n", + "𝗟𝗲𝘁'𝘀 𝗰𝗼𝗻𝗻𝗲𝗰𝘁\n", + "Home\n", + "subscribe\n", + "Give Back\n", + "About\n", + "Contact\n", + "TechnicallySimple.Me\n", + "confessions of a techie!\n", + "TechnicallySimple.Me\n", + "confessions of a techie!\n", + "Home\n", + "subscribe\n", + "Give Back\n", + "About\n", + "Contact\n", + "life's hard, tech should be Simple.\n", + "Impacting lives through personal experiences & lessons learnt.\n", + "Subscribe\n", + "How to fix software supply chain integrity with CIS Benchmarks and Aqua Security\n", + "Software (application) development lifecycle (SDLC) processes have followed the wild-west approach where security has been an afterthought to speedy delivery and race to market, however the recent supply chain attacks have more than highlighted the criticality and the need to ensure security is part of the design in the development and delivery process.\n", + "Aqua Security and CIS collaborate to publish industry’s first ever CIS Benchmarks framework guide for Supply Chain Security.\n", + "Read More ..\n", + "Share\n", + "Get complete coverage with Rapid7 security platform\n", + "The Rapid7 Platform difference means, you ‘the executive team’ can focus on the innovation and growth of your business without having to task your teams to become security ninjas and figure out the latest threats and vulnerabilities on their own while fighting fires.\n", + "REMEMBER: If you are not in the security business, don’t make security your primary business!\n", + "Read More ..\n", + "Share\n", + "IAM is the new security perimeter, guard it with Rapid7 insightCloudSec.\n", + "The perimeter has shifted in the cloud where IAM policies is all that sits between the outside world and cloud resources critical to your business.\n", + "In this article I share how organisations can use DivvyCloud’s Access Explorer to gain visibility into IAM policies, drive remediation and reporting. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Cloud Security Posture and Compliance with Rapid7 insightCloudSec\n", + "A consolidated view of multi cloud environments is no longer a ‘nice to have’ as the enemies in this cyber warfare are often invisible.\n", + "In this article I share how organisations can use DivvyCloud to protect themselves against mis-configurations, policy violations and other threats. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Keeping cyber-criminals at bay with DNS filtering\n", + "With cybercrime becoming a mainstream source of revenue for criminal organisation and individuals across the globe, cyber-attacks are a daily occurrence. It’s only a matter for time before you are compromised.\n", + "In this article, I share how to boost your security posture against cyber attacks within minutes for free. Enjoy!\n", + "Read More ..\n", + "Share\n", + "How secure is your password?\n", + "You are just one bad password away from unwanted access to your information. Once they have access to your information, they have access to your digital identity i.e. basically, your life. Protecting yourself starts with good password hygiene.\n", + "In this article I share a life hack that you can use to ensure your passwords cannot be cracked in your lifetime. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Architecting your apps to scale on demand with Docker containers\n", + "Being able to scale business applications on-demand provides organisations greater ROI and much needed agility.\n", + "In this article I will deep dive into how to architect your applications to scale on-demand using docker containers along with an example scenario. Hope you enjoy it.\n", + "Read More ..\n", + "Share\n", + "Ransomware – Are you ready?\n", + "Being in the industry, I could be forgiven for thinking that everyone is aware of what Ransomware is and the risks involved. With everyone working form home these days due to the COVID-19 outbreak, the risks increase exponentially. We don’t think much of letting our kids access our computer while we make a cup of …\n", + "Read More ..\n", + "Share\n", + "What is your smart meter reporting about your electricity consumption?\n", + "Data is often neglected but it is generally the only source of truth.\n", + "In this article, I took up a little project to examine the data that my smart electricity meter is reporting back to my energy provider about my consumption behaviour.\n", + "The end result was eye opening and beautiful at the same time. I hope you find it as valuable as I did. Enjoy!\n", + "Read More ..\n", + "Share\n", + "Subscribe for Updates\n", + "Latest posts sent to your Inbox:\n", + "Recommendations Received:\n", + "Christopher Hertz - Rapid7\n", + "Vice President, Cloud Security Sales - Chris managed Madhul directly\n", + "\"I had the privilege of working with Madhul at 𝐑𝐚𝐩𝐢𝐝7 where he played a key and important role in helping enterprise customers achieve continuous security and compliance for their public cloud systems using the DivvyCloud/ InsightCloudSec product.\n", + "He impressed me with his dedication to delivering great experiences and value to customers. Additionally, he is one of the rare people who can take complex technical and security concepts and make them accessible to a diverse audience from technical professionals to executives. He helped make Rapid7 a leader in the cloud security category through his ability to understand customers complex challenges and needs, and solve these using Rapid7 technologies.\"\n", + "Alan Marshall - Fujitsu Australia\n", + "ICT Infrastructure Professional with NV1 Security Clearance - Alan was a client of Madhul’s\n", + "\"Madhul has provided architectural and technical guidance to me on a number of Veeam based projects at Fujitsu, the largest being design of a new BaaS solution.\n", + "I've found Madhul to be very knowledgeable and extremely diligent in providing design reviews, responding to queries etc. and if he doesn't know the answer straight away he will certainly find it for me quickly. He has an excellent ability to be able to clearly explain complex technologies and the pros and cons of the different available options.\n", + "Madhul is highly professional and has been very flexible in providing timely assistance where this has been urgently required and his assistance has been immense. Madhul has been very personable and easy to work with and I look forward to working together with him on more projects in future.\"\n", + "Ganesh Doddi - BUPA\n", + "Senior Infrastructure Engineer - Ganesh was a client of Madhul\n", + "\"Madhul is a highly dedicated professional in the Disaster Recovery area who demonstrated the ability to communicate at all levels, manage complex relationships and show respect for stakeholders at all times.\n", + "He assisted us in the deployment of Zerto and associated with developing a DR solution based on Zerto and continually showed professionalism, always going the extra mile.\"\n", + "Bharat Bhooshan - VicTrack\n", + "Senior Systems Engineer - Bharath was a client of Madhul’s\n", + "\"Madhul is a brilliant Pre-Sales Engineer. His technical and interpersonal skills as well as his outstanding communication skills helped us deliver a complex DRaaS solution to a project on time and to our customers best satisfaction. Madhul is highly knowledgeable in his domain of expertise and has an innate ability to lead and deliver high-quality solutions.\n", + "I enjoyed working with Madhul both professionally and as a friend, I would highly recommend Madhul and his work to anyone.\"\n", + "Nikolay Dzhilinskiy - NTT\n", + "Senior Systems Engineer - Madhul worked with Nikolay in the same group at Telstra\n", + "\"I have worked with Madhul for quite some time now and really value his skills and knowledge in the field of ICT Solutions architecture/design. Madhul is one of few people who keep on top of things and is always working to keep his skills updated in this rapidly changing ICT industry.\n", + "I would like to endorse him for his in-depth knowledge of ICT Solutions/technologies and Project Management skills. Moreover his readiness to share his experience/knowledge by taking the initiative to organise cross-skill training sessions with other SMEs and members of the team is highly appreciated and valued.\"\n", + "Lambros Pasialis - Insurance Australia Group\n", + "Server Engineer at IAG - Lambros was a client of Madhul's\n", + "\"Madhul is hard worker and a very motivated professional who has exceptional skills in working with customers and achieving goals set in an enterprise business.\n", + "As a contact, Madhul always strives to be available and get things done, knowing that this is key to supporting large businesses. I highly recommend his skill sets and his professional attitude towards all parties involved, and makes a hard task at hand much more manageable.\"\n", + "© Copyright 2023 TechnicallySimple.Me All Rights Reserved.\n", + "Our Privacy Policy\n", + "| Home |\n", + "| Privacy Policy |\n", + "| Terms of Service |\n", + "| Send Feedback |\n", + "Looking for Something?\n", + "Search anything and hit enter.\n" + ] + } + ], "source": [ "print(user_prompt_for(ed))" ] @@ -305,7 +541,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f25dcd35-0cd0-4235-9f64-ac37ed9eaaa5", "metadata": {}, "outputs": [], @@ -318,10 +554,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "21ed95c5-7001-47de-a36d-1d6673b403ce", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Oh, let me grab my calculator for this one! Just kidding—it's 4. Shocking, I know!\n" + ] + } + ], "source": [ "# To give you a preview -- calling OpenAI with system and user messages:\n", "\n", @@ -339,7 +583,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "0134dfa4-8299-48b5-b444-f2a8c3403c88", "metadata": {}, "outputs": [], @@ -355,10 +599,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "36478464-39ee-485c-9f3f-6a4e458dbc9c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[{'role': 'system',\n", + " 'content': 'You are an assistant that analyzes the contents of a website and provides a short summary, ignoring text that might be navigation related. Respond in markdown.'},\n", + " {'role': 'user',\n", + " 'content': 'You are looking at a website titled TechnicallySimple.Me – confessions of a techie!\\nThe contents of this website is as follows; please provide a short summary of this website in markdown. If it includes news or announcements, then summarize these too.\\n\\nSkip to Content\\nLooking to 𝗚𝗶𝘃𝗲𝗕𝗮𝗰𝗸 by volunteering my time and skills to help individuals or businesses who can benefit from my life experiences:\\n𝗟𝗲𝘁\\'𝘀 𝗰𝗼𝗻𝗻𝗲𝗰𝘁\\nHome\\nsubscribe\\nGive Back\\nAbout\\nContact\\nTechnicallySimple.Me\\nconfessions of a techie!\\nTechnicallySimple.Me\\nconfessions of a techie!\\nHome\\nsubscribe\\nGive Back\\nAbout\\nContact\\nlife\\'s hard, tech should be Simple.\\nImpacting lives through personal experiences & lessons learnt.\\nSubscribe\\nHow to fix software supply chain integrity with CIS Benchmarks and Aqua Security\\nSoftware (application) development lifecycle (SDLC) processes have followed the wild-west approach where security has been an afterthought to speedy delivery and race to market, however the recent supply chain attacks have more than highlighted the criticality and the need to ensure security is part of the design in the development and delivery process.\\nAqua Security\\xa0and CIS collaborate to publish industry’s first ever CIS Benchmarks framework guide for Supply Chain Security.\\nRead More ..\\nShare\\nGet complete coverage with Rapid7 security platform\\nThe Rapid7 Platform difference means, you ‘the executive team’ can focus on the innovation and growth of your business without having to task your teams to become security ninjas and figure out the latest threats and vulnerabilities on their own while fighting fires.\\nREMEMBER: If you are not in the security business, don’t make security your primary business!\\nRead More ..\\nShare\\nIAM is the new security perimeter, guard it with Rapid7 insightCloudSec.\\nThe perimeter has shifted in the cloud where IAM policies is all that sits between the outside world and cloud resources critical to your business.\\nIn this article I share how organisations can use DivvyCloud’s Access Explorer to gain visibility into IAM policies, drive remediation and reporting. Enjoy!\\nRead More ..\\nShare\\nCloud Security Posture and Compliance with Rapid7 insightCloudSec\\nA consolidated view of multi cloud environments is no longer a ‘nice to have’ as the enemies in this cyber warfare are often invisible.\\nIn this article I share how organisations can use DivvyCloud to protect themselves against mis-configurations, policy violations and other threats. Enjoy!\\nRead More ..\\nShare\\nKeeping cyber-criminals at bay with DNS filtering\\nWith cybercrime becoming a mainstream source of revenue for criminal organisation and individuals across the globe, cyber-attacks are a daily occurrence. It’s only a matter for time before you are compromised.\\nIn this article, I share how to boost your security posture against cyber attacks within minutes for free. Enjoy!\\nRead More ..\\nShare\\nHow secure is your password?\\nYou are just one bad password away from unwanted access to your information. Once they have access to your information, they have access to your digital identity i.e. basically, your life. Protecting yourself starts with good password hygiene.\\nIn this article I share a life hack that you can use to ensure your passwords cannot be cracked in your lifetime. Enjoy!\\nRead More ..\\nShare\\nArchitecting your apps to scale on demand with Docker containers\\nBeing able to scale business applications on-demand provides organisations greater ROI and much needed agility.\\nIn this article I will deep dive into how to architect your applications to scale on-demand using docker containers along with an example scenario. Hope you enjoy it.\\nRead More ..\\nShare\\nRansomware – Are you ready?\\nBeing in the industry, I could be forgiven for thinking that everyone is aware of what Ransomware is and the risks involved. With everyone working form home these days due to the COVID-19 outbreak, the risks increase exponentially. We don’t think much of letting our kids access our computer while we make a cup of …\\nRead More ..\\nShare\\nWhat is your smart meter reporting about your electricity consumption?\\nData is often neglected but it is generally the only source of truth.\\nIn this article, I took up a little project to examine the data that my smart electricity meter is reporting back to my energy provider about my consumption behaviour.\\nThe end result was eye opening and beautiful at the same time. I hope you find it as valuable as I did. Enjoy!\\nRead More ..\\nShare\\nSubscribe for Updates\\nLatest posts sent to your Inbox:\\nRecommendations Received:\\nChristopher Hertz - Rapid7\\nVice President, Cloud Security Sales - Chris managed Madhul directly\\n\"I had the privilege of working with Madhul at 𝐑𝐚𝐩𝐢𝐝7 where he played a key and important role in helping enterprise customers achieve continuous security and compliance for their public cloud systems using the DivvyCloud/ InsightCloudSec product.\\nHe impressed me with his dedication to delivering great experiences and value to customers. Additionally, he is one of the rare people who can take complex technical and security concepts and make them accessible to a diverse audience from technical professionals to executives. He helped make Rapid7 a leader in the cloud security category through his ability to understand customers complex challenges and needs, and solve these using Rapid7 technologies.\"\\nAlan Marshall - Fujitsu Australia\\nICT Infrastructure Professional with NV1 Security Clearance - Alan was a client of Madhul’s\\n\"Madhul has provided architectural and technical guidance to me on a number of Veeam based projects at Fujitsu, the largest being design of a new BaaS solution.\\nI\\'ve found Madhul to be very knowledgeable and extremely diligent in providing design reviews, responding to queries etc. and if he doesn\\'t know the answer straight away he will certainly find it for me quickly. He has an excellent ability to be able to clearly explain complex technologies and the pros and cons of the different available options.\\nMadhul is highly professional and has been very flexible in providing timely assistance where this has been urgently required and his assistance has been immense. Madhul has been very personable and easy to work with and I look forward to working together with him on more projects in future.\"\\nGanesh Doddi - BUPA\\nSenior Infrastructure Engineer - Ganesh was a client of Madhul\\n\"Madhul is a highly dedicated professional in the Disaster Recovery area who demonstrated the ability to communicate at all levels, manage complex relationships and show respect for stakeholders at all times.\\nHe assisted us in the deployment of Zerto and associated with developing a DR solution based on Zerto and continually showed professionalism, always going the extra mile.\"\\nBharat Bhooshan - VicTrack\\nSenior Systems Engineer - Bharath was a client of Madhul’s\\n\"Madhul is a brilliant Pre-Sales Engineer. His technical and interpersonal skills as well as his outstanding communication skills helped us deliver a complex DRaaS solution to a project on time and to our customers best satisfaction. Madhul is highly knowledgeable in his domain of expertise and has an innate ability to lead and deliver high-quality solutions.\\nI enjoyed working with Madhul both professionally and as a friend, I would highly recommend Madhul and his work to anyone.\"\\nNikolay Dzhilinskiy - NTT\\nSenior Systems Engineer - Madhul worked with Nikolay in the same group at Telstra\\n\"I have worked with Madhul for quite some time now and really value his skills and knowledge in the field of ICT Solutions architecture/design. Madhul is one of few people who keep on top of things and is always working to keep his skills updated in this rapidly changing ICT industry.\\nI would like to endorse him for his in-depth knowledge of ICT Solutions/technologies and Project Management skills. Moreover his readiness to share his experience/knowledge by taking the initiative to organise cross-skill training sessions with other SMEs and members of the team is highly appreciated and valued.\"\\nLambros Pasialis - Insurance Australia Group\\nServer Engineer at IAG - Lambros was a client of Madhul\\'s\\n\"Madhul is hard worker and a very motivated professional who has exceptional skills in working with customers and achieving goals set in an enterprise business.\\nAs a contact, Madhul always strives to be available and get things done, knowing that this is key to supporting large businesses. I highly recommend his skill sets and his professional attitude towards all parties involved, and makes a hard task at hand much more manageable.\"\\n© Copyright 2023 TechnicallySimple.Me All Rights Reserved.\\nOur Privacy Policy\\n| Home |\\n| Privacy Policy |\\n| Terms of Service |\\n| Send Feedback |\\nLooking for Something?\\nSearch anything and hit enter.'}]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Try this out, and then try for a few more websites\n", "\n", @@ -375,7 +633,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "905b9919-aba7-45b5-ae65-81b3d1d78e34", "metadata": {}, "outputs": [], @@ -393,17 +651,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "05e38d41-dfa4-4b20-9c96-c46ea75d9fb5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"# TechnicallySimple.Me – Confessions of a Techie\\n\\n**Overview:**\\nTechnicallySimple.Me is a platform dedicated to sharing insights and personal experiences about technology and security. The site focuses on making technology straightforward and actionable for individuals and businesses, emphasizing the importance of security as integral to software development and deployment.\\n\\n## Key Areas of Focus:\\n\\n- **Security Awareness:** The website addresses the critical need for security in software supply chains, promoting frameworks like CIS Benchmarks and collaboration with Aqua Security.\\n \\n- **Cloud Security:** Emphasizes the importance of IAM (Identity and Access Management) in cloud environments and offers guidance on using tools like Rapid7's insightCloudSec for managing cloud security posture.\\n\\n- **Basic Cybersecurity Tips:** Provides useful insights on password hygiene, DNS filtering, and strategies to mitigate risks associated with ransomware and cyber threats.\\n\\n- **Application Development:** Discusses best practices for architecting applications using Docker containers for scalability and ROI.\\n\\n- **Data Utilization:** Features personal projects, such as analyzing smart meter data to derive insights about electricity consumption.\\n\\n## Latest Articles:\\n1. **Software Supply Chain Integrity**: Importance of integrating security in application development.\\n2. **Cloud Security Posture with Rapid7**: Managing multi-cloud environments for better security.\\n3. **Keeping Cyber-Criminals at Bay**: Strategies for enhancing security posture quickly.\\n4. **How Secure is Your Password?**: Tips for maintaining password security.\\n\\n## Call to Action:\\nThe site encourages readers to subscribe for updates and invites connections for volunteering, helping individuals or businesses leverage the author's tech experiences.\\n\\nOverall, TechnicallySimple.Me aims to simplify technology while promoting security awareness through a tech-savvy lens.\"" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "summarize(\"https://technicallysimple.me\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "3d926d59-450e-4609-92ba-2d6f244f1342", "metadata": {}, "outputs": [], @@ -417,12 +686,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "3018853a-445f-41ff-9560-d925d1774b2f", "metadata": {}, - "outputs": [], - "source": [ - "display_summary(\"https://technicallysimple.me\")" + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of Spandana Sphoorty Financial Ltd Website\n", + "\n", + "## Overview\n", + "Spandana Sphoorty Financial Ltd is a registered Non-Banking Financial Company - Micro Finance Institution (NBFC-MFI) recognized as India's largest microfinance provider and the sixth largest globally. The company specializes in offering small unsecured loans to low-income customers in semi-urban and rural areas.\n", + "\n", + "## Key Financials\n", + "- **Current Share Price:** ₹330 (as of 20 Dec)\n", + "- **Market Capitalization:** ₹2,355 Cr\n", + "- **Stock P/E Ratio:** 26.8\n", + "- **Book Value:** ₹480\n", + "- **Dividend Yield:** 0.00%\n", + "- **Return on Capital Employed (ROCE):** 14.2%\n", + "- **Return on Equity (ROE):** 14.2%\n", + " \n", + "### Stock Performance\n", + "- **52-week High/Low:** ₹1,243 / ₹330\n", + "- **Current trading at:** 0.69 times its book value\n", + "\n", + "### Pros and Cons\n", + "- **Pros:**\n", + " - Strong performance expected in upcoming quarters.\n", + "- **Cons:**\n", + " - No dividend payment despite profits.\n", + " - Low interest coverage ratio.\n", + " - Decrease in promoter holding over the last quarter by 1.02%.\n", + "\n", + "## Announcements\n", + "Recent key announcements include:\n", + "- **Management Change (9 Dec):** Resignation of Chief Information Officer for personal reasons.\n", + "- **Credit Rating Updates:**\n", + " - ICRA reaffirmed the rating, with a negative outlook as of 5 Dec.\n", + " - CRISIL revised the outlook to stable from positive for bank loans as of 13 Nov.\n", + "- **Investor Meeting:** Scheduled for 19 Nov.\n", + "\n", + "## Conclusion\n", + "Spandana Sphoorty Financial Ltd focuses on microfinance with robust growth potential. Recent management changes and credit rating adjustments could impact investor sentiment, while financial metrics indicate areas for caution and opportunity." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_summary(\"https://www.screener.in/company/SPANDANA/#profit-loss\")" ] }, { @@ -443,20 +760,86 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "45d83403-a24c-44b5-84ac-961449b4008f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Woodleigh Waters Dental Surgery Summary\n", + "\n", + "Woodleigh Waters Dental Surgery is a local dental clinic located in Berwick, Victoria, providing a wide array of dental services. The clinic is equipped with modern technology and offers treatments including preventive dentistry, aesthetic dentistry, restorative dentistry, and orthodontics. They focus on creating a comfortable, relaxing experience and provide same-day appointments for various dental needs.\n", + "\n", + "## Key Services:\n", + "- **Preventive Dentistry:** Periodic exams, gum health, oral hygiene education, and more.\n", + "- **Restorative Dentistry:** Dental crowns, bridges, implants, and root canal treatments.\n", + "- **Aesthetic Dentistry:** Services like teeth whitening, porcelain veneers, and dental bonding.\n", + "- **Orthodontics:** Conventional braces, Smile Styler, and Cfast Tooth Alignment.\n", + "- **Emergency Dentistry:** Same-day emergency care available.\n", + "\n", + "## Location & Contact Information:\n", + "- **Address:** 137 Moondarra Drive, Berwick VIC 3806\n", + "- **Phone:** 03 9702 0234\n", + "- **Email:** info@woodleighwatersdentalsurgery.com.au\n", + "\n", + "## Hours of Operation:\n", + "- **Monday to Thursday:** 9:30 am - 6:00 pm\n", + "- **Friday:** 9:30 am - 5:00 pm\n", + "- **Saturday:** 9:00 am - 2:00 pm\n", + "- **Sunday:** Closed\n", + "\n", + "## Recent Blog Highlights:\n", + "- **Wisdom Teeth Removal:** Signs and benefits of removal.\n", + "- **Dental Extractions:** What to expect during the process.\n", + "- **Kids Dental Health:** Tips for maintaining children's teeth health.\n", + "- **Summer Dental Care:** Keeping teeth healthy during the holidays.\n", + "\n", + "The clinic prides itself on being family-friendly, with specialized services for children and a commitment to using the latest dental technologies for effective treatment. They also accept all major private health funds, offering on-the-spot claims through HICAPS." + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display_summary(\"https://woodleighwatersdentalsurgery.com.au\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "75e9fd40-b354-4341-991e-863ef2e59db7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/markdown": [ + "# Summary of Amazon.com\n", + "\n", + "Amazon.com is an online marketplace that offers a wide range of products, including books, electronics, clothing, and household items. The site emphasizes user experience and encourages customers to shop by providing personalized recommendations and secure purchasing options.\n", + "\n", + "## Key Features\n", + "- Extensive product listings across various categories\n", + "- User-friendly shopping experience\n", + "- Secure payment methods\n", + "\n", + "## Additional Information\n", + "The site includes notices about conditions of use and privacy policy, indicating a commitment to user data protection and compliance with legal standards.\n", + "\n", + "*Note: The content does not include any specific news or announcements.*" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display_summary(\"https://amazon.com\")" ] diff --git a/week1/day2 EXERCISE.ipynb b/week1/day2 EXERCISE.ipynb index 35f2140..ee6a144 100644 --- a/week1/day2 EXERCISE.ipynb +++ b/week1/day2 EXERCISE.ipynb @@ -90,6 +90,7 @@ "# Constants\n", "\n", "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "#OLLAMA_API = \"http://192.168.0.207:11434/api/chat\"\n", "HEADERS = {\"Content-Type\": \"application/json\"}\n", "MODEL = \"llama3.2\"" ] @@ -199,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "402d5686-4e76-4110-b65a-b3906c35c0a4", "metadata": {}, "outputs": [], @@ -216,22 +217,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "9cfeb2c1-a2e1-47af-bd62-253b703d8130", "metadata": {}, "outputs": [], "source": [ "# Constants\n", "\n", - "OLLAMA_API = \"http://localhost:11434/api/chat\"\n", + "OLLAMA_API = \"http://192.168.0.207:11434/api/chat\"\n", "HEADERS = {\"Content-Type\": \"application/json\"}\n", "MODEL = \"llama3.2\"\n", - "ollama_via_openai = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')" + "ollama_via_openai = OpenAI(base_url='http://192.168.0.207:11434/v1', api_key='ollama')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "76991489-946f-492c-9f62-9f73a9e53b43", "metadata": {}, "outputs": [], @@ -312,7 +313,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, + "id": "68f20224-0ede-47c4-8ed4-7d5752374232", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompt = \"You are an assistant that analyzes the contents of a website \\\n", + "and provides a short summary, ignoring text that might be navigation related. \\\n", + "Respond in markdown.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 28, "id": "d5fe4e6a-24f4-483a-ae24-1e7ed1bf2a6f", "metadata": {}, "outputs": [], @@ -341,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "f2369302-7b8c-465e-8606-b9cc0a51cb78", "metadata": {}, "outputs": [], @@ -349,6 +362,7 @@ "# Create a messages list using the same format that we used for OpenAI\n", "def messages_for(website):\n", " return [\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", " {\"role\": \"user\", \"content\": user_prompt_for(website)}\n", " ]" ] @@ -366,7 +380,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "16ae9026-1684-4cc3-9859-f2cd7d22fb52", "metadata": {}, "outputs": [], @@ -387,7 +401,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, + "id": "bcbd5962-3a75-4e94-a07e-463e874c9131", + "metadata": {}, + "outputs": [], + "source": [ + "import ollama\n", + "\n", + "def summarise(url):\n", + " try:\n", + " aWebsite = Website(url)\n", + " response = ollama.chat(model=MODEL, messages=messages_for(aWebsite))\n", + " return response['message']['content']\n", + " except ConnectionError as e:\n", + " return f\"Error: {str(e)}\"\n", + " except Exception as e:\n", + " return f\"An unexpected error occurred: {str(e)}\"\n", + "\n", + "#print(response['message']['content'])" + ] + }, + { + "cell_type": "code", + "execution_count": 32, "id": "4e0f7264-9622-4751-83b9-a31c3c0c4589", "metadata": {}, "outputs": [], @@ -413,10 +449,68 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "d8659653-d3a1-4cc1-bbd8-a003fb22041f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter URL: https://aquasec.com\n" + ] + }, + { + "data": { + "text/markdown": [ + "**Aqua Cloud Native Security**\n", + "\n", + "Aqua is a pioneer in securing containerized cloud native applications from development to production. Their full lifecycle solution prevents attacks by enforcing pre-deployment hygiene and mitigating attacks in real time in production, reducing mean time to repair and overall business risk.\n", + "\n", + "**Recent News**\n", + "\n", + "* **300,000+ Prometheus Servers and Exporters Exposed to DoS Attacks**: Matrix Unleashes A New Widespread DDoS Campaign\n", + "* **Aqua Nautilus research team is uniquely focused on the cloud native threat landscape**, with a sole mission to analyze threats targeting cloud native environments and protect customers from those threats.\n", + "\n", + "**Key Features**\n", + "\n", + "* **Cloud Native Application Protection Platform (CNAPP)**: Integrates security from Code to Cloud, combining agent and agentless technology into a single solution.\n", + "* **Automate DevSecOps**: Modernize Security with CNDR Cloud Native Detection & Response.\n", + "* **Compliance and Auditing**: Serverless Containers & Functions, Hybrid and Multi Cloud, Federal Cloud Native Security.\n", + "\n", + "**Use Cases**\n", + "\n", + "* **Automate DevSecOps**\n", + "* **Modernize Security**\n", + "* **CNDR Cloud Native Detection & Response**\n", + "* **Compliance and Auditing**\n", + "* **Serverless Containers & Functions**\n", + "* **Hybrid and Multi Cloud**\n", + "* **Federal Cloud Native Security**\n", + "\n", + "**Partners**\n", + "\n", + "* **Technology Partners**: Partner With Us\n", + "* **Resources**: Aqua Security Research, The Cloud Native Wiki, Kubernetes 101\n", + "\n", + "**About Us**\n", + "\n", + "Aqua is a leading provider of cloud native security solutions, founded in 2015. They protect over 500 of the world's largest enterprises with their enterprise scale solution that doesn’t slow development pipelines.\n", + "\n", + "**Contact Us**\n", + "\n", + "* **Aqua Blog**: Learn more about Aqua Security\n", + "* **Get in Touch**: Professional services and support.\n", + "* **Careers**: Join the Aqua team" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "address=input(\"Enter URL: \")\n", "display_summary(address)" diff --git a/week1/solutions/day2 SOLUTION.ipynb b/week1/solutions/day2 SOLUTION.ipynb index 6d688fc..4df6457 100644 --- a/week1/solutions/day2 SOLUTION.ipynb +++ b/week1/solutions/day2 SOLUTION.ipynb @@ -455,7 +455,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.10" + "version": "3.11.11" } }, "nbformat": 4,