Rethinking Large Language Models: Treating AI as a Queryable Database in Software Development
Dhaval Nagar / CEO
Large Language Models (LLMs) are extremely smart but they are not autonomous, yet. Based on my experiences with different LLM models and their applications - I personally feel that RAG is the most important part - to effectively embed LLM models into existing applications. LLMs are poised to revolutionize how the software engineering and software applications are going to build and work.
The pace at which these technologies are evolving can indeed seem daunting, especially for those who may not have a background in AI/ML.
I have taken a rather simple approach - consider LLMs are new kind of Database. Breaking it down into a manageable component is an effective strategy for professional development and adaptation.
- Assume the chosen LLM is a database, with preloaded data. You can interact with this database in a particular way similar to how we interact with different databases and run queries against it.
- Like all other databases, this database also has limitations, so you will have to organize your content and construct queries accordingly - hence the use of RAG systems.
- Like other databases - this database has a particular query language. You will require to learn this query language and how to create efficient queries for optimal output.
- This database can be costly to host and use, so decide between manual hosting vs managed, and use it effectively. Although this would require some trials and experimentation.
- LLM based interaction are just a part of the overall application - a set of features or enhancements, you still need to build rest of the applications with regular database, auth system, APIs, hosting, etc.
This approach makes learning more approachable and also aligns with how software engineering and IT professionals have historically adapted to new paradigms and technologies—by iterative learning and integration of new skills into their existing knowledge base.
1. LLM as a Database
Thinking LLMs as databases with preloaded data encourages a mindset of structured interaction. Just as with traditional databases, the quality and relevance of the output (in this case, generated text, code, or media) depend on how effectively you query the model - the prompt. This perspective highlights the importance of crafting better prompts to extract useful information or generate desirable outputs, similar to writing efficient SQL queries.
- https://platform.openai.com/docs/guides/prompt-engineering
- https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
2. Understanding Limitations and Leveraging RAG
Acknowledging the limitations of LLMs and using Retrieval-Augmented Generation (RAG) systems to organize content and queries can significantly enhance the model's performance. RAG systems allow LLMs to dynamically pull in information from external databases or documents, updating (augmenting) the "preloaded data" in real-time. This method can address some of the limitations related to the model's knowledge cut-off date (known as training date) and the static nature of its training data.
- https://aws.amazon.com/what-is/retrieval-augmented-generation/
- https://www.datacamp.com/blog/what-is-retrieval-augmented-generation-rag
- https://www.youtube.com/watch?v=u47GtXwePms&ab_channel=DonWoodlock
3. Cost-Effectiveness and Experimentation
The cost associated with querying LLMs, especially at scale, underscores the need for efficient use. Most LLM managed services charge based on the APIs and (Input/Output) Tokens, this can lead to significant cost usage at scale. Experimentation is key to understanding how to best leverage these models for specific applications. Iterative trials can help identify the most cost-effective ways to integrate LLM outputs into your workflow, whether that's generating code, automating responses, or enhancing data analysis.
- https://huggingface.co/blog/dhuynh95/ai-tco-calculator
- https://docsbot.ai/tools/gpt-openai-api-pricing-calculator
4. Integrating LLMs into Broader Applications
The integration of LLMs into the wider architecture of an application is a critical step. LLMs represent just one component of a complex system that includes databases, authentication systems, APIs, and hosting services. Effective integration ensures that LLM-based functionalities enhance the user experience and contribute to the application's overall value proposition, without becoming a bottleneck or a single point of failure.
5. Continual Learning and Improvement
Adopting LLMs is not a one-time task but an ongoing process of learning and adaptation. As LLM technologies evolve, so too should your strategies for integrating and leveraging them. This includes staying informed about advancements in AI, exploring new models and features, and continuously refining your interaction patterns based on user feedback and performance metrics.
Summary
By viewing LLMs as sophisticated, dynamic "databases" and carefully considering their integration into the broader application ecosystem, you're well-positioned to harness their capabilities effectively and responsibly. As we continue to explore the capabilities of these powerful models, the potential to rethink software development and application functionality is immense.
The journey of adopting LLMs is a testament to the ever-evolving landscape of technology, urging us to continually learn, adapt, and innovate. Similar to how world moved from private data centers to cloud computing.