Patterns of Application Development Using AI
Author: Obie Fernandez
Publisher finelybook 出版社: Leanpub
Publication Date 出版日期: 2024
Language 语言: English
Print Length 页数: 466 pages
About the Book
“Patterns of Application Development Using AI” is a groundbreaking book that explores the intersection of artificial intelligence (AI) and application development. In this book, Obie Fernandez, a renowned software developer and co-founder of AI-powered consultant platform Olympia, shares his invaluable insights and experiences from a year-long journey of building an AI-powered application.
Through a compelling combination of narrative chapters and practical pattern references, Obie presents a comprehensive guide to leveraging the power of large language models (LLMs) in application development. He introduces innovative patterns such as the “Multitude of Workers,” “Self-Healing Data,” and “Contextual Content Generation,” which empower developers to build intelligent, adaptive, and user-centric applications.
Unlike other books on AI that focus on theoretical concepts or delve into the intricacies of machine learning algorithms, this book takes a pragmatic approach. It provides concrete examples, real-world use cases, and actionable advice on how to integrate AI components and functions into application architectures. Obie shares his successes, challenges, and lessons learned, offering a unique perspective on the practical application of AI in software development.
Table of Contents
- Foreword by Gregor Hohpe
- Preface
- About the Book
- About the Code Examples
- What I Don’t Cover
- Who This Book Is For
- Building a Common Vocabulary
- Getting Involved
- Acknowledgments
- What’s with the illustrations?
- About Lean Publishing
- About The Author
- Introduction
- Thoughts on Software Architecture
- What is a Large Language Model?
- Understanding Inference
- Thinking About Performance
- Experimenting With Different LLM Models
- Compound AI Systems
- Part 1: Fundamental Approaches & Techniques
- Narrow The Path
- Latent Space: Incomprehensibly Vast
- How The Path Gets “Narrowed”
- Raw Versus Instruct-Tuned Models
- Prompt Engineering
- Prompt Distillation
- What about fine-tuning?
- Retrieval Augmented Generation (RAG)
- What is Retrieval Augmented Generation?
- How Does RAG Work?
- Why Use RAG in Your Applications?
- Implementing RAG in Your Application
- Proposition Chunking
- Real-World Examples of RAG
- Intelligent Query Optimization (IQO)
- Reranking
- RAG Assessment (RAGAs)
- Challenges and Future Outlook
- Multitude of Workers
- AI Workers As Independent Reusable Components
- Account Management
- E-commerce Applications
- Healthcare Applications
- AI Worker as a Process Manager
- Integrating AI Workers Into Your Application Architecture
- Composability and Orchestration of AI Workers
- Combining Traditional NLP with LLMs
- Tool Use
- What is Tool Use?
- The Potential of Tool Use
- The Tool Use Workflow
- Best Practices for Tool Use
- Composing and Chaining Tools
- Future Directions
- Stream Processing
- Implementing a ReplyStream
- The “Conversation Loop”
- Auto Continuation
- Conclusion
- Self Healing Data
- Practical Case Study: Fixing Broken JSON
- Considerations and Counterindications
- Contextual Content Generation
- Personalization
- Productivity
- Rapid Iteration and Experimentation
- AI Powered Localization
- The Importance of User Testing and Feedback
- Generative UI
- Generating Copy for User Interfaces
- Defining Generative UI
- Example
- The Shift to Outcome-Oriented Design
- Challenges and Considerations
- Future Outlook and Opportunities
- Intelligent Workflow Orchestration
- Business Need
- Key Benefits
- Key Patterns
- Exception Handling and Recovery
- Implementing Intelligent Workflow Orchestration in Practice
- Monitoring and Logging
- Scalability and Performance Considerations
- Testing and Validation of Workflows
- Part 2: The Patterns
- Prompt Engineering
- Chain of Thought
- Mode Switch
- Role Assignment
- Prompt Object
- Prompt Template
- Structured IO
- Prompt Chaining
- Prompt Rewriter
- Response Fencing
- Query Analyzer
- Query Rewriter
- Ventriloquist
- Discrete Components
- Predicate
- API Facade
- Result Interpreter
- Virtual Machine
- Human In The Loop (HITL)
- High-Level Patterns
- Escalation
- Feedback Loop
- Passive Information Radiation
- Collaborative Decision Making (CDM)
- Continuous Learning
- Ethical Considerations
- Technological Advancements and Future Outlook
- Intelligent Error Handling
- Traditional Error Handling Approaches
- Contextual Error Diagnosis
- Intelligent Error Reporting
- Predictive Error Prevention
- Smart Error Recovery
- Personalized Error Communication
- Adaptive Error Handling Workflow
- Quality Control
- Eval
- Guardrail
- Guardrails and Evals: Two Sides of the Same Coin
- Glossary
- Notes