Inspiration

As a developer, I've always felt the pain of manually creating test data. It's a tedious task that wastes valuable time from focusing on the bigger picture. That's why I decided to explore the potential of large language models (LLMs) to automate this process and free up developers like myself.

What it Does

Retriedge leverages Google Vertex AI's powerful LLM capabilities to generate test data insertion queries for your PostgreSQL database. Provide your database schema, and Retriedge utilizes the LLM to understand your tables' structure and generate relevant SQL queries to populate them with test data.

Flow: 

  1. Users interact with the web application.
  2. The front end sends a request to the code-sense API.
  3. The API retrieves the database schema from the PostgreSQL database.
  4. The API constructs a prompt for the Google Vertex AI LLM, including the schema and a request to generate test data queries.
  5. The LLM processes the prompt and generates the desired SQL queries.
  6. The API receives the LLM response containing the generated queries and returns it to the front end.
  7. The front end displays the generated test data scripts for the user.

How I Built It

Retriedge is built on a combination of technologies, including:

  • Langchain: A framework for building LLMs
  • Hono: A serverless framework for building Node.js applications
  • PostgreSQL: A popular open-source relational database management system
  • React: A JavaScript library for building user interfaces

Langchain helped me integrate with Google Vertex AI's LLM and process the database schema information. Hono provided a scalable foundation for building the serverless API endpoint. Finally, React was instrumental in developing the user interface you interact with to use Retriedge.

Challenges Faced

Ensuring the accuracy and relevance of the generated test data queries was a key challenge. I tackled this by carefully crafting prompts for the LLM and incorporating database schema information into the generation process. Additionally, integrating with Google Vertex AI's LLM required careful configuration and handling of API responses.

Accomplishments I am Proud Of

I'm thrilled to have developed a solution that automates test data generation, a task that can significantly slow down development workflows. Retriedge empowers developers like me to focus on core development activities while ensuring our applications have a solid foundation of test data.

What I Learned

Throughout the development process, I gained valuable insights into the capabilities and limitations of LLMs for code-related tasks. It also reinforced the importance of careful, prompt design and data handling when working with LLMs for practical applications.

What's Next for Retriedge

My vision for Retriedge extends beyond test data generation. Here are some exciting functionalities I'm exploring for the future:

  • Codebase Understanding: Leverage LLMs to analyze and understand existing code structures to help new onboard easy in teams, and current developers use the system as documentation
  • Code Suggestion: Provide real-time code completion and suggestion features based on context and team coding standards.
  • Code Review Assistant: Assist developers in identifying potential issues and areas for improvement in their code.
  • Code Maintenance: Utilize LLMs to suggest code refactoring and potential bugs issues.

By expanding Retriedge's capabilities, I aim to create a comprehensive developer assistant that empowers developers like myself to write better code, improve workflow efficiency, and focus on what matters most – building innovative software solutions.

Built With

Share this project:

Updates