Quick Summary: Introduction: Language models are powerful but lack knowledge of the world. We can augment them by providing relevant context and data. Witnesses: - Retrieval: Searching a corpus and providing relevant documents as context. - Chains: Using one language model to develop context for another. - Tools: Giving models access to APIs and external data. Testimonies: Retrieval: - Simplest way is adding relevant facts to context window. - As corpus scales, treat it as an information retrieval problem. - Embeddings and vector databases can improve retrieval. Chains: - Use one language model to develop context for another. - Can help encode complex reasoning and get around token limits. - Tools like Langchain provide examples of chain patterns. Tools: - Give models access to APIs and external data. - Chains involve manually designing tool use. - Plugins let models decide when to use tools. Key Takeaways: - Start with rules and heuristics to provide context. - As knowledge base scales, think about information retrieval. - Chains can help with complex reasoning and token limits. - Tools give models access to external knowledge. Conclusion: Augmenting language models with relevant context and data can significantly improve their capabilities. There are a variety of techniques to provide that augmentation, each with trade-offs around flexibility, reliability, and complexity.
Love the logical sequence of presenting the complications in advanced LLM applications. One of the best resources on the web, if one wants a solid mental map of how and when to augment LLMs.
Another fantastic video (webinar) helping to build on foundational knowledge of LLMs. Clear explainations of chains, tools, APIs, and "process". Can't wait to watch the next one (LLMOPs)