Skip to content

Commit

Permalink
[proxy] added base kit, accumlator demo
Browse files Browse the repository at this point in the history
  • Loading branch information
seefeldb committed Nov 14, 2023
1 parent 2f94e22 commit 8551cac
Show file tree
Hide file tree
Showing 20 changed files with 325 additions and 107 deletions.
24 changes: 24 additions & 0 deletions seeds/breadboard-web/docs/graphs/new/accumulator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## accumulator.ts

```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
userRequest[/"input <br> id='userRequest'"/]:::input -- "text->question" --> assistant["promptTemplate <br> id='assistant'"]
userRequest[/"input <br> id='userRequest'"/]:::input -- "text->user" --> conversationMemory["append <br> id='conversationMemory'"]
start(("passthrough <br> id='start'")):::passthrough -- all --> userRequest[/"input <br> id='userRequest'"/]:::input
output2{{"output <br> id='output-2'"}}:::output -- all --> userRequest[/"input <br> id='userRequest'"/]:::input
assistant["promptTemplate <br> id='assistant'"] -- "prompt->text" --> generateText1["generateText <br> id='generateText-1'"]
conversationMemory["append <br> id='conversationMemory'"] -- "accumulator->accumulator" --> conversationMemory["append <br> id='conversationMemory'"]
conversationMemory["append <br> id='conversationMemory'"] -- "accumulator->context" --> assistant["promptTemplate <br> id='assistant'"]
generateText1["generateText <br> id='generateText-1'"] -- "completion->accumulator" --> conversationMemory["append <br> id='conversationMemory'"]
generateText1["generateText <br> id='generateText-1'"] -- "completion->text" --> output2{{"output <br> id='output-2'"}}:::output
secrets0("secrets <br> id='secrets-0'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText1["generateText <br> id='generateText-1'"]
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
classDef passthrough stroke:#a64d79,fill:#ead1dcff,color:#000
classDef slot stroke:#a64d79,fill:#ead1dcff,color:#000
classDef config stroke:#a64d79,fill:#ead1dcff,color:#000
classDef secrets stroke:#db4437,fill:#f4cccc,color:#000
classDef slotted stroke:#a64d79
```
4 changes: 2 additions & 2 deletions seeds/breadboard-web/docs/graphs/new/custom-inline-action.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
fn4["runJavascript <br> id='fn-4'"] -- all --> output3{{"output <br> id='output-3'"}}:::output
input2[/"input <br> id='input-2'"/]:::input -- all --> fn4["runJavascript <br> id='fn-4'"]
fn7["runJavascript <br> id='fn-7'"] -- all --> output6{{"output <br> id='output-6'"}}:::output
input5[/"input <br> id='input-5'"/]:::input -- all --> fn7["runJavascript <br> id='fn-7'"]
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
Expand Down
10 changes: 5 additions & 5 deletions seeds/breadboard-web/docs/graphs/new/math-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
runJavascript33["runJavascript <br> id='runJavascript-33'"] -- all --> output29{{"output <br> id='output-29'"}}:::output
generateText32["generateText <br> id='generateText-32'"] -- "completion->code" --> runJavascript33["runJavascript <br> id='runJavascript-33'"]
secrets31("secrets <br> id='secrets-31'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText32["generateText <br> id='generateText-32'"]
promptTemplate30["promptTemplate <br> id='promptTemplate-30'"] -- "prompt->text" --> generateText32["generateText <br> id='generateText-32'"]
input28[/"input <br> id='input-28'"/]:::input -- "question->question" --> promptTemplate30["promptTemplate <br> id='promptTemplate-30'"]
runJavascript36["runJavascript <br> id='runJavascript-36'"] -- all --> output32{{"output <br> id='output-32'"}}:::output
generateText35["generateText <br> id='generateText-35'"] -- "completion->code" --> runJavascript36["runJavascript <br> id='runJavascript-36'"]
secrets34("secrets <br> id='secrets-34'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText35["generateText <br> id='generateText-35'"]
promptTemplate33["promptTemplate <br> id='promptTemplate-33'"] -- "prompt->text" --> generateText35["generateText <br> id='generateText-35'"]
input31[/"input <br> id='input-31'"/]:::input -- "question->question" --> promptTemplate33["promptTemplate <br> id='promptTemplate-33'"]
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
Expand Down
10 changes: 5 additions & 5 deletions seeds/breadboard-web/docs/graphs/new/math-imperative.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
runJavascript41["runJavascript <br> id='runJavascript-41'"] -- all --> output37{{"output <br> id='output-37'"}}:::output
generateText40["generateText <br> id='generateText-40'"] -- "completion->code" --> runJavascript41["runJavascript <br> id='runJavascript-41'"]
promptTemplate38["promptTemplate <br> id='promptTemplate-38'"] -- "prompt->text" --> generateText40["generateText <br> id='generateText-40'"]
secrets39("secrets <br> id='secrets-39'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText40["generateText <br> id='generateText-40'"]
input36[/"input <br> id='input-36'"/]:::input -- "question->question" --> promptTemplate38["promptTemplate <br> id='promptTemplate-38'"]
runJavascript44["runJavascript <br> id='runJavascript-44'"] -- all --> output40{{"output <br> id='output-40'"}}:::output
generateText43["generateText <br> id='generateText-43'"] -- "completion->code" --> runJavascript44["runJavascript <br> id='runJavascript-44'"]
promptTemplate41["promptTemplate <br> id='promptTemplate-41'"] -- "prompt->text" --> generateText43["generateText <br> id='generateText-43'"]
secrets42("secrets <br> id='secrets-42'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText43["generateText <br> id='generateText-43'"]
input39[/"input <br> id='input-39'"/]:::input -- "question->question" --> promptTemplate41["promptTemplate <br> id='promptTemplate-41'"]
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
Expand Down
8 changes: 4 additions & 4 deletions seeds/breadboard-web/docs/graphs/new/math-inline-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
generateText45["generateText <br> id='generateText-45'"] -- "completion->code" --> runJavascript46["runJavascript <br> id='runJavascript-46'"]
secrets44("secrets <br> id='secrets-44'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText45["generateText <br> id='generateText-45'"]
promptTemplate43["promptTemplate <br> id='promptTemplate-43'"] -- "prompt->text" --> generateText45["generateText <br> id='generateText-45'"]
passthrough42(("passthrough <br> id='passthrough-42'")):::passthrough -- all --> promptTemplate43["promptTemplate <br> id='promptTemplate-43'"]
generateText48["generateText <br> id='generateText-48'"] -- "completion->code" --> runJavascript49["runJavascript <br> id='runJavascript-49'"]
secrets47("secrets <br> id='secrets-47'"):::secrets -- "PALM_KEY->PALM_KEY" --> generateText48["generateText <br> id='generateText-48'"]
promptTemplate46["promptTemplate <br> id='promptTemplate-46'"] -- "prompt->text" --> generateText48["generateText <br> id='generateText-48'"]
passthrough45(("passthrough <br> id='passthrough-45'")):::passthrough -- all --> promptTemplate46["promptTemplate <br> id='promptTemplate-46'"]
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
Expand Down
4 changes: 2 additions & 2 deletions seeds/breadboard-web/docs/graphs/new/simple-graph.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
```mermaid
%%{init: 'themeVariables': { 'fontFamily': 'Fira Code, monospace' }}%%
graph TD;
passthrough51(("passthrough <br> id='passthrough-51'")):::passthrough -- "foo->foo" --> output50{{"output <br> id='output-50'"}}:::output
input49[/"input <br> id='input-49'"/]:::input -- all --> passthrough51(("passthrough <br> id='passthrough-51'")):::passthrough
passthrough54(("passthrough <br> id='passthrough-54'")):::passthrough -- "foo->foo" --> output53{{"output <br> id='output-53'"}}:::output
input52[/"input <br> id='input-52'"/]:::input -- all --> passthrough54(("passthrough <br> id='passthrough-54'")):::passthrough
classDef default stroke:#ffab40,fill:#fff2ccff,color:#000
classDef input stroke:#3c78d8,fill:#c9daf8ff,color:#000
classDef output stroke:#38761d,fill:#b6d7a8ff,color:#000
Expand Down
126 changes: 126 additions & 0 deletions seeds/breadboard-web/public/graphs/new/accumulator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"title": "New: Accumulating context",
"edges": [
{
"from": "userRequest",
"to": "assistant",
"out": "text",
"in": "question"
},
{
"from": "userRequest",
"to": "conversationMemory",
"out": "text",
"in": "user"
},
{
"from": "start",
"to": "userRequest",
"out": "*",
"in": "*"
},
{
"from": "output-2",
"to": "userRequest",
"out": "*",
"in": "*"
},
{
"from": "assistant",
"to": "generateText-1",
"out": "prompt",
"in": "text"
},
{
"from": "conversationMemory",
"to": "conversationMemory",
"out": "accumulator",
"in": "accumulator"
},
{
"from": "conversationMemory",
"to": "assistant",
"out": "accumulator",
"in": "context"
},
{
"from": "generateText-1",
"to": "conversationMemory",
"out": "completion",
"in": "accumulator"
},
{
"from": "generateText-1",
"to": "output-2",
"out": "completion",
"in": "text"
},
{
"from": "secrets-0",
"to": "generateText-1",
"out": "PALM_KEY",
"in": "PALM_KEY"
}
],
"nodes": [
{
"id": "userRequest",
"type": "input",
"configuration": {
"schema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"title": "User",
"description": "Type here to chat with the assistant"
}
},
"required": [
"text"
]
}
}
},
{
"id": "start",
"type": "passthrough",
"configuration": {}
},
{
"id": "output-2",
"type": "output",
"configuration": {}
},
{
"id": "assistant",
"type": "promptTemplate",
"configuration": {
"template": "This is a conversation between a friendly assistant and their user. You are the assistant and your job is to try to be helpful, empathetic, and fun.\n{{context}}\n\n== Current Conversation\nuser: {{question}}\nassistant:",
"context": ""
}
},
{
"id": "conversationMemory",
"type": "append",
"configuration": {
"accumulator": "\n== Conversation History"
}
},
{
"id": "generateText-1",
"type": "generateText",
"configuration": {}
},
{
"id": "secrets-0",
"type": "secrets",
"configuration": {
"keys": [
"PALM_KEY"
]
}
}
],
"graphs": {}
}
18 changes: 9 additions & 9 deletions seeds/breadboard-web/public/graphs/new/custom-inline-action.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,34 @@
"title": "New: Custom inline action",
"edges": [
{
"from": "fn-4",
"to": "output-3",
"from": "fn-7",
"to": "output-6",
"out": "*",
"in": "*"
},
{
"from": "input-2",
"to": "fn-4",
"from": "input-5",
"to": "fn-7",
"out": "*",
"in": "*"
}
],
"nodes": [
{
"id": "output-3",
"id": "output-6",
"type": "output",
"configuration": {}
},
{
"id": "fn-4",
"id": "fn-7",
"type": "runJavascript",
"configuration": {
"code": "async function fn_4(inputs2) {const{a,b}=await inputs2;return{result:(a||0)+(b||0)}}",
"name": "fn_4"
"code": "async function fn_7(inputs2) {const{a,b}=await inputs2;return{result:(a||0)+(b||0)}}",
"name": "fn_7"
}
},
{
"id": "input-2",
"id": "input-5",
"type": "input",
"configuration": {}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
"edges": [],
"nodes": [
{
"id": "fn-10",
"id": "fn-13",
"type": "runJavascript",
"configuration": {
"code": "async function fn_10(inputs) {const{completion}=await llm.promptTemplate({template:\"Is this question about math? Answer YES or NO.\\nQuestion: {{question}}\\nAnswer: \",question:inputs.question}).prompt.as(\"text\").to(llm.generateText({PALM_KEY:llm.secrets({keys:[\"PALM_KEY\"]}).PALM_KEY}));if(completion&&completion.startsWith(\"YES\")){return math({question:inputs.question})}else{return search(inputs)}}",
"name": "fn_10"
"code": "async function fn_13(inputs) {const{completion}=await llm.promptTemplate({template:\"Is this question about math? Answer YES or NO.\\nQuestion: {{question}}\\nAnswer: \",question:inputs.question}).prompt.as(\"text\").to(llm.generateText({PALM_KEY:llm.secrets({keys:[\"PALM_KEY\"]}).PALM_KEY}));if(completion&&completion.startsWith(\"YES\")){return math({question:inputs.question})}else{return search(inputs)}}",
"name": "fn_13"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
"edges": [],
"nodes": [
{
"id": "fn-19",
"id": "fn-22",
"type": "runJavascript",
"configuration": {
"code": "async function fn_19(inputs) {return llm.promptTemplate({template:\"Is this question about math? Answer YES or NO.\\nQuestion: {{question}}\\nAnswer: \",question:inputs.question}).prompt.as(\"text\").to(llm.generateText({PALM_KEY:llm.secrets({keys:[\"PALM_KEY\"]}).PALM_KEY})).to(async inputs2=>{const{completion,math:math2,search:search2}=await inputs2;if(completion?.startsWith(\"YES\")){return math2({question:inputs2.question})}else{return search2(inputs2)}},{math,search})}",
"name": "fn_19"
"code": "async function fn_22(inputs) {return llm.promptTemplate({template:\"Is this question about math? Answer YES or NO.\\nQuestion: {{question}}\\nAnswer: \",question:inputs.question}).prompt.as(\"text\").to(llm.generateText({PALM_KEY:llm.secrets({keys:[\"PALM_KEY\"]}).PALM_KEY})).to(async inputs2=>{const{completion,math:math2,search:search2}=await inputs2;if(completion?.startsWith(\"YES\")){return math2({question:inputs2.question})}else{return search2(inputs2)}},{math,search})}",
"name": "fn_22"
}
}
]
Expand Down
32 changes: 16 additions & 16 deletions seeds/breadboard-web/public/graphs/new/math-chain.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,54 @@
"title": "New: Math, chain style graph",
"edges": [
{
"from": "runJavascript-33",
"to": "output-29",
"from": "runJavascript-36",
"to": "output-32",
"out": "*",
"in": "*"
},
{
"from": "generateText-32",
"to": "runJavascript-33",
"from": "generateText-35",
"to": "runJavascript-36",
"out": "completion",
"in": "code"
},
{
"from": "secrets-31",
"to": "generateText-32",
"from": "secrets-34",
"to": "generateText-35",
"out": "PALM_KEY",
"in": "PALM_KEY"
},
{
"from": "promptTemplate-30",
"to": "generateText-32",
"from": "promptTemplate-33",
"to": "generateText-35",
"out": "prompt",
"in": "text"
},
{
"from": "input-28",
"to": "promptTemplate-30",
"from": "input-31",
"to": "promptTemplate-33",
"out": "question",
"in": "question"
}
],
"nodes": [
{
"id": "output-29",
"id": "output-32",
"type": "output",
"configuration": {}
},
{
"id": "runJavascript-33",
"id": "runJavascript-36",
"type": "runJavascript",
"configuration": {}
},
{
"id": "generateText-32",
"id": "generateText-35",
"type": "generateText",
"configuration": {}
},
{
"id": "secrets-31",
"id": "secrets-34",
"type": "secrets",
"configuration": {
"keys": [
Expand All @@ -58,14 +58,14 @@
}
},
{
"id": "promptTemplate-30",
"id": "promptTemplate-33",
"type": "promptTemplate",
"configuration": {
"template": "Write a Javascript function called `run` to compute the result for this question:\nQuestion: {{question}}\nCode: "
}
},
{
"id": "input-28",
"id": "input-31",
"type": "input",
"configuration": {}
}
Expand Down
Loading

0 comments on commit 8551cac

Please sign in to comment.