ChainForge/chainforge/oaievals/diagrammatic_logic.cforge

1 line
1.2 MiB
Plaintext
Raw Permalink Normal View History

TypeScript backend, HuggingFace models, JavaScript evaluators, Comment Nodes, and more (#81) * Beginning to convert Python backend to Typescript * Change all fetch() calls to fetch_from_backend switcher * wip converting query.py to query.ts * wip started utils.js conversion. Tested that OpenAI API call works * more progress on converting utils.py to Typescript * jest tests for query, utils, template.ts. Confirmed PromptPipeline works. * wip converting queryLLM in flask_app to TS * Tested queryLLM and StorageCache compressed saving/loading * wip execute() in backend.ts * Added execute() and tested w concrete func. Need to test eval() * Added craco for optional webpack config. Config'd for TypeScript with Node.js packages browserify'd * Execute JS code on iframe sandbox * Tested and working JS Evaluator execution. * wip swapping backends * Tested TypeScript backendgit status! :) woot * Added fetchEnvironAPIKeys to Flask server to fetch os.environ keys when running locally * Route Anthropic calls through Flask when running locally * Added info button to Eval nodes. Rebuilt react * Edits to info modal on Eval node * Remove/error out on Python eval nodes when not running locally. * Check browser compat and display error if not supported * Changed all example flows to use JS. Bug fix in query.ts * Refactored to LLMProvider to streamline model additions * Added HuggingFace models API * Added back Dalai call support, routing through Flask * Remove flask app calls and socketio server that are no longer used * Added Comment Nodes. Rebuilt react. * Fix PaLM temp=0 build, update package vers and rebuild react
2023-06-30 15:11:20 -04:00
{"flow": {"nodes": [{"width": 312, "height": 311, "id": "prompt-diagrammatic_logic", "type": "prompt", "data": {"prompt": "{prompt}", "n": 1, "llms": [{"key": "aa3c0f03-22bd-416e-af4d-4bf5c4278c99", "settings": {"system_msg": "\n In the following logic puzzle, you are given a set of operators that may be used. There are also some examples of these operators in use. Work out the sequence that replaces '?', choose from the possible answers. In order to solve this problem correctly, you must consider the logical operators. If there are multiple operators applied you must they apply them left to right. In some cases the operator effect is not explicitly defined and you will need to work it out. You MUST NOT PROVIDE AN EXPLANATION with words you only MUST ONLY REPLY WITH A SINGLE LETTER, for example 'A', 'B', 'C', or 'D'.\n ", "temperature": 1, "functions": [], "function_call": "", "top_p": 1, "stop": [], "presence_penalty": 0, "frequency_penalty": 0}, "name": "GPT3.5", "emoji": "\ud83d\ude42", "model": "gpt-3.5-turbo", "base_model": "gpt-3.5-turbo", "temp": 1, "formData": {"shortname": "GPT3.5", "model": "gpt-3.5-turbo", "system_msg": "\n In the following logic puzzle, you are given a set of operators that may be used. There are also some examples of these operators in use. Work out the sequence that replaces '?', choose from the possible answers. In order to solve this problem correctly, you must consider the logical operators. If there are multiple operators applied you must they apply them left to right. In some cases the operator effect is not explicitly defined and you will need to work it out. You MUST NOT PROVIDE AN EXPLANATION with words you only MUST ONLY REPLY WITH A SINGLE LETTER, for example 'A', 'B', 'C', or 'D'.\n ", "temperature": 1, "functions": "", "function_call": "", "top_p": 1, "stop": "", "presence_penalty": 0, "frequency_penalty": 0}}]}, "position": {"x": 448, "y": 224}, "selected": false, "positionAbsolute": {"x": 448, "y": 224}, "dragging": false}, {"width": 333, "height": 182, "id": "eval-diagrammatic_logic", "type": "evaluator", "data": {"code": "function evaluate(response) {\n\tlet ideals = JSON.parse(response.meta['Ideal']);\n\treturn ideals.some(i => response.text.startsWith(i));\n}", "language": "javascript"}, "position": {"x": 820, "y": 150}, "positionAbsolute": {"x": 820, "y": 150}}, {"width": 228, "height": 196, "id": "vis-diagrammatic_logic", "type": "vis", "data": {"input": "eval-diagrammatic_logic"}, "position": {"x": 1200, "y": 250}, "positionAbsolute": {"x": 1200, "y": 250}}, {"width": 302, "height": 260, "id": "inspect-diagrammatic_logic", "type": "inspect", "data": {"input": "prompt-diagrammatic_logic"}, "position": {"x": 820, "y": 400}, "positionAbsolute": {"x": 820, "y": 400}}, {"width": 423, "height": 417, "id": "table-diagrammatic_logic", "type": "table", "data": {"rows": [{"prompt": "Definition of each operator and what it does:\nOperator, Effect\nP Changes 1st figure (see examples)\nQ Changes shading and shape of all figures\nR Changes 3rd figure (see examples)\nS Deletes small light figures\n\nExamples of these operators on some made up sequences:\nInput, Process, Output\n| small light circle | | small light circle | | large dark circle | - P - | large light circle | | small light circle | | large dark circle |\n| small light circle | | small light triangle | - Q - | small dark triangle | | small dark circle |\n| small dark circle | | large light triangle | | large dark circle | - R - | small dark circle | | large light triangle | | large light circle |\n| small light circle | | large dark triangle | - S - | large dark triangle |\n\nQuestion:\n| small dark triangle | | small dark circle | | small dark triangle | - R - ?\n\nPossible Answers:\nA - | large dark circle | | large dark triangle | | small light triangle |\nB - | small dark triangle | | small dark circle | | small light triangle | | small light triangle |\nC - | small light triangle | | small dark circle | | small dark triangle |\nD - | small dark triangle | | small dark circle | | small light triangle |\n\