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