LLM Course – Build a Semantic Book Recommender (Python, OpenAI, LangChain, Gradio)

Estimated read time 3 min read

Post Content

​ Discover how to build an intelligent book recommendation system using the power of large language models and Python. Learn to transform book descriptions into mathematical representations that enable precise content-based matching. By the end of this course, you’ll have built a recommendation engine that helps readers discover their next favorite book.

💻 Code from this tutorial: https://github.com/t-redactyl/llm-semantic-book-recommender/tree/main

🏗️ JetBrains provided a grant to make this course possible.

⭐️ Resources ⭐️
Free 3-Month PyCharm Professional Subscription
Code: PyCharm4FreeCodeCamp
Download PyCharm: https://jb.gg/pycharm-fcc
Redeem PyCharm 3-month free license: jetbrains.com/store/redeem

Download PyCharm: https://jb.gg/pycharm-fcc
Kaggle datasets: https://kaggle.com/datasets
7K books dataset by Dylan Castillo: https://kaggle.com/datasets/dylanjcastillo/7k-books-with-metadata
Hugging Face free NLP course: https://huggingface.co/learn/nlp-course/en/
Explanation of transformer encoder-decoder models (from Hugging Face NLP course): https://huggingface.co/learn/nlp-course/en/chapter1/7
Explanation of transformer decoder-only models (from Hugging Face NLP course): https://huggingface.co/learn/nlp-course/en/chapter1/6
Explanation of transformer encoder-only models (from Hugging Face NLP course): https://huggingface.co/learn/nlp-course/en/chapter1/5
Hugging Face Hub models page: https://huggingface.co/models
OpenAI models: https://platform.openai.com/docs/models
Explanation of vector index (from Weaviate): https://weaviate.io/developers/weaviate/concepts/vector-index
LangChain Python docs: https://python.langchain.com/docs/introduction
LangChain chat model integrations: https://python.langchain.com/docs/integrations/chat
OpenAI billing page: https://platform.openai.com/settings/organization/billing/overview
OpenAI API keys page: https://platform.openai.com/settings/organization/api-keys
Explanation of zero-shot classification (from Hugging Face): https://huggingface.co/tasks/zero-shot-classification
Information about fine-tuned emotion classification model: https://dataloop.ai/library/model/j-hartmann_emotion-english-distilroberta-base
Getting started with Gradio: https://gradio.app/guides/quickstart
Gradio playground: https://gradio.app/playground
Gradio themes: https://gradio.app/guides/theming-guide
Further work by Jodie about LLMs
Talk from GOTO Amsterdam giving an overview of LLMs: https://youtube.com/watch?v=Pv0cfsastFs
Talk from NDC Oslo about whether LLMs are showing signs of humanity: https://youtube.com/watch?v=kqJ7rZHFx84
Talk from PyCon US about hallucinations in LLMs: https://youtube.com/watch?v=innz9iBIAdU
Tutorial on doing sentiment analysis with LLMs: https://blog.jetbrains.com/pycharm/2024/12/how-to-do-sentiment-analysis-with-large-language-models/
Article on LLM’s understanding of language: https://t-redactyl.io/blog/2024/06/can-llms-use-language-at-a-human-like-level.html
Article on sentience in LLMs: https://t-redactyl.io/blog/2024/07/could-llms-be-sentient.html
Article on intelligence in LLMs: https://t-redactyl.io/blog/2024/07/are-llms-on-the-path-to-agi.html
12:25

⭐️ Chapters ⭐️
0:00:00 Intro
0:03:05 Introduction to getting and preparing text data
0:05:51 Starting a new PyCharm project
0:16:59 Patterns of missing data
0:25:21 Checking the number of categories
0:28:27 Remove short descriptions
0:34:36 Final cleaning steps
0:38:11 Introduction to LLMs and vector search
0:54:43 LangChain
0:58:46 Splitting the books using CharacterTextSplitter
1:02:57 Building the vector database
1:05:50 Getting book recommendations using vector search
1:11:07 Introduction to zero-shot text classification using LLMs
1:15:34 Finding LLMs for zero-shot classification on Hugging Face
1:22:21 Classifying book descriptions
1:26:24 Checking classifier accuracy
1:35:19 Introduction to using LLMs for sentiment analysis
1:39:25 Finding fine-tuned LLMs for sentiment analysis
1:42:07 Extracting emotions from book descriptions
1:54:25 Introduction to Gradio
1:56:51 Building a Gradio dashboard to recommend books
2:12:49 Outro   Read More freeCodeCamp.org 

#programming #freecodecamp #learn #learncode #learncoding

You May Also Like

More From Author