Open dglazkov opened 3 months ago
Here's an example, generated by https://breadboard-ai.web.app/?board=https://breadboard.live/boards/@dimitri/board-describer.bgl.json
This board, titled "The Librarian," aims to help users find relevant books based on their interests. It utilizes a multi-step process involving an interview, book searches via the Google Books API, and finally, a summarized list of recommendations.
Here's a breakdown of the components and their roles:
1. Input Node (input):
2. Looper Node (looper-b381bf13 - Interview Planner):
"Based on the initial topic, come up with the themes for 3-5 question interview to collect just enough information to look for an interesting book in the library. These themes will be presented as multiple choice questions with the last choice being an open-ended response."
3. Specialist Node (specialist-2551887d - Interviewer):
"You are an expert researcher, whose job it is to interview the user to collect information about the kind of book they want. Based on the theme provided and incorporating the history of the interview so far, offer a question that allows the user to easily pick or quickly type an answer."
4. Human Node (human-8b77a262 - Asking User):
5. Specialist Node (specialist-27a12855 - Researcher):
"You are a librarian. Based on the information collected from the interview, formulate the queries (more than one if necessary) and call (in parallel) Google Books API to search for the right book for the user."
"Make up to three parallel tool calls to Google Books API using different unique phrases to get the best results."
6. Specialist Node (specialist-8928cd1a - Summarizer):
"You are an expert librarian. You take the raw book search results from multiple queries and the interview information that was collected, and come up with a list of book recommendations."
"Come up with a list of 5-7 recommendations. Reply in markdown, making book titles hyperlinks to the book's canonicalVolumeLink and use smallThumbnail to display the book's thumbnail. "
7. Output Node (output):
Workflow:
The user provides initial context about the desired book. The looper node then generates interview themes, and the interviewer node poses questions based on these themes. The user responds, and this information, along with the initial context, is used by the researcher node to query the Google Books API. Finally, the summarizer node compiles the results into a user-friendly list of recommendations, which are displayed via the output node.
This board effectively combines human input with AI-powered tools and specialists to provide a personalized book recommendation experience. The use of the looper node allows for a dynamic and iterative interview process, while the integration of the Google Books API ensures a comprehensive search for relevant titles.
The few-shot data set: https://docs.google.com/spreadsheets/d/1XDDLa4DTymHb9jc8s78RePviGmE-7gH90KZvyW0w2rA/pubhtml?gid=0&single=true
This was generated using Breadboard:
I mostly hand-crafted the first row, and then fed it as a few-shot example for the next row. Then tweaked the problems I found in generated spec. By row 4, it was getting it perfectly.
Next step: do the inverse. Use the data set as few-shot examples to generate spec from prompt, then BGL from spec.
Now that we have plenty of boards as examples, let's build a board that generates boards.