#25 learn Python (part 3): LLMs & AI Applications
As I prepared to head back to work, I knew I wanted to focus on generative AI applications with my clients, so I pivoted my Python training to learn more about the core components of these kinds of solutions.
This ‘Developing AI Applications’ track from DataCamp provided a really nice overview of the key building blocks for key LLM use cases including semantic search and recommender systems. While I’ve worked with these kinds of solutions from a product / business perspective previously, getting into a bit more detail of how to build them in code gave me a new appreciation for how the different pieces fit together.
It also included some really nice specifics around working with the OpenAI APIs, vector databases, and embeddings. A few key topics covered throughout the track included:
Overview of the OpenAI endpoints and how to inspect and extract the results of responses
Creating ‘tools’ for function calling, chaining tools and models, and ReAct agents
Document loading and embedding
Key steps in a semantic search, recommendation, or classification process
Computing similarity between embeddings using cosine similarity
Different types of Vector databases for different purposes
Working with ChromaDB, HuggingFace, LangChain and other open source tools
Structuring E2E applications for production, e.g. how to create a well-structured API call, error handling and validation, and efficiency, e.g. batching API calls and reducing tokens
And of course the critical topics of moderation, ethics, API safety and security, and data privacy.