rory mulcahey
rory mulcahey
  • 97
  • 88 987
AI Project - Build a Specialized Search Engine
Welcome to the Search Engine Project Series!
In this video, we kick off our series on building a powerful Search Engine using advanced Natural Language Processing (NLP) techniques. This project will guide you through leveraging machine learning models to match search queries with relevant resumes, though the concepts we cover can be applied to any type of search engine based on data of your choosing.
🔍 What’s in This Video?
Introduction to the Project: We’ll introduce you to the resume search engine project, discussing its capabilities and what you can expect to learn throughout this series.
Project Demonstration: Watch a live demo of the search engine in action. See how it processes a search query like "Senior software engineer with 5 years of experience and a master's degree" and returns the most relevant resumes.
High-Level Architecture: We’ll break down the architecture of the system, covering key components like data preparation, embedding creation, the search mechanism, and API deployment.
Walkthrough of Pycharm Code: Get an overview of the code that powers the search engine. We’ll describe each file and its role in the overall project.
Outline of the Series: Learn about what’s coming up in the series. We’ll be diving deep into each component, from generating synthetic data to deploying the search engine as an API. By the end of this series, you’ll have the knowledge to build and expand your own search engine.
📂 Resources:
Colab Notebook: colab.research.google.com/drive/11Esw9Fz3eRA15G3kDqlXt4xhAfqdm1ls?usp=sharing - This has all the code needed to run the models. This code should work immediately, with printed text results, without needing the GUI or ngrok.
Search Engine GUI:
rorymulcahey.pythonanywhere.com/resume_search - This is a webpage shell to nicely input query and display of data. You need to create an ngrok account, update the authkey in the notebook and then update the nGrok URL to use this page.
Ngrok Setup Guide:
dashboard.ngrok.com/get-started/setup/windows - Once you have an account, this page has the authkey that will go into the notebook. Then you should be able to run the api endpoint.
Note: To run the code yourself, you’ll need an Ngrok authentication key. Instructions for obtaining this key and setting up your environment can be found in the Colab Notebook.
#SearchEngine #MachineLearning #NLP #DataScience #AI
Переглядів: 291

Відео

fbgemm.dll [WinError 126] The specified module could not be found.
Переглядів 3,3 тис.5 місяців тому
Quick walkthrough of how to solve a pytorch import error. Link to dll file: github.com/rorymulcahey/libomp140.x86_64.dll/raw/main/libomp140.x86_64.dll Trying to setting up pytorch. import torch error Annoying bug. Error message unclear. CPU integration issue? OSError: [WinError 126] The specified module could not be found. Error loading "project\Lib\site-packages\torch\lib\fbgemm.dll" or one of...
Tkinter Use Entry to Collect Data
Переглядів 808 місяців тому
In this video we will cover how to build a tkinter application that reads from entry textbox inputs. Basic Steps: Add a simple tkk separator to partition different core functionality. Add entry and label then pack to place them in the window. Build a method to read from all entry data. Add button click method to the button command. Python Pycharm Tkinter Entry Button Label Messagebox pack mainl...
Tkinter Button Click to Update Label
Переглядів 4508 місяців тому
In this video we will cover how to build a simple tkinter application that updates a label on a button click. Basic Steps: Create a basic tkinter window and use mainloop to run it. Add button and label then pack to place them in the window Build a method to run on button click by adding it to command. Python Pycharm Tkinter Button Label pack mainloop config Pickle import Functions dictionary va...
Run AI on your computer and read PDFs!
Переглядів 1,3 тис.8 місяців тому
Timestamps: 0:00 Intro to GPT4All 1:51 Setup Application 4:35 Download AI Models 5:30 SBert Embedding Model 6:05 Load documents into Application 8:35 How to Choose LLM Model 9:45 Chat with the Model 12:55 Result outputs from reading Docs! 16:29 Outro gpt4all.io/ GPT4All leverages the power of the cpu to run a variety of LLMs locally on your machine. Read pdf or txt documents with Llama 3, Mistr...
Pickle with Class and Static Methods - Python for Beginners
Переглядів 808 місяців тому
In this video we will cover how to pickle encapsulated class objects and create/use static methods. Basic Steps: Modify generic python pickle code into OOP design. Modify generic functions to be static methods. Show similar functionality in new state. Python Pycharm Pickle import Functions dictionary variables dat file Print statements main Try except init str initialize default parameter Param...
Pickle Import Read/Write - Python for Beginners
Переглядів 5438 місяців тому
In this video we will cover how to generate and retrieve python data using pickle import functions. Basic Steps: Create some basic data. Save/dump data into a pickle object dat file. Read/load data from the pickle object dat file. Python Pycharm Pickle import Functions dictionary dump load variables dat file Print statements main
Raise Error and Loop Program - Python for Beginners
Переглядів 318 місяців тому
In this video we will cover how to raise an error exception in a try except clause, as well as continuously running a program with a while loop. Basic Steps: Collects user input gathering with a while loop. Centralize class logic into one class method. Raise an exception in a class method to return information to the caller. Python Pycharm Try except Raise ValueError init initialize default par...
Dictionary & First-Class Function - Python for Beginners
Переглядів 428 місяців тому
In this video we will cover how to implement first class functions using a dictionary lookup. Basic Steps: Transition if else logic into dictionary get value. Use dictionary to create first class functions. Design command pattern for decoupled code. Call method using first class function. Python Pycharm Dictionaries 1st Class Function Try except Raise ValueError init initialize default paramete...
Property/Setter & Default Parameter - Python for Beginners
Переглядів 748 місяців тому
In this video we will cover how to encapsulate class objects by using properties and setter methods. Basic Steps: Modify function prototype with a default parameter. Implement encapsulation using the property and setter. Compare protected variables to properties. Python Pycharm init initialize default parameter @setter @property Parameter Return Print statements main Encapsulation
Class __str__ method - Python for Beginners
Переглядів 219Рік тому
In this video we will cover how to build and use the str method within a class. Basic Steps: Show what prints by default from the object Create the str method inside our class. Print the new result with the str method call. Python Pycharm str string override init intialize Random Datetime CSV Function call Parameter Return Print statements Dict Items For Loop Import main
Class __init__ method - Python for Beginners
Переглядів 104Рік тому
In this video we will cover how to build and use a constructor within a class. Basic Steps: Create the init method inside our class. Add class variables that can be used by all methods. Initialize the class variable using the constructor parameter. Modify the object instantiation to use the filename argument. Python Pycharm init intialize Random Datetime CSV Function call Parameter Return Print...
Intro to Object Oriented Programming - Python for Beginners
Переглядів 125Рік тому
In this video we will cover how to convert regular procedural code into the object-oriented programming design. Basic Steps: Highlight small changes to code from previous videos. Modify code to be a nested under a class tag. Instantiate object to use class methods. Python Pycharm Random Datetime CSV Function call Parameter Return Print statements Dict Items For Loop Import main
Convert List to Dict - Python for Beginners
Переглядів 496Рік тому
In this video we will cover how to modify our program flow which previously used a list, to instead use a dictionary. Basic Steps: Create a new dictionary Update new column header text Grab key/value pair with items() Python Pycharm Random Datetime CSV Function call Parameter Return Print statements Dict Items For Loop Import
Using Dictionaries - Python for Beginners
Переглядів 181Рік тому
In this video we will cover the basics of dictionaries in Python. Basic Steps: Initialize dictionary Add new key/value pair Display all dict values Display all dict key/value pairs Pop/remove one pair Query dictionary value Query with get() method Query key if exists in dict Loop through all keys Python Pycharm Dictionary Query Dict Values Items Pop Get In For Loop
Append to CSV File (3/3) - Python for Beginners
Переглядів 779Рік тому
Append to CSV File (3/3) - Python for Beginners
Read from CSV File (2/3) - Python for Beginners
Переглядів 231Рік тому
Read from CSV File (2/3) - Python for Beginners
Write to CSV File (1/3) - Python for Beginners
Переглядів 451Рік тому
Write to CSV File (1/3) - Python for Beginners
While Loop Continuously & Input (6/7) - Python for Beginners
Переглядів 569Рік тому
While Loop Continuously & Input (6/7) - Python for Beginners
If Elif Else Automation (7/7) - Python for Beginners
Переглядів 114Рік тому
If Elif Else Automation (7/7) - Python for Beginners
Generator Expression (5/7) - Python for Beginners
Переглядів 105Рік тому
Generator Expression (5/7) - Python for Beginners
Function Docs and Uses (4/7) - Python for Beginners
Переглядів 117Рік тому
Function Docs and Uses (4/7) - Python for Beginners
Function Calls, Parameters & Return (3/7) - Python for Beginners
Переглядів 208Рік тому
Function Calls, Parameters & Return (3/7) - Python for Beginners
List Comprehension (2/7) - Python for Beginners
Переглядів 171Рік тому
List Comprehension (2/7) - Python for Beginners
List Append/Pop with For Loop (1/7) - Python for Beginners
Переглядів 333Рік тому
List Append/Pop with For Loop (1/7) - Python for Beginners
Import Libraries, Random Numbers - Python for Beginners
Переглядів 642Рік тому
Import Libraries, Random Numbers - Python for Beginners
While Loop, Break - Python for Beginners
Переглядів 580Рік тому
While Loop, Break - Python for Beginners
Function Calls - Python for Beginners
Переглядів 132Рік тому
Function Calls - Python for Beginners
Try Except Raise - Python for Beginners
Переглядів 281Рік тому
Try Except Raise - Python for Beginners
If Elif Else Statements - Python for Beginners
Переглядів 260Рік тому
If Elif Else Statements - Python for Beginners

КОМЕНТАРІ

  • @trxe420
    @trxe420 15 днів тому

    It's amazing how hard this info is to find, I never use SQLite and it was pissing me off that I couldn't view it. For those that are using the core version and migrations, if you have already updated or created the db the toolbox will still work to view the tables. Just add a connection and then browse to it (toolbox was unable to locate it in my solution).

  • @zandanshah
    @zandanshah 21 день тому

    Thanks for the clue, never knew about this application. I have a 24GB graphic card, was able to process 390 page pdf book in a flash.

  • @poopwad5206
    @poopwad5206 2 місяці тому

    the video quality sucks so bad i can't see anything

  • @jagzey
    @jagzey 3 місяці тому

    goat

  • @7fuss6
    @7fuss6 3 місяці тому

    thank you 👍

  • @devilisgaminghacker7695
    @devilisgaminghacker7695 4 місяці тому

    I tried this error for almost one week but all videos told fake you told me real solution

  • @devilisgaminghacker7695
    @devilisgaminghacker7695 4 місяці тому

    You are the best man ever

  • @aironixhdx6372
    @aironixhdx6372 4 місяці тому

    Thanks dude! soo many hours lost due to this and so many gained when it was finally fixed, thanks!

  • @SpoonFryJPR
    @SpoonFryJPR 4 місяці тому

    GOATED

  • @HarshaVardhan-p9u
    @HarshaVardhan-p9u 4 місяці тому

    Thank You

  • @ankitdevkota6585
    @ankitdevkota6585 4 місяці тому

    Man... you are a lifesaver....

  • @yunogasai-i6i
    @yunogasai-i6i 4 місяці тому

    I love you <3 Thank you so much!!

  • @lokeshkashyap6263
    @lokeshkashyap6263 4 місяці тому

    thanks!

  • @ashishbisht9162
    @ashishbisht9162 4 місяці тому

    Thank you so much

  • @abhinavkumarraj6025
    @abhinavkumarraj6025 4 місяці тому

    finnaaalyyyy ..... thankuuuu

  • @lequangnguyendinh7101
    @lequangnguyendinh7101 4 місяці тому

    thank you

  • @IndianParthGaming
    @IndianParthGaming 4 місяці тому

    Manhh!!! finally legit solution

  • @raedouiriemmi9765
    @raedouiriemmi9765 4 місяці тому

    Thanks a lot

  • @arnavjaret8652
    @arnavjaret8652 4 місяці тому

    OG <3

  • @murilofernandes4049
    @murilofernandes4049 4 місяці тому

    I love you

  • @ericlemus7795
    @ericlemus7795 4 місяці тому

    You save me! Thaks a lot dude :)

  • @heranweyessa2147
    @heranweyessa2147 4 місяці тому

    OMG u are a life saver thank you man

  • @futureankit
    @futureankit 4 місяці тому

    thanks a lot man

  • @second1799
    @second1799 4 місяці тому

    finally it worked! thx man

  • @tanvirmiahjoy7153
    @tanvirmiahjoy7153 4 місяці тому

    First method worked fine. Thanks!

  • @RodneyGin
    @RodneyGin 4 місяці тому

    you are the man!

  • @instrumental_box
    @instrumental_box 4 місяці тому

    It worked for me. Thanks a lot.

  • @alexanderrhewitt
    @alexanderrhewitt 4 місяці тому

    Oh frick'in finally! Claude and OpenAI have been telling me to 'get lost' cause I couldn't figure this out.

    • @rorymulcahey
      @rorymulcahey 4 місяці тому

      Yup. This solution isn't in the training data, yet...

  • @Flutterinfo
    @Flutterinfo 4 місяці тому

    Thank You so much.

  • @subhamdebnath9898
    @subhamdebnath9898 5 місяців тому

    Bro let's build a search engine for a personalized country or for continent if u interested then reply me back

  • @benjaminschnedler1273
    @benjaminschnedler1273 5 місяців тому

    Thank you so much!

  • @ShubhangiPatil-s1s
    @ShubhangiPatil-s1s 5 місяців тому

    Thank you so much.

  • @Eser_Ozbilgic
    @Eser_Ozbilgic 5 місяців тому

    Man you are the man, such a great video. I was spending all my time to fix this error for 3 days. You saved whole my CS career in 10secs

  • @Dev_and_symphony
    @Dev_and_symphony 5 місяців тому

    thanks so much bro save my code

  • @이연호-o7g
    @이연호-o7g 5 місяців тому

    Thank you so much

  • @Tooooooki
    @Tooooooki 5 місяців тому

    DUDE THANK YOU SO MUCH!!! That was driving me crazy for hours!!!

  • @eraycem6234
    @eraycem6234 5 місяців тому

    Bro thank you so much ı was getting crazy

    • @alp5331
      @alp5331 4 місяці тому

      AMAZGİNGGGG

  • @kingsblognetwork731
    @kingsblognetwork731 5 місяців тому

    Thank you so much

  • @luihwang1070
    @luihwang1070 5 місяців тому

    YOU SAVE MY LIFE!!!! Thank you so much.

  • @maestro_100
    @maestro_100 5 місяців тому

    Thank You Very Much!

  • @Ege-h6u
    @Ege-h6u 6 місяців тому

    thank you brother!!

  • @rrenildopereiraa
    @rrenildopereiraa 6 місяців тому

    thx friend yr a friend! o/

  • @maynardcabanizas8170
    @maynardcabanizas8170 7 місяців тому

    No package found😢

  • @fishlovemewomenfearme7862
    @fishlovemewomenfearme7862 7 місяців тому

    🤩🙃

  • @fishlovemewomenfearme7862
    @fishlovemewomenfearme7862 7 місяців тому

    pls merry me

  • @irfannaseef
    @irfannaseef 7 місяців тому

    Please share the database helper code file

  • @jash9897
    @jash9897 8 місяців тому

    straight to the point! thanks!

  • @2003Abdulla
    @2003Abdulla 8 місяців тому

    legend

  • @NameWurdeVon_ChatGPT_generiert
    @NameWurdeVon_ChatGPT_generiert 8 місяців тому

    Nice introdruction. Just tested it a bit. What would you suggest is the best way to update an existing directory after adding some new pdf files into? I could not find a refresh button or somethin like that. I tried a couple of times and it always rescans my whole file structure. Which is ok for a a couple of files but not for hundreds or so.

    • @NameWurdeVon_ChatGPT_generiert
      @NameWurdeVon_ChatGPT_generiert 8 місяців тому

      Maybe one additional question. Scanning may whole library would take days or maybe weeks on my platform. Is it possible to scan only parts of my library - folder by folder - and merge them all in the end? I could not find such a function in documentation.

    • @rorymulcahey
      @rorymulcahey 8 місяців тому

      I found with this program that I needed to make sure the folder only had what I wanted, and nothing more. And I needed to restart the program quite often to "refresh" the localdocs embeddings

  • @deldadam
    @deldadam 8 місяців тому

    Hi Rory, I haven't seen in the video that you've added the directive 'using System.IO' to the source file. The StreamReader won't work without this directive.

    • @rorymulcahey
      @rorymulcahey 8 місяців тому

      Yes you are correct, you will need to add that. I already had it loaded into my project at the start of the video.