-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add cards and a 'mental model' diagram for developers
- Loading branch information
Showing
4 changed files
with
357 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,25 @@ | ||
# Overview of tutorials | ||
|
||
## Another heading | ||
## Build an Owl App Bootcamp | ||
|
||
Some text here | ||
<div class="grid cards" markdown> | ||
- **Bootstrap** your app project | ||
- Add tools to call **data and decision APIs** | ||
- Add **RAG** | ||
- Add **human in the loop** controlled by LangGraph | ||
- Create new backend API endpoints | ||
</div> | ||
|
||
## Use various providers | ||
<div class="grid cards" markdown> | ||
- **Local LLM** | ||
- Mistral | ||
- OpenAI | ||
- IBM Granite | ||
</div> | ||
|
||
## Frontend | ||
<div class="grid cards" markdown> | ||
- Customize the chatbot frontend webapp | ||
- Integrate the Owl chatbot widget | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
<mxfile host="Electron" modified="2024-10-09T13:22:57.573Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="a5Ir-aBERSHpWW9C_PWl" version="23.1.5" type="device"> | ||
<diagram name="Page-1" id="koKYllzYylF1F7KYLpVS"> | ||
<mxGraphModel dx="1440" dy="751" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0"> | ||
<root> | ||
<mxCell id="0" /> | ||
<mxCell id="1" parent="0" /> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-27" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="340" y="470" width="480" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-1" target="paQ9tnQQhuRcGCuXe4jG-2"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-1" target="paQ9tnQQhuRcGCuXe4jG-4"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-1" value="Application" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#66B2FF;" vertex="1" parent="1"> | ||
<mxGeometry x="185" y="270" width="120" height="60" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-2" target="paQ9tnQQhuRcGCuXe4jG-10"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-2" target="paQ9tnQQhuRcGCuXe4jG-13"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-2" target="paQ9tnQQhuRcGCuXe4jG-3"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-2" value="Agent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#66B2FF;" vertex="1" parent="1"> | ||
<mxGeometry x="374" y="220" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-3" value="Prompt" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#66B2FF;" vertex="1" parent="1"> | ||
<mxGeometry x="512" y="122" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.377;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-4" target="paQ9tnQQhuRcGCuXe4jG-27"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-4" value="Tool" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#66B2FF;" vertex="1" parent="1"> | ||
<mxGeometry x="400" y="370" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-5" target="paQ9tnQQhuRcGCuXe4jG-27"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="810" y="400" /> | ||
<mxPoint x="700" y="400" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-5" value="Agentic workflow" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="750" y="330" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-10" value="" style="rounded=1;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1"> | ||
<mxGeometry x="600" y="208" width="280" height="70" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-11" target="paQ9tnQQhuRcGCuXe4jG-4"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="670" y="300" /> | ||
<mxPoint x="460" y="300" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-54" value="0+" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="paQ9tnQQhuRcGCuXe4jG-46"> | ||
<mxGeometry x="0.8974" relative="1" as="geometry"> | ||
<mxPoint x="10" as="offset" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.35;exitY=-0.033;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-11" target="paQ9tnQQhuRcGCuXe4jG-3"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-11" target="paQ9tnQQhuRcGCuXe4jG-13"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-11" value="DefaultRunner" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="610" y="238" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-12" target="paQ9tnQQhuRcGCuXe4jG-5"> | ||
<mxGeometry relative="1" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-53" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="paQ9tnQQhuRcGCuXe4jG-38"> | ||
<mxGeometry x="0.5484" y="1" relative="1" as="geometry"> | ||
<mxPoint x="16" as="offset" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-5"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<mxPoint x="460" y="220" as="targetPoint" /> | ||
<Array as="points"> | ||
<mxPoint x="900" y="345" /> | ||
<mxPoint x="900" y="190" /> | ||
<mxPoint x="460" y="190" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-50" value="0+ child agents" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="paQ9tnQQhuRcGCuXe4jG-45"> | ||
<mxGeometry x="0.9206" relative="1" as="geometry"> | ||
<mxPoint x="50" y="-14" as="offset" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-12" value="CustomRunner" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="750" y="238" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-13" value="LLM provider" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="512" y="70" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-17" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="480" y="505" width="160" height="130" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-18" value="" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="650" y="505" width="170" height="130" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-20" value="Python functions" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="340" y="505" width="130" height="125" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-28" value="Enterprise APIs" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> | ||
<mxGeometry x="500" y="505" width="100" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-29" value="Third party APIs" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> | ||
<mxGeometry x="685" y="505" width="100" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-16" value="Tavily (web search)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="680" y="555" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.117;exitY=1.033;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-14" target="paQ9tnQQhuRcGCuXe4jG-32"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<Array as="points"> | ||
<mxPoint x="504" y="660" /> | ||
<mxPoint x="463" y="660" /> | ||
</Array> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-14" value="Data APIs" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="490" y="550" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-15" value="Decision APIs" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="515" y="589" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-30" value="..." style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="680" y="595" width="120" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-32" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=7;" vertex="1" parent="1"> | ||
<mxGeometry x="434" y="700" width="60" height="50" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-33" value="BRMS" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> | ||
<mxGeometry x="535" y="700" width="110" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="paQ9tnQQhuRcGCuXe4jG-15" target="paQ9tnQQhuRcGCuXe4jG-33"> | ||
<mxGeometry relative="1" as="geometry"> | ||
<mxPoint x="514" y="591" as="sourcePoint" /> | ||
<mxPoint x="473" y="730" as="targetPoint" /> | ||
</mxGeometry> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-36" value="Agent Runner" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> | ||
<mxGeometry x="690" y="208" width="100" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-44" value="Libraries and APIs" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> | ||
<mxGeometry x="540" y="470" width="100" height="30" as="geometry" /> | ||
</mxCell> | ||
<mxCell id="paQ9tnQQhuRcGCuXe4jG-49" value="<h1><span style="font-size: 18px;">Mental model</span></h1><p>An <b>Owl application</b> is a deployable bundle containing multiple agents, tools and prompts.</p><p>An <b>Owl agent</b> is powered by an LLM to satisfy a particular goal.&nbsp;</p><p><span style="background-color: initial;">A <b>simple agent</b> leverages a single LLM, a prompt and zero or more tools. The Owl framework provides a default runner for simple agents so that they can be configured declaratively with no need to code.</span></p><p><span style="background-color: initial;">A <b>custom agent</b> is built by providing a custom runner that can leverage multiple prompts, tools and child agents. If needed, a custom agent runner can orchestrate multiple agents using an agentic workflow.</span></p><p>A <b>tool</b> is a way to inform an agent that some queries can be delegated to some specialized functions or APIs that encode a particular knowledge and can provide more robust and accurate answers than a LLM.</p><p><span style="background-color: initial;">&nbsp;</span><br></p>" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1"> | ||
<mxGeometry x="940" y="70" width="340" height="380" as="geometry" /> | ||
</mxCell> | ||
</root> | ||
</mxGraphModel> | ||
</diagram> | ||
</mxfile> |
Oops, something went wrong.