mirror of
https://github.com/ianarawjo/ChainForge.git
synced 2025-03-14 16:26:45 +00:00
* 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
1 line
4.7 KiB
Plaintext
1 line
4.7 KiB
Plaintext
{"flow": {"nodes": [{"width": 312, "height": 311, "id": "prompt-russian-rhyme", "type": "prompt", "data": {"prompt": "{prompt}", "n": 1, "llms": [{"key": "aa3c0f03-22bd-416e-af4d-4bf5c4278c99", "settings": {"system_msg": "For each pair of words, determine whether their Russian translations rhyme. If they do, output the pair of rhyming words in Russian. If not, output NONE.", "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": "For each pair of words, determine whether their Russian translations rhyme. If they do, output the pair of rhyming words in Russian. If not, output NONE.", "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-russian-rhyme", "type": "evaluator", "data": {"code": "function evaluate(response) {\n\tlet txt = response.text;\n\tlet ideal = response.meta['Ideal'];\n\treturn ideal.includes(txt) || txt.includes(ideal);\n}", "language": "javascript"}, "position": {"x": 820, "y": 150}, "positionAbsolute": {"x": 820, "y": 150}}, {"width": 228, "height": 196, "id": "vis-russian-rhyme", "type": "vis", "data": {"input": "eval-russian-rhyme"}, "position": {"x": 1200, "y": 250}, "positionAbsolute": {"x": 1200, "y": 250}}, {"width": 302, "height": 260, "id": "inspect-russian-rhyme", "type": "inspect", "data": {"input": "prompt-russian-rhyme"}, "position": {"x": 820, "y": 400}, "positionAbsolute": {"x": 820, "y": 400}}, {"width": 423, "height": 417, "id": "table-russian-rhyme", "type": "table", "data": {"rows": [{"prompt": "cannon, toy", "ideal": "\u043f\u0443\u0448\u043a\u0430, \u0438\u0433\u0440\u0443\u0448\u043a\u0430"}, {"prompt": "life, organism", "ideal": "\u0436\u0438\u0437\u043d\u044c, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043c"}, {"prompt": "human, escape", "ideal": "\u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043f\u043e\u0431\u0435\u0433"}, {"prompt": "soul, ramson", "ideal": "\u0434\u0443\u0448\u0430, \u0447\u0435\u0440\u0435\u043c\u0448\u0430"}, {"prompt": "peace, marshmallow", "ideal": "\u043c\u0438\u0440, \u0437\u0435\u0444\u0438\u0440"}, {"prompt": "sky, turnip", "ideal": "\u043d\u0435\u0431\u043e, \u0440\u0435\u043f\u0430"}, {"prompt": "summer, coin", "ideal": "\u043b\u0435\u0442\u043e, \u043c\u043e\u043d\u0435\u0442\u0430"}, {"prompt": "smile, violin", "ideal": "\u0443\u043b\u044b\u0431\u043a\u0430, \u0441\u043a\u0440\u0438\u043f\u043a\u0430"}, {"prompt": "sun, shaking", "ideal": "NONE"}, {"prompt": "rain, snow", "ideal": "NONE"}, {"prompt": "house, street", "ideal": "NONE"}, {"prompt": "flower, tree", "ideal": "NONE"}, {"prompt": "car, train", "ideal": "NONE"}, {"prompt": "mountain, valley", "ideal": "NONE"}, {"prompt": "day, night", "ideal": "NONE"}, {"prompt": "book, pen", "ideal": "NONE"}, {"prompt": "apple, orange", "ideal": "NONE"}], "columns": [{"key": "prompt", "header": "Prompt"}, {"key": "ideal", "header": "Ideal"}]}, "position": {"x": -16, "y": 160}, "selected": false, "positionAbsolute": {"x": -16, "y": 160}, "dragging": false}], "edges": [{"source": "prompt-russian-rhyme", "sourceHandle": "prompt", "target": "eval-russian-rhyme", "targetHandle": "responseBatch", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-eval-1686756357355responseBatch"}, {"source": "prompt-russian-rhyme", "sourceHandle": "prompt", "target": "inspect-russian-rhyme", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-inspect-1686756357355input"}, {"source": "eval-russian-rhyme", "sourceHandle": "output", "target": "vis-russian-rhyme", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-eval-1686756357355output-vis-1686756357355input"}, {"source": "table-russian-rhyme", "sourceHandle": "Prompt", "target": "prompt-russian-rhyme", "targetHandle": "prompt", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-table-1686756385002Prompt-prompt-1686756357355prompt"}], "viewport": {"x": 144, "y": 37, "zoom": 1}}, "cache": {"eval-1686756357355.json": {}, "inspect-1686756357355.json": {}, "prompt-1686756357355.json": {}, "table-1686756385002.json": {}, "vis-1686756357355.json": {}}} |