├── Example_Analysis_Report.md ├── LICENSE ├── LinkedIn2Report.ipynb ├── LinkedIn_Analysis_Report.ipynb └── README.md /Example_Analysis_Report.md: -------------------------------------------------------------------------------- 1 | # Analysis Report of LinkedIn Profile and Posts 2 | 3 | ## Muratcan Koylan (https://www.linkedin.com/in/muratcan-koylan/) 4 | 5 | ## Technical Content and Innovative Ideas 6 | - **LLM Applications:** Focus on Large Language Models and their applications, particularly in prompt engineering, model training, and tool development. 7 | - **Personalized Content:** Innovative use of "audience persona" concepts to create more personalized content instead of enforcing a rigid tone or style. 8 | - **Performance Improvements:** Emphasizes the benefits of increasing the number of AI agents to improve compatibility and performance. 9 | - **Practical Projects:** Demonstrated through a project that combines Anthropic Haiku and Cohere Command R+ to derive business ideas from YouTube transcripts. 10 | - **Decentralized AI:** Advocates for decentralized AI to foster a permissionless ecosystem, minimizing centralized control risks. 11 | - **Model Optimization:** Discusses the importance of domain-specific, smaller, and efficiently optimized models. 12 | 13 | ## Key Phrases and Expertise 14 | - **Expertise in AI:** Demonstrates deep knowledge in prompt engineering, LLM applications, and content generation. 15 | - **LLM Proficiency:** Experience with various LLMs, including Cohere Command R+, Anthropic Haiku, Gemini AI, ChatGPT, GPT-3.5, and GPT-4. 16 | - **Model Insights:** Offers insights into LLM comparisons, sharing evaluations of different AI models like Mistral 'Next' vs. Mistral Medium. 17 | - **AI Applications:** Discusses AI's impact on marketing, healthcare, education, and business, emphasizing practical uses and societal impact. 18 | 19 | ## Engagement and Influence 20 | - **High Engagement Posts:** Posts that provide practical insights, tools, and recommendations receive the highest engagement. 21 | - **Growing Influence:** Visible growth in professional network through collaborations and active participation in the AI community. 22 | - **Community Interaction:** Consistent engagement indicates a strong influence within the professional network. 23 | 24 | ## Topics and Trends 25 | - **Industry Trends:** Aligns discussions with emerging trends like generative AI, multimodal AI, and data strategies. 26 | - **Real-world Applications:** Focuses on AI's role in solving real-world issues, improving productivity, and enhancing industries. 27 | - **Educational Impact:** Addresses AI's potential and challenges in educational sectors. 28 | 29 | ## Network Growth and Interactions 30 | - **Community Engagement:** Actively expands network by connecting with AI professionals and enthusiasts. 31 | - **Educational Outreach:** Involvement with AI and robotics student clubs, showing commitment to mentoring and education. 32 | 33 | ## Professional Interests 34 | - Specializes in AI content creation, prompt engineering, LLM application development, decentralized AI, model training, and optimization. 35 | - Focuses on applying AI in fields like marketing, healthcare, and education. 36 | 37 | ## Skills & Expertise 38 | - Skilled in various AI and machine learning techniques, emphasizing prompt engineering and practical applications of LLMs. 39 | - Experienced in model training, data privacy, and explaining complex AI concepts to diverse audiences. 40 | 41 | ## Professional Goals 42 | - Committed to democratizing AI, particularly for Gen Z, through education and mentorship. 43 | - Aims to stay abreast of advancements in LLM technologies and share knowledge widely. 44 | 45 | ## Recommendations for Growth 46 | - **Network Expansion:** Encouraged to continue building and engaging with the AI community. 47 | - **Content Creation:** Advised to create more interactive and structured content like tutorials to enhance accessibility and engagement. 48 | - **Profile Enhancement:** Recommended to refine LinkedIn profile to clearly highlight expertise, goals, and achievements. 49 | - **Technical Development:** Suggested to explore new AI tools and models to broaden technical capabilities. 50 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Muratcan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LinkedIn2Report.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "colab_type": "text", 7 | "id": "view-in-github" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "3v7p5lwm45vr" 17 | }, 18 | "source": [ 19 | "# LinkedIn Profile Analyzer\n", 20 | "\n", 21 | "This Colab notebook is designed to analyze LinkedIn profiles by fetching user details and posts via LinkedIn's API. It then performs a detailed analysis using a custom AI model hosted by OpenRouter.\n", 22 | "\n", 23 | "## Purpose\n", 24 | "\n", 25 | "The purpose of this notebook is to provide insights into the professional background, engagement levels, and areas of expertise of LinkedIn users, which can be particularly useful for creatives, professionals, marketers, or personal branding experts.\n", 26 | "\n", 27 | "## How It Works\n", 28 | "\n", 29 | "1. The notebook retrieves user details and their latest posts from LinkedIn.\n", 30 | "2. It constructs a comprehensive prompt with these details and asks an AI model to analyze the content.\n", 31 | "3. The AI model evaluates the posts to provide insights on professional interests, skills, trends in discussion topics, and recommendations for professional growth.\n", 32 | "\n", 33 | "## API Key and Sensitive Data\n", 34 | "\n", 35 | "- **OPENROUTER_API_KEY**: This is a placeholder for the actual API key used to authenticate requests to OpenRouter's AI service.\n", 36 | "- **Rapid API Linkedin Key**: https://rapidapi.com/freshdata-freshdata-default/api/fresh-linkedin-profile-data\n", 37 | "\n", 38 | "## Setup Instructions\n", 39 | "\n", 40 | "1. Replace `OPENROUTER_API_KEY` with your actual OpenRouter API key.\n", 41 | "2. Replace Rapid API key placeholders with your actual LinkedIn API keys.\n", 42 | "3. Enter the URL of the LinkedIn profile you wish to analyze when prompted.\n", 43 | "\n", 44 | "## Precautions\n", 45 | "\n", 46 | "- Be mindful of API usage limits and potential costs associated with high usage.\n", 47 | "- Handle all personal data fetched from LinkedIn responsibly, adhering to data privacy laws and LinkedIn's terms of service.\n", 48 | "\n", 49 | "## Disclaimer\n", 50 | "\n", 51 | "This tool is intended for educational and professional purposes only. Always ensure you have permission to analyze a LinkedIn profile, especially if using the data for commercial purposes.\n" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 2, 57 | "metadata": { 58 | "colab": { 59 | "base_uri": "https://localhost:8080/" 60 | }, 61 | "id": "ZjoM-sSszVJQ", 62 | "outputId": "0176edf4-f92e-410d-d772-bbb4bfbae576" 63 | }, 64 | "outputs": [ 65 | { 66 | "name": "stdout", 67 | "output_type": "stream", 68 | "text": [ 69 | "\n", 70 | "Extracted Posts:\n", 71 | "Post 1: Just finished the course “Python Essential Training”! in this Time  #pythonprogramminglanguage\n", 72 | "Post 2: Last weekend, Out of 230 participants, 213 has successfully completed the #Google BigQuery for Machine Learning workshop on Cloud Platform, which is a 92% success rate. We are overwhelmed with this official statics. Sincere thanks to Neal Lilliott and @Madusha Cooray for their immense support. Kudos to the selfless volunteers who worked tirelessly to make it happen.\n", 73 | "\n", 74 | "Uttam Tripathi Naveen Nigam Kyle Paul Kübra Zengin\n", 75 | "Ramkumar Arun Shweta Shukla Prachi Bhatnagar Jimberly C.\n", 76 | "Google Developer Group (GDG) Cloud Toronto startGBC\n", 77 | "\n", 78 | "#machinelearning #toronto #cloudcomputing \n", 79 | "#technology #gbc #wtm\n", 80 | "{'id': 'gen-cviwNGZWkHNBKroPq0otI6d8Kyll', 'model': 'cohere/command-r-plus', 'object': 'chat.completion', 'created': 1713146558, 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': 'Here is an analysis of the LinkedIn profile and posts of Anmol Desai: \\n\\n## User Summary:\\n- Name: Anmol Desai\\n- Profile Summary: Data Scientist | AI Enthusiast | Gen AI Engineer | Passionate about Building Solutions with AI\\n- Current Role: AI Engineer Intern at JeezAI\\n- Profile URL: https://www.linkedin.com/in/anmoldesai001/\\n- Education: Bachelor\\'s Degree in Computer Software Engineering, York University; Diploma in Computer Technology/Computer Systems Technology (Software Development), Sheridan College\\n- Experiences: AI Engineer Intern at JeezAI; Technical Sales Specialist at Rogers Communications; Technical Support Specialist at Concentrix; Retail Sales Associate at The Source\\n- Interests: AI, machine learning, cloud computing, technology\\n\\n## Detailed Analysis:\\n### 1. Technical Content Analysis:\\n - Anmol\\'s posts indicate a focus on programming languages and machine learning. \\n - They have completed a Python training course and organized a Google BigQuery for Machine Learning workshop, showcasing their interest and expertise in these areas. \\n - Their work experience as an AI Engineer Intern involves developing data pipelines, working with LLMs, and building applications for internship searches and resume analysis. \\n - This demonstrates a strong technical skill set in programming, machine learning, and AI engineering. \\n\\n### 2. Key Phrases and Expertise:\\n - \"Developed data pipelines using Vector Databases, Pandas, and SQL\" \\n - \"Implemented LangChain agents and integrated OpenAI\\'s GPT models for NLP tasks\" \\n - \"Designed and built an Internship Finder application using a hybrid search and user interface\" \\n - \"Streamlined data ingestion and preprocessing, reducing pipeline time by 25%\" \\n - \"Developed LLM agents, improving information extraction accuracy by 18%\" \\n\\n### 3. Engagement Levels:\\n - Anmol\\'s posts have varying levels of engagement. \\n - The Python course completion post may have received likes and comments from connections, indicating a celebration of their achievement. \\n - The Google BigQuery workshop post has more potential for engagement, with tags of organizations and individuals involved, and a high success rate that could spark discussions. \\n\\n### 4. Topic Trends and Industry Alignment:\\n - Anmol\\'s posts and experience showcase a consistent focus on AI, machine learning, and related technologies. \\n - Their work with LLMs and natural language processing aligns with current industry trends, demonstrating a forward-thinking approach to their career. \\n - The combination of programming, data science, and AI engineering skills positions them well in the job market and shows a commitment to professional development. \\n\\n### 5. Network Growth and Community Impact:\\n - With 500 connections and 510 followers, Anmol has a decent network on LinkedIn. \\n - Their posts engaging with organizations and individuals suggest a collaborative spirit and a willingness to contribute to the community. \\n - The variety of roles and organizations in their experience also indicates a diverse network and a potential for broad industry connections. \\n\\n## Professional Interests:\\n- AI and Machine Learning: Anmol\\'s posts and experience highlight a strong interest in AI and machine learning, including natural language processing and LLM integration. \\n- Cloud Computing: The Google Cloud workshop organization and the use of cloud platforms in their experience indicate an interest in cloud computing and its applications. \\n- Data Science: Their work with data pipelines, data analysis, and machine learning techniques showcase a passion for data-driven solutions and data science. \\n\\n## Skills & Expertise:\\n- Programming: Python, SQL\\n- Machine Learning: Supervised and Unsupervised Learning, NLP\\n- Data Analysis and Visualization: Matplotlib, Seaborn\\n- Database Management: Vector Databases, Pandas, SQL\\n- LLM Integration: OpenAI GPT models, LangChain\\n- Application Development: Internship Finder, Resume Analyzer\\n- Data Pipeline Optimization: Apache Beam\\n\\n## Professional Goals:\\n- Anmol\\'s current role as an AI Engineer Intern suggests a goal of gaining hands-on experience in the field of AI and machine learning. \\n- Their diverse skill set and interest in building solutions indicate a desire to become a well-rounded AI professional. \\n- With a focus on data science, programming, and application development, they may aspire to senior AI engineering or data scientist roles in the future. \\n\\n## Recommendations for Growth:\\n- Enhance Visibility: Anmol can increase their visibility by consistently posting about their achievements, projects, and insights. Sharing their expertise and engaging with relevant groups and influencers in the AI community will expand their reach. \\n- Engage in Thought Leadership: Besides contributing to discussions, they can establish themselves as a thought leader by publishing articles or creating video content related to AI trends, ethical considerations, or innovative use cases. \\n- Diversify Skill Set: To future-proof their career, Anmol should continue diversifying their skill set. They can explore emerging technologies like Web3, edge computing, or AI-as-a-service platforms to stay ahead of the curve. \\n- Seek Mentorship: Connecting with experienced AI professionals or mentors can provide valuable guidance and insights into the industry. Mentorship can help navigate career paths, offer technical advice, and expand their network. \\n- Attend Industry Events: Participating in conferences, meetups, and hackathons will expose Anmol to new ideas, potential collaborators, and job opportunities. These events offer a great platform to learn, network, and showcase their expertise. \\n\\nThis analysis provides a comprehensive overview of Anmol Desai\\'s LinkedIn profile and offers tailored recommendations for growth. By enhancing their visibility, engaging in thought leadership, and diversifying their skill set, Anmol can further establish themselves in the AI community and work towards their professional goals.'}, 'finish_reason': 'COMPLETE'}], 'usage': {'prompt_tokens': 2703, 'completion_tokens': 1180, 'total_tokens': 3883, 'total_cost': 0.025809}}\n", 81 | "\n", 82 | "Analysis Results:\n", 83 | "\n", 84 | "Here is an analysis of the LinkedIn profile and posts of Anmol Desai: \n", 85 | "\n", 86 | "## User Summary:\n", 87 | "- Name: Anmol Desai\n", 88 | "- Profile Summary: Data Scientist | AI Enthusiast | Gen AI Engineer | Passionate about Building Solutions with AI\n", 89 | "- Current Role: AI Engineer Intern at JeezAI\n", 90 | "- Profile URL: https://www.linkedin.com/in/anmoldesai001/\n", 91 | "- Education: Bachelor's Degree in Computer Software Engineering, York University; Diploma in Computer Technology/Computer Systems Technology (Software Development), Sheridan College\n", 92 | "- Experiences: AI Engineer Intern at JeezAI; Technical Sales Specialist at Rogers Communications; Technical Support Specialist at Concentrix; Retail Sales Associate at The Source\n", 93 | "- Interests: AI, machine learning, cloud computing, technology\n", 94 | "\n", 95 | "## Detailed Analysis:\n", 96 | "### 1. Technical Content Analysis:\n", 97 | " - Anmol's posts indicate a focus on programming languages and machine learning. \n", 98 | " - They have completed a Python training course and organized a Google BigQuery for Machine Learning workshop, showcasing their interest and expertise in these areas. \n", 99 | " - Their work experience as an AI Engineer Intern involves developing data pipelines, working with LLMs, and building applications for internship searches and resume analysis. \n", 100 | " - This demonstrates a strong technical skill set in programming, machine learning, and AI engineering. \n", 101 | "\n", 102 | "### 2. Key Phrases and Expertise:\n", 103 | " - \"Developed data pipelines using Vector Databases, Pandas, and SQL\" \n", 104 | " - \"Implemented LangChain agents and integrated OpenAI's GPT models for NLP tasks\" \n", 105 | " - \"Designed and built an Internship Finder application using a hybrid search and user interface\" \n", 106 | " - \"Streamlined data ingestion and preprocessing, reducing pipeline time by 25%\" \n", 107 | " - \"Developed LLM agents, improving information extraction accuracy by 18%\" \n", 108 | "\n", 109 | "### 3. Engagement Levels:\n", 110 | " - Anmol's posts have varying levels of engagement. \n", 111 | " - The Python course completion post may have received likes and comments from connections, indicating a celebration of their achievement. \n", 112 | " - The Google BigQuery workshop post has more potential for engagement, with tags of organizations and individuals involved, and a high success rate that could spark discussions. \n", 113 | "\n", 114 | "### 4. Topic Trends and Industry Alignment:\n", 115 | " - Anmol's posts and experience showcase a consistent focus on AI, machine learning, and related technologies. \n", 116 | " - Their work with LLMs and natural language processing aligns with current industry trends, demonstrating a forward-thinking approach to their career. \n", 117 | " - The combination of programming, data science, and AI engineering skills positions them well in the job market and shows a commitment to professional development. \n", 118 | "\n", 119 | "### 5. Network Growth and Community Impact:\n", 120 | " - With 500 connections and 510 followers, Anmol has a decent network on LinkedIn. \n", 121 | " - Their posts engaging with organizations and individuals suggest a collaborative spirit and a willingness to contribute to the community. \n", 122 | " - The variety of roles and organizations in their experience also indicates a diverse network and a potential for broad industry connections. \n", 123 | "\n", 124 | "## Professional Interests:\n", 125 | "- AI and Machine Learning: Anmol's posts and experience highlight a strong interest in AI and machine learning, including natural language processing and LLM integration. \n", 126 | "- Cloud Computing: The Google Cloud workshop organization and the use of cloud platforms in their experience indicate an interest in cloud computing and its applications. \n", 127 | "- Data Science: Their work with data pipelines, data analysis, and machine learning techniques showcase a passion for data-driven solutions and data science. \n", 128 | "\n", 129 | "## Skills & Expertise:\n", 130 | "- Programming: Python, SQL\n", 131 | "- Machine Learning: Supervised and Unsupervised Learning, NLP\n", 132 | "- Data Analysis and Visualization: Matplotlib, Seaborn\n", 133 | "- Database Management: Vector Databases, Pandas, SQL\n", 134 | "- LLM Integration: OpenAI GPT models, LangChain\n", 135 | "- Application Development: Internship Finder, Resume Analyzer\n", 136 | "- Data Pipeline Optimization: Apache Beam\n", 137 | "\n", 138 | "## Professional Goals:\n", 139 | "- Anmol's current role as an AI Engineer Intern suggests a goal of gaining hands-on experience in the field of AI and machine learning. \n", 140 | "- Their diverse skill set and interest in building solutions indicate a desire to become a well-rounded AI professional. \n", 141 | "- With a focus on data science, programming, and application development, they may aspire to senior AI engineering or data scientist roles in the future. \n", 142 | "\n", 143 | "## Recommendations for Growth:\n", 144 | "- Enhance Visibility: Anmol can increase their visibility by consistently posting about their achievements, projects, and insights. Sharing their expertise and engaging with relevant groups and influencers in the AI community will expand their reach. \n", 145 | "- Engage in Thought Leadership: Besides contributing to discussions, they can establish themselves as a thought leader by publishing articles or creating video content related to AI trends, ethical considerations, or innovative use cases. \n", 146 | "- Diversify Skill Set: To future-proof their career, Anmol should continue diversifying their skill set. They can explore emerging technologies like Web3, edge computing, or AI-as-a-service platforms to stay ahead of the curve. \n", 147 | "- Seek Mentorship: Connecting with experienced AI professionals or mentors can provide valuable guidance and insights into the industry. Mentorship can help navigate career paths, offer technical advice, and expand their network. \n", 148 | "- Attend Industry Events: Participating in conferences, meetups, and hackathons will expose Anmol to new ideas, potential collaborators, and job opportunities. These events offer a great platform to learn, network, and showcase their expertise. \n", 149 | "\n", 150 | "This analysis provides a comprehensive overview of Anmol Desai's LinkedIn profile and offers tailored recommendations for growth. By enhancing their visibility, engaging in thought leadership, and diversifying their skill set, Anmol can further establish themselves in the AI community and work towards their professional goals.\n" 151 | ] 152 | } 153 | ], 154 | "source": [ 155 | "import http.client\n", 156 | "import urllib.parse\n", 157 | "import json\n", 158 | "import requests\n", 159 | "\n", 160 | "# Constants\n", 161 | "OPENROUTER_API_KEY = \"\"\n", 162 | "OPEN_AI_KEY=\"\"\n", 163 | "YOUR_SITE_URL = \"https://jeezai.com\"\n", 164 | "YOUR_APP_NAME = \"JeezAI\"\n", 165 | "\n", 166 | "def get_linkedin_user_details(linkedin_url):\n", 167 | " encoded_url = urllib.parse.quote(linkedin_url, safe='')\n", 168 | " conn = http.client.HTTPSConnection(\"fresh-linkedin-profile-data.p.rapidapi.com\")\n", 169 | " headers = {\n", 170 | " 'X-RapidAPI-Key': \"\",\n", 171 | " 'X-RapidAPI-Host': \"fresh-linkedin-profile-data.p.rapidapi.com\"\n", 172 | " }\n", 173 | " conn.request(\"GET\", f\"/get-linkedin-profile?linkedin_url={encoded_url}&include_skills=false\", headers=headers)\n", 174 | " res = conn.getresponse()\n", 175 | " data = res.read().decode(\"utf-8\")\n", 176 | " print(data)\n", 177 | " return json.loads(data)\n", 178 | "\n", 179 | "def get_linkedin_posts(linkedin_url):\n", 180 | " encoded_url = urllib.parse.quote(linkedin_url, safe='')\n", 181 | " conn = http.client.HTTPSConnection(\"fresh-linkedin-profile-data.p.rapidapi.com\")\n", 182 | " headers = {\n", 183 | " 'X-RapidAPI-Key': \"\",\n", 184 | " 'X-RapidAPI-Host': \"fresh-linkedin-profile-data.p.rapidapi.com\"\n", 185 | " }\n", 186 | " conn.request(\"GET\", f\"/get-profile-posts?linkedin_url={encoded_url}&type=posts\", headers=headers)\n", 187 | " res = conn.getresponse()\n", 188 | " data = res.read().decode(\"utf-8\")\n", 189 | " return json.loads(data)\n", 190 | "\n", 191 | "def generate_text(prompt):\n", 192 | " headers = {\n", 193 | " \"Authorization\": f\"Bearer {OPENROUTER_API_KEY}\",\n", 194 | " \"x-api-key\": f\"{OPEN_AI_KEY}\",\n", 195 | " \"Referer\": YOUR_SITE_URL,\n", 196 | " \"X-Title\": YOUR_APP_NAME,\n", 197 | " \"Content-Type\": \"application/json\"\n", 198 | " }\n", 199 | " data = {\n", 200 | " \"model\": \"openai/gpt-4-turbo\",\n", 201 | " \"max_tokens\": 4000,\n", 202 | " \"temperature\": 0,\n", 203 | " \"messages\": [{\"role\": \"user\", \"content\": prompt}]\n", 204 | " }\n", 205 | " response = requests.post(\"https://openrouter.ai/api/v1/chat/completions\", headers=headers, json=data)\n", 206 | " return response.json()\n", 207 | "\n", 208 | "def main():\n", 209 | " linkedin_url = input(\"Please enter the LinkedIn profile URL: \")\n", 210 | " user_details = get_linkedin_user_details(linkedin_url)\n", 211 | " user_details_no_urls = {key: value for key, value in user_details['data'].items() if not isinstance(value, str) or 'http' not in value}\n", 212 | " user_details_string = json.dumps(user_details_no_urls)\n", 213 | " print(user_details_string)\n", 214 | " posts_data = get_linkedin_posts(linkedin_url)\n", 215 | " posts = posts_data.get('data', [])\n", 216 | "\n", 217 | "\n", 218 | " # Display the posts\n", 219 | " print(\"\\nExtracted Posts:\")\n", 220 | " for i, post in enumerate(posts, 1):\n", 221 | " if 'text' in post:\n", 222 | " print(f\"Post {i}: {post['text']}\")\n", 223 | " else:\n", 224 | " print(f\"Post {i}: [No text available]\")\n", 225 | "\n", 226 | " if posts:\n", 227 | " prompt = f\"\"\"\n", 228 | " LinkedIn Profile Analysis\n", 229 | "\n", 230 | " User Summary:\n", 231 | " Change the below things accorinding to the user data,the below is just an example:\n", 232 | " - Name: John Doe\n", 233 | " - Profile Summary: Experienced AI professional with a passion for innovation.\n", 234 | " - Current Role: AI Researcher at Tech Innovations Inc.\n", 235 | " - Profile URL: {linkedin_url}\n", 236 | " - Education: Bachelor of Science in Computer Science, University of Tech, Master of AI, AI Institute\n", 237 | " - Experiences: AI Engineer at AI Solutions Co., Data Scientist at Data Insights Ltd\n", 238 | " - Interests: AI research, machine learning, data science\n", 239 | "\n", 240 | " Atleast write about 200 words for each of the following .First write the User Summary according to the user.\n", 241 | "\n", 242 | " Detailed Analysis Request:\n", 243 | " 1. Analyze the technical content of the user's posts. Highlight any innovative ideas or significant contributions to the field of AI.\n", 244 | " 2. Extract key phrases or important sentences that showcase the user's expertise and thought leadership.\n", 245 | " 3. Assess the engagement levels of the posts (likes, comments, shares) to gauge influence and reach within the professional network.\n", 246 | " 4. Identify any trends in the topics discussed over time and how they align with current industry trends.\n", 247 | " 5. Evaluate the user's network growth and interactions to understand their community impact and collaborative efforts.\n", 248 | "\n", 249 | " \n", 250 | " Professional Interests:\n", 251 | " - List specific areas of AI and technology the user is interested in, based on post content and interactions.\n", 252 | "\n", 253 | " Skills & Expertise:\n", 254 | " - Detail technical skills, tools, and methodologies mentioned or implied in the user's posts.\n", 255 | "\n", 256 | " Professional Goals:\n", 257 | " - Infer potential career aspirations and professional development goals from the user's content and interactions.\n", 258 | "\n", 259 | " Recommendations for Growth:\n", 260 | " - Offer tailored advice for enhancing visibility, increasing engagement, and expanding technical expertise based on the user's current LinkedIn activity.\n", 261 | "\n", 262 | " Please structure your response with clear headings and bullet points for each section.\n", 263 | " \"\"\"\n", 264 | " prompt+=user_details_string\n", 265 | " for i, post in enumerate(posts, 1):\n", 266 | " try:\n", 267 | " prompt += f\"\\nPost {i}: {post['text']}\"\n", 268 | " except KeyError:\n", 269 | " prompt += f\"\\nPost {i}: [No text available]\"\n", 270 | "\n", 271 | " analysis_results = generate_text(prompt)\n", 272 | " print(analysis_results)\n", 273 | " if 'choices' in analysis_results:\n", 274 | " print(\"\\nAnalysis Results:\\n\")\n", 275 | " for choice in analysis_results['choices']:\n", 276 | " print(choice['message']['content'])\n", 277 | " else:\n", 278 | " print(\"Failed to generate analysis results.\")\n", 279 | " else:\n", 280 | " print(\"No posts found or no text available in posts.\")\n", 281 | "\n", 282 | "if __name__ == \"__main__\":\n", 283 | " main()\n" 284 | ] 285 | }, 286 | { 287 | "cell_type": "code", 288 | "execution_count": null, 289 | "metadata": { 290 | "id": "MCcioIXm7IRz" 291 | }, 292 | "outputs": [], 293 | "source": [] 294 | }, 295 | { 296 | "cell_type": "markdown", 297 | "metadata": { 298 | "id": "I4g5ORPD5unD" 299 | }, 300 | "source": [ 301 | "## Contributions\n", 302 | "\n", 303 | "Feel free to fork this notebook, suggest improvements, or update the underlying models. If you encounter any issues or have suggestions, please submit a pull request or raise an issue in the repository." 304 | ] 305 | } 306 | ], 307 | "metadata": { 308 | "colab": { 309 | "authorship_tag": "ABX9TyNVysEvQnjJTWwPyChQkkrA", 310 | "include_colab_link": true, 311 | "provenance": [] 312 | }, 313 | "kernelspec": { 314 | "display_name": "Python 3", 315 | "name": "python3" 316 | }, 317 | "language_info": { 318 | "codemirror_mode": { 319 | "name": "ipython", 320 | "version": 3 321 | }, 322 | "file_extension": ".py", 323 | "mimetype": "text/x-python", 324 | "name": "python", 325 | "nbconvert_exporter": "python", 326 | "pygments_lexer": "ipython3", 327 | "version": "3.11.6" 328 | } 329 | }, 330 | "nbformat": 4, 331 | "nbformat_minor": 0 332 | } 333 | -------------------------------------------------------------------------------- /LinkedIn_Analysis_Report.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "3v7p5lwm45vr" 7 | }, 8 | "source": [ 9 | "# LinkedIn Profile Analyzer\n", 10 | "\n", 11 | "This Colab notebook is designed to analyze LinkedIn profiles by fetching user details and posts via LinkedIn's API. It then performs a detailed analysis using a custom AI model hosted by OpenRouter.\n", 12 | "\n", 13 | "## Purpose\n", 14 | "\n", 15 | "The purpose of this notebook is to provide insights into the professional background, engagement levels, and areas of expertise of LinkedIn users, which can be particularly useful for creatives, professionals, marketers, or personal branding experts.\n", 16 | "\n", 17 | "## How It Works\n", 18 | "\n", 19 | "1. The notebook retrieves user details and their latest posts from LinkedIn.\n", 20 | "2. It constructs a comprehensive prompt with these details and asks an AI model to analyze the content.\n", 21 | "3. The AI model evaluates the posts to provide insights on professional interests, skills, trends in discussion topics, and recommendations for professional growth.\n", 22 | "\n", 23 | "## API Key and Sensitive Data\n", 24 | "\n", 25 | "- **OPENROUTER_API_KEY**: This is a placeholder for the actual API key used to authenticate requests to OpenRouter's AI service.\n", 26 | "- **OPEN-AI-4_API_KEY**\n", 27 | "- **Rapid API Linkedin Key**: https://rapidapi.com/freshdata-freshdata-default/api/fresh-linkedin-profile-data\n", 28 | "\n", 29 | "## Setup Instructions\n", 30 | "\n", 31 | "1. Replace `OPENROUTER_API_KEY` with your actual OpenRouter API key.\n", 32 | "2. Replace `OPEN_AI_KEY` with your actual OpenAI-4 API key.\n", 33 | "3. Replace Rapid API key placeholders with your actual LinkedIn API keys.\n", 34 | "4. Enter the URL of the LinkedIn profile you wish to analyze when prompted.\n", 35 | "\n", 36 | "## Precautions\n", 37 | "\n", 38 | "- Be mindful of API usage limits and potential costs associated with high usage.\n", 39 | "- Handle all personal data fetched from LinkedIn responsibly, adhering to data privacy laws and LinkedIn's terms of service.\n", 40 | "\n", 41 | "## Disclaimer\n", 42 | "\n", 43 | "This tool is intended for educational and professional purposes only. Always ensure you have permission to analyze a LinkedIn profile, especially if using the data for commercial purposes.\n" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 3, 49 | "metadata": { 50 | "id": "ZjoM-sSszVJQ" 51 | }, 52 | "outputs": [], 53 | "source": [ 54 | "import http.client\n", 55 | "import urllib.parse\n", 56 | "import json\n", 57 | "import requests\n", 58 | "\n", 59 | "# Constants\n", 60 | "OPENROUTER_API_KEY = \"your_api_key\"\n", 61 | "OPEN_AI_KEY=\"your_api_key\"\n", 62 | "YOUR_SITE_URL = \"https://jeezai.com\"\n", 63 | "YOUR_APP_NAME = \"JeezAI\"\n", 64 | "\n", 65 | "def get_linkedin_user_details(linkedin_url):\n", 66 | " encoded_url = urllib.parse.quote(linkedin_url, safe='')\n", 67 | " conn = http.client.HTTPSConnection(\"fresh-linkedin-profile-data.p.rapidapi.com\")\n", 68 | " headers = {\n", 69 | " 'X-RapidAPI-Key': \"your_api_key\",\n", 70 | " 'X-RapidAPI-Host': \"fresh-linkedin-profile-data.p.rapidapi.com\"\n", 71 | " }\n", 72 | " conn.request(\"GET\", f\"/get-linkedin-profile?linkedin_url={encoded_url}&include_skills=false\", headers=headers)\n", 73 | " res = conn.getresponse()\n", 74 | " data = res.read().decode(\"utf-8\")\n", 75 | " return json.loads(data)\n", 76 | "\n", 77 | "def get_linkedin_posts(linkedin_url):\n", 78 | " encoded_url = urllib.parse.quote(linkedin_url, safe='')\n", 79 | " conn = http.client.HTTPSConnection(\"fresh-linkedin-profile-data.p.rapidapi.com\")\n", 80 | " headers = {\n", 81 | " 'X-RapidAPI-Key': \"your_api_key\",\n", 82 | " 'X-RapidAPI-Host': \"fresh-linkedin-profile-data.p.rapidapi.com\"\n", 83 | " }\n", 84 | " conn.request(\"GET\", f\"/get-profile-posts?linkedin_url={encoded_url}&type=posts\", headers=headers)\n", 85 | " res = conn.getresponse()\n", 86 | " data = res.read().decode(\"utf-8\")\n", 87 | " return json.loads(data)\n", 88 | "\n", 89 | "def generate_text(prompt):\n", 90 | " headers = {\n", 91 | " \"Authorization\": f\"Bearer {OPENROUTER_API_KEY}\",\n", 92 | " \"Referer\": YOUR_SITE_URL,\n", 93 | " \"X-Title\": YOUR_APP_NAME,\n", 94 | " \"Content-Type\": \"application/json\"\n", 95 | " }\n", 96 | " data = {\n", 97 | " \"model\": \"cohere/command-r-plus\",\n", 98 | " \"max_tokens\": 4000,\n", 99 | " \"temperature\": 0,\n", 100 | " \"messages\": [{\"role\": \"user\", \"content\": prompt}]\n", 101 | " }\n", 102 | " response = requests.post(\"https://openrouter.ai/api/v1/chat/completions\", headers=headers, json=data)\n", 103 | " return response.json()\n", 104 | "\n", 105 | "def generate_career(prompt):\n", 106 | " headers = {\n", 107 | " \"Authorization\": f\"Bearer {OPENROUTER_API_KEY}\",\n", 108 | " \"x-api-key\": f\"{OPEN_AI_KEY}\",\n", 109 | " \"Referer\": YOUR_SITE_URL,\n", 110 | " \"X-Title\": YOUR_APP_NAME,\n", 111 | " \"Content-Type\": \"application/json\"\n", 112 | " }\n", 113 | " data = {\n", 114 | " \"model\": \"openai/gpt-4-turbo\",\n", 115 | " \"max_tokens\": 4000,\n", 116 | " \"temperature\": 0,\n", 117 | " \"messages\": [{\"role\": \"user\", \"content\": prompt}]\n", 118 | " }\n", 119 | " response = requests.post(\"https://openrouter.ai/api/v1/chat/completions\", headers=headers, json=data)\n", 120 | " return response.json()\n", 121 | "\n" 122 | ] 123 | }, 124 | { 125 | "cell_type": "code", 126 | "execution_count": 4, 127 | "metadata": { 128 | "colab": { 129 | "base_uri": "https://localhost:8080/" 130 | }, 131 | "id": "QUMna30e3H88", 132 | "outputId": "d7646874-5fca-4944-be6e-786f49dd9639" 133 | }, 134 | "outputs": [ 135 | { 136 | "name": "stdout", 137 | "output_type": "stream", 138 | "text": [ 139 | "Please enter the LinkedIn profile URL: https://www.linkedin.com/in/anmoldesai001/\n", 140 | "Please enter the Target Career Role you want to achieve:AI engineer\n", 141 | "\n", 142 | "Extracted Posts:\n", 143 | "Post 1: Just finished the course “Python Essential Training”! in this Time  #pythonprogramminglanguage\n", 144 | "Post 2: Last weekend, Out of 230 participants, 213 has successfully completed the #Google BigQuery for Machine Learning workshop on Cloud Platform, which is a 92% success rate. We are overwhelmed with this official statics. Sincere thanks to Neal Lilliott and @Madusha Cooray for their immense support. Kudos to the selfless volunteers who worked tirelessly to make it happen.\n", 145 | "\n", 146 | "Uttam Tripathi Naveen Nigam Kyle Paul Kübra Zengin\n", 147 | "Ramkumar Arun Shweta Shukla Prachi Bhatnagar Jimberly C.\n", 148 | "Google Developer Group (GDG) Cloud Toronto startGBC\n", 149 | "\n", 150 | "#machinelearning #toronto #cloudcomputing \n", 151 | "#technology #gbc #wtm\n", 152 | "\n", 153 | "Analysis Results:\n", 154 | "\n", 155 | "Here is an analysis of the LinkedIn profile and posts provided: \n", 156 | "\n", 157 | "## User Summary:\n", 158 | "- Name: Anmol Desai\n", 159 | "- Profile Summary: Data Scientist and AI Engineer with a passion for building innovative solutions. Skilled in programming, machine learning, and data analysis. \n", 160 | "- Current Role: AI Engineer Intern at JeezAI\n", 161 | "- Profile URL: https://www.linkedin.com/in/anmoldesai001/\n", 162 | "- Education: Bachelor of Science in Computer Software Engineering, York University (2022-2024); Diploma in Computer Technology/Computer Systems Technology, Sheridan College (2018-2020).\n", 163 | "- Experiences: AI Engineer Intern at JeezAI; Technical Sales Specialist at Rogers Communications; Technical Support Specialist at Concentrix; Retail Sales Associate at The Source.\n", 164 | "- Interests: AI, machine learning, data science, cloud computing, and technology. \n", 165 | "\n", 166 | "## Detailed Analysis:\n", 167 | "### Technical Content and Innovative Ideas:\n", 168 | "Anmol's LinkedIn profile and posts showcase a strong technical background in AI and machine learning. In their profile summary, they highlight their expertise in programming, with a focus on Python, and their experience with machine learning techniques, natural language processing (NLP), and data analysis. \n", 169 | "\n", 170 | "The description of their current role at JeezAI provides further insight into their technical skills. Anmol has worked on developing data pipelines, implementing natural language processing models, and designing applications. They have also utilized cutting-edge technologies such as Vector Databases, Apache Beam, and Large Language Models (LLMs). \n", 171 | "\n", 172 | "One of Anmol's posts mentions completing the \"Python Essential Training\" course, indicating a commitment to enhancing their programming skills. Additionally, their participation in the \"Google BigQuery for Machine Learning\" workshop demonstrates an interest in cloud computing and applying machine learning on a large scale. \n", 173 | "\n", 174 | "### Key Phrases and Thought Leadership:\n", 175 | "- \"Developed data pipelines using Vector Databases, Pandas, and SQL for efficient data processing.\"\n", 176 | "- \"Implemented LangChain agents and integrated OpenAI's GPT models for NLP tasks.\"\n", 177 | "- \"Streamlined data ingestion and preprocessing, reducing pipeline time by 25%.\"\n", 178 | "- \"Developed LLM agents using LangChain and GPT-4, improving information extraction accuracy.\"\n", 179 | "- \"Passionate about Building Solutions with AI.\"\n", 180 | "\n", 181 | "### Engagement and Influence:\n", 182 | "Anmol's posts have received moderate engagement, with the first post about the Python course likely reaching a smaller audience. The second post, however, has potential for wider reach due to the use of multiple hashtags and mentions of organizations and individuals. It celebrates the success of a workshop with a 92% completion rate, which could attract attention and spark discussions within the machine learning community. \n", 183 | "\n", 184 | "### Topic Trends and Industry Alignment:\n", 185 | "Anmol's posts and profile indicate a strong alignment with current industry trends in AI and machine learning. Their focus on Python programming, natural language processing, and cloud computing are all highly relevant topics in the field. Additionally, their experience with Large Language Models (LLMs) demonstrates a forward-thinking approach, as LLMs are at the forefront of AI research and development. \n", 186 | "\n", 187 | "### Network Growth and Community Impact:\n", 188 | "With over 500 connections and 510 followers, Anmol has built a substantial network on LinkedIn. Their follower count suggests that they are seen as a thought leader or influencer within their field. The variety of organizations and individuals mentioned in their second post also indicates active participation in the machine learning community. \n", 189 | "\n", 190 | "## Professional Interests:\n", 191 | "- AI and Machine Learning: Anmol's profile and posts showcase a strong interest in artificial intelligence and machine learning. They have experience with various AI techniques and tools, including natural language processing and Large Language Models. \n", 192 | "- Data Science: Anmol's background in computer science and their current role as a data scientist indicate a deep interest in data science. They have expertise in data analysis, data pipelines, and utilizing machine learning for data-driven solutions. \n", 193 | "- Cloud Computing: Their participation in the \"Google BigQuery for Machine Learning\" workshop demonstrates an interest in cloud computing and leveraging cloud technologies for large-scale data processing and machine learning applications. \n", 194 | "- Technology: Anmol keeps abreast of emerging technologies, as evidenced by their experience with Vector Databases and LLMs. They are passionate about building innovative solutions and exploring new tools to enhance their skill set. \n", 195 | "\n", 196 | "## Skills & Expertise:\n", 197 | "- Programming: Python, NumPy, pandas, scikit-learn, Matplotlib, Seaborn\n", 198 | "- Database and Data Exploration: SQL, Jupyter Notebook\n", 199 | "- Machine Learning: Supervised and Unsupervised Learning, Natural Language Processing (NLP), TensorFlow, spaCy\n", 200 | "- Data Analysis and Visualization: Matplotlib, Seaborn\n", 201 | "- Generative AI: OpenAI GPT models, LLMs\n", 202 | "- Software and Tools: Apache Beam, LangChain, DSPI, Weaviate, Streamlit, LlamaIndex, Pydantic\n", 203 | "\n", 204 | "## Professional Goals:\n", 205 | "Based on Anmol's profile and the analysis above, their professional goals likely include:\n", 206 | "- Continuing to develop their expertise in AI and machine learning: Anmol is passionate about AI and strives to stay at the forefront of the field. They actively enhance their skills and keep up with emerging technologies. \n", 207 | "- Applying AI for innovative solutions: Anmol is interested in utilizing AI to build practical solutions and improve existing processes. Their experience in data pipelines, natural language processing, and application development demonstrates a desire to create impactful solutions. \n", 208 | "- Expanding their influence and thought leadership: With a growing network and follower base, Anmol may aspire to become a recognized thought leader in the AI community. They actively share their knowledge and engage with relevant organizations and individuals. \n", 209 | "\n", 210 | "Overall, Anmol Desai's LinkedIn profile and posts present a well-rounded and skilled professional in the AI and machine learning space. Their technical expertise, combined with a passion for innovation and community engagement, positions them for a successful career in the field.\n" 211 | ] 212 | } 213 | ], 214 | "source": [ 215 | "linkedin_url = input(\"Please enter the LinkedIn profile URL: \")\n", 216 | "target_career=input(\"Please enter the Target Career Role you want to achieve:\")\n", 217 | "user_details = get_linkedin_user_details(linkedin_url)\n", 218 | "user_details_no_urls = {key: value for key, value in user_details['data'].items() if not isinstance(value, str) or 'http' not in value}\n", 219 | "user_details_string = json.dumps(user_details_no_urls)\n", 220 | "posts_data = get_linkedin_posts(linkedin_url)\n", 221 | "posts = posts_data.get('data', [])\n", 222 | "\n", 223 | "\n", 224 | "# Display the posts\n", 225 | "print(\"\\nExtracted Posts:\")\n", 226 | "for i, post in enumerate(posts, 1):\n", 227 | " if 'text' in post:\n", 228 | " print(f\"Post {i}: {post['text']}\")\n", 229 | " else:\n", 230 | " print(f\"Post {i}: [No text available]\")\n", 231 | "\n", 232 | "if posts:\n", 233 | " prompt = f\"\"\"\n", 234 | " LinkedIn Profile Analysis\n", 235 | "\n", 236 | " User Summary:\n", 237 | " Change the below things accorinding to the user data,the below is just an example:\n", 238 | " - Name: John Doe\n", 239 | " - Profile Summary: Experienced AI professional with a passion for innovation.\n", 240 | " - Current Role: AI Researcher at Tech Innovations Inc.\n", 241 | " - Profile URL: {linkedin_url}\n", 242 | " - Education: Bachelor of Science in Computer Science, University of Tech, Master of AI, AI Institute\n", 243 | " - Experiences: AI Engineer at AI Solutions Co., Data Scientist at Data Insights Ltd(Please Try to get all the previous experience of the user and list them)\n", 244 | " - Interests: AI research, machine learning, data science\n", 245 | "\n", 246 | " Atleast write about 200 words for each of the following .First write the User Summary according to the user.\n", 247 | "\n", 248 | " Detailed Analysis Request:\n", 249 | " 1. Analyze the technical content of the user's posts. Highlight any innovative ideas or significant contributions to the field of AI.\n", 250 | " 2. Extract key phrases or important sentences that showcase the user's expertise and thought leadership.\n", 251 | " 3. Assess the engagement levels of the posts (likes, comments, shares) to gauge influence and reach within the professional network.\n", 252 | " 4. Identify any trends in the topics discussed over time and how they align with current industry trends.\n", 253 | " 5. Evaluate the user's network growth and interactions to understand their community impact and collaborative efforts.\n", 254 | "\n", 255 | "\n", 256 | " Professional Interests:\n", 257 | " - List specific areas of AI and technology the user is interested in, based on post content and interactions.\n", 258 | "\n", 259 | " Skills & Expertise:\n", 260 | " - Detail technical skills, tools, and methodologies mentioned or implied in the user's posts.\n", 261 | "\n", 262 | " Professional Goals:\n", 263 | " - Infer potential career aspirations and professional development goals from the user's content and interactions.\n", 264 | "\n", 265 | " Please structure your response with clear headings and bullet points for each section.\n", 266 | " \"\"\"\n", 267 | " prompt+=user_details_string\n", 268 | " for i, post in enumerate(posts, 1):\n", 269 | " try:\n", 270 | " prompt += f\"\\nPost {i}: {post['text']}\"\n", 271 | " except KeyError:\n", 272 | " prompt += f\"\\nPost {i}: [No text available]\"\n", 273 | "\n", 274 | " analysis_results = generate_text(prompt)\n", 275 | " if 'choices' in analysis_results:\n", 276 | " print(\"\\nAnalysis Results:\\n\")\n", 277 | " analysis_messages = []\n", 278 | " for choice in analysis_results['choices']:\n", 279 | " analysis_messages.append(choice['message']['content']) # Append each message to the list\n", 280 | " print(choice['message']['content'])\n", 281 | "\n", 282 | " analysis_results_string = \"\\n\".join(analysis_messages)\n", 283 | "\n", 284 | " else:\n", 285 | " print(\"Failed to generate analysis results.(Might be due to Prompt tokens limit exceeded on openrouter api)\")\n", 286 | "else:\n", 287 | " print(\"No posts found or no text available in posts.(Might be due to you rapidapi key monthly quota limit.)\")" 288 | ] 289 | }, 290 | { 291 | "cell_type": "code", 292 | "execution_count": 5, 293 | "metadata": { 294 | "colab": { 295 | "base_uri": "https://localhost:8080/" 296 | }, 297 | "id": "MCcioIXm7IRz", 298 | "outputId": "15cd420d-aa7a-4da7-8060-501b9e605c5e" 299 | }, 300 | "outputs": [ 301 | { 302 | "name": "stdout", 303 | "output_type": "stream", 304 | "text": [ 305 | "\n", 306 | "Career Analysis Results:\n", 307 | "\n", 308 | "### Personalized Career Plan\n", 309 | "\n", 310 | "#### Career Path:\n", 311 | "1. **Complete Advanced Python Programming Certification**:\n", 312 | " - Enhance your Python skills by completing an advanced course that covers complex topics such as asynchronous programming, decorators, and context managers.\n", 313 | "\n", 314 | "2. **Master Data Structures and Algorithms**:\n", 315 | " - Gain a deep understanding of data structures (like trees, graphs, and hash tables) and algorithms, which are crucial for optimizing AI solutions and passing technical interviews.\n", 316 | "\n", 317 | "3. **Specialize in Machine Learning and Deep Learning**:\n", 318 | " - Enroll in specialized courses to master both theoretical and practical aspects of machine learning and deep learning, focusing on frameworks like TensorFlow and PyTorch.\n", 319 | "\n", 320 | "4. **Develop Expertise in Natural Language Processing (NLP)**:\n", 321 | " - Given your interest in NLP, take advanced courses and work on projects that involve sentiment analysis, chatbots, and machine translation to enhance your skills in this area.\n", 322 | "\n", 323 | "5. **Learn Cloud Computing Platforms**:\n", 324 | " - Acquire skills in AWS, Azure, or Google Cloud, focusing on services that support AI and machine learning workloads to handle large-scale AI applications.\n", 325 | "\n", 326 | "6. **Contribute to Open Source Projects**:\n", 327 | " - Engage with the open-source community by contributing to projects on GitHub, which will help you gain practical experience and improve your coding skills.\n", 328 | "\n", 329 | "7. **Build a Portfolio of AI Projects**:\n", 330 | " - Create a portfolio that showcases your AI projects, including those involving data pipelines, LLMs, and NLP applications. This will be crucial for job applications and interviews.\n", 331 | "\n", 332 | "8. **Network with Industry Professionals**:\n", 333 | " - Attend AI conferences, seminars, and workshops to network with professionals and stay updated with industry trends.\n", 334 | "\n", 335 | "9. **Pursue a Master’s Degree in AI or Data Science**:\n", 336 | " - Consider pursuing further education to deepen your theoretical knowledge and improve your prospects for senior roles.\n", 337 | "\n", 338 | "10. **Seek a Full-Time Role as an AI Engineer**:\n", 339 | " - Leverage your internship experience, projects, and network to find a full-time role that aligns with your skills and career goals.\n", 340 | "\n", 341 | "### Custom Learning Plan\n", 342 | "\n", 343 | "#### Month-by-Month Breakdown:\n", 344 | "- **Month 1**: \n", 345 | " - Complete an advanced Python course.\n", 346 | " - Start a personal project using Python to solve an AI problem.\n", 347 | "\n", 348 | "- **Month 2**:\n", 349 | " - Begin a data structures and algorithms course.\n", 350 | " - Apply new knowledge to optimize existing projects.\n", 351 | "\n", 352 | "- **Month 3**:\n", 353 | " - Enroll in a machine learning course.\n", 354 | " - Start a new project focusing on a machine learning model.\n", 355 | "\n", 356 | "- **Month 4**:\n", 357 | " - Take a deep dive into NLP and start an NLP project.\n", 358 | " - Learn basics of TensorFlow or PyTorch.\n", 359 | "\n", 360 | "- **Month 5**:\n", 361 | " - Begin learning about cloud services relevant to AI.\n", 362 | " - Deploy an AI model on the cloud.\n", 363 | "\n", 364 | "- **Month 6**:\n", 365 | " - Contribute to an open-source AI project.\n", 366 | " - Prepare and refine your AI project portfolio.\n", 367 | "\n", 368 | "### Programming Languages to Learn:\n", 369 | "- Python\n", 370 | "- SQL\n", 371 | "- JavaScript (for implementing AI in web applications)\n", 372 | "- R (for statistical analysis)\n", 373 | "\n", 374 | "### Books to Read:\n", 375 | "1. \"Python Machine Learning\" by Sebastian Raschka\n", 376 | "2. \"Deep Learning with Python\" by François Chollet\n", 377 | "3. \"Natural Language Processing with Python\" by Steven Bird, Ewan Klein, and Edward Loper\n", 378 | "4. \"Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow\" by Aurélien Géron\n", 379 | "5. \"AI: A Very Short Introduction\" by Margaret A. Boden\n", 380 | "6. \"Pattern Recognition and Machine Learning\" by Christopher M. Bishop\n", 381 | "7. \"Deep Learning\" by Ian Goodfellow, Yoshua Bengio, and Aaron Courville\n", 382 | "8. \"Data Science from Scratch\" by Joel Grus\n", 383 | "9. \"The Master Algorithm\" by Pedro Domingos\n", 384 | "10. \"Machine Learning Yearning\" by Andrew Ng\n", 385 | "\n", 386 | "### Leaders to Follow:\n", 387 | "1. Andrew Ng (Co-founder of Coursera, Adjunct Professor at Stanford University)\n", 388 | "2. Geoffrey Hinton (Pioneer in Deep Learning)\n", 389 | "3. Yann LeCun (Chief AI Scientist at Facebook)\n", 390 | "4. Fei-Fei Li (Co-Director of Stanford University's Human-Centered AI Institute)\n", 391 | "5. Ian Goodfellow (Director of Machine Learning in the Special Projects Group at Apple)\n", 392 | "6. Sebastian Thrun (Founder of Udacity and Google X)\n", 393 | "7. François Chollet (Creator of Keras, AI Researcher at Google)\n", 394 | "8. Jeremy Howard (Founder of Fast.ai)\n", 395 | "9. Lex Fridman (Research Scientist at MIT)\n", 396 | "10. Andrej Karpathy (Senior Director of Artificial Intelligence at Tesla)\n", 397 | "\n", 398 | "This roadmap and learning plan are designed to be comprehensive and challenging, tailored to your current skills and future aspirations in the AI field.\n" 399 | ] 400 | } 401 | ], 402 | "source": [ 403 | "prompt_career=f\"\"\"\n", 404 | " You are responsible for creating a detailed career roadmap for this user.\n", 405 | "\n", 406 | " Profile Report:\n", 407 | " Target Career Role: {target_career}\n", 408 | "\n", 409 | "\n", 410 | " Create a career report for this user in this structure:/n\n", 411 | "\n", 412 | " Personalized Career Plan\n", 413 | " Career Path: (By analyzing user's current education and experiences as well as target career roal, create a 10 step plan for the user to launch/upskill their career for the given role. The plan should be comprehensive, technical and challenging. Add 10 steps along with 10 descriptions of each steps)\n", 414 | " Custom Learning Plan: (Create a very technical, assertive and challenging learning plan for the user to launch their career in the given role within 6 months. The plan should be month by month, including different programming languages, hands on and capstone project and networking, skill development and focuses areas particulary for the target goal. You have to personalize this plan by checking user's previous experiences and current knowledge level in the field.)\n", 415 | " Programming Languages to learn: (list the relevant programming languages)\n", 416 | " Books to read: (recommend 10 relevant books with the target goal and their current level.)\n", 417 | " Leaders to follow: (list 10 leaders in this field to follow)\n", 418 | "\n", 419 | " Below is the complete user detail:\n", 420 | " \"\"\"\n", 421 | "\n", 422 | "prompt_career+=analysis_results_string\n", 423 | "\n", 424 | "prompt_career+=f\"\"\"\\n\\n Strictly give your responce with clear headings and bullet points for each section.\"\"\"\n", 425 | "career_analysis=generate_career(prompt_career)\n", 426 | "if 'choices' in career_analysis:\n", 427 | " print(\"\\nCareer Analysis Results:\\n\")\n", 428 | " for choice in career_analysis['choices']: # Append each message to the list\n", 429 | " print(choice['message']['content'])\n" 430 | ] 431 | }, 432 | { 433 | "cell_type": "markdown", 434 | "metadata": { 435 | "id": "I4g5ORPD5unD" 436 | }, 437 | "source": [ 438 | "## Contributions\n", 439 | "\n", 440 | "Feel free to fork this notebook, suggest improvements, or update the underlying models. If you encounter any issues or have suggestions, please submit a pull request or raise an issue in the repository." 441 | ] 442 | } 443 | ], 444 | "metadata": { 445 | "colab": { 446 | "provenance": [] 447 | }, 448 | "kernelspec": { 449 | "display_name": "Python 3", 450 | "name": "python3" 451 | }, 452 | "language_info": { 453 | "codemirror_mode": { 454 | "name": "ipython", 455 | "version": 3 456 | }, 457 | "file_extension": ".py", 458 | "mimetype": "text/x-python", 459 | "name": "python", 460 | "nbconvert_exporter": "python", 461 | "pygments_lexer": "ipython3", 462 | "version": "3.11.6" 463 | } 464 | }, 465 | "nbformat": 4, 466 | "nbformat_minor": 0 467 | } 468 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LinkedIn Profile Insight Tool 2 | 3 | **Creator**: Muratcan Koylan [Profile Link](https://twitter.com/koylanai) 4 | 5 | ## Overview 6 | 7 | The LinkedIn Profile Insight Tool is designed to leverage advanced AI models, such as Cohere Command R+, to provide detailed analysis and insights into LinkedIn profiles. This tool extracts data from LinkedIn profiles and posts, offering users a comprehensive look at professional behaviors, trends, and potential growth areas. 8 | 9 | ## Features 10 | 11 | - **User Detail Extraction**: Retrieves detailed information from LinkedIn profiles, such as roles, experiences, and recent activities. 12 | - **Post Analysis**: Analyzes LinkedIn posts to determine engagement levels, areas of expertise, and prevalent topics. 13 | - **Professional Insights**: Generates insights into a user's professional interests and industry influence. 14 | - **Engagement Metrics**: Assesses the impact of LinkedIn activities through engagement metrics like likes, comments, and shares. 15 | 16 | ## Workflow 17 | 18 | 1. **Data Retrieval**: The tool fetches user details and posts from LinkedIn. 19 | 2. **Data Analysis**: Applies AI models to analyze the data. 20 | 3. **Report Generation**: Outputs a structured report detailing insights and recommendations for professional development. 21 | 22 | ## Setup 23 | 24 | Ensure you have valid API keys for LinkedIn and OpenRouter's AI services. Insert these keys where indicated in the code. 25 | 26 | ## Usage 27 | 28 | 1. Open `linkedin_profile_insight.ipynb` in Google Colab. 29 | 2. Input your API keys where indicated. 30 | 3. Execute the notebook cells sequentially. 31 | 4. Enter the LinkedIn profile URL when prompted. 32 | 5. Review the comprehensive report generated by the tool. 33 | 34 | ## Security and Compliance 35 | 36 | - **API Key Security**: Store your API keys securely to prevent unauthorized access. 37 | - **Data Privacy**: Adhere to relevant data protection laws, such as GDPR, when handling personal data. 38 | 39 | ## Disclaimer 40 | 41 | This tool is intended for educational and informational purposes only. It is not a substitute for professional career advice. Always respect privacy and use judgment when analyzing LinkedIn profiles. 42 | 43 | ## License 44 | 45 | This project is open-sourced under the MIT License which allows for free use and modification with proper attribution. 46 | 47 | ## Contributing 48 | 49 | Contributions are welcome! Enhance functionality, address bugs, or suggest improvements by: 50 | - **Submitting Pull Requests**: Contribute directly to code enhancements or fixes. 51 | - **Reporting Issues**: Provide feedback and suggest new features or enhancements. 52 | 53 | ## Contact 54 | 55 | For further information, collaboration, or inquiries, you can reach me directly on LinkedIn: 56 | 57 | - **Muratcan Koylan**: [Profile Link](https://twitter.com/youraimarketer) 58 | 59 | ## Additional Resources 60 | 61 | We can use this tool to enhance our agentic workflows, let me know if you want to collaborate. 62 | --------------------------------------------------------------------------------