ChainForge/chainforge/oaievals/dutch-lexicon.cforge
ianarawjo b33397930b
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

1 line
10 KiB
Plaintext

{"flow": {"nodes": [{"width": 312, "height": 311, "id": "prompt-dutch-lexicon", "type": "prompt", "data": {"prompt": "{prompt}", "n": 1, "llms": [{"key": "aa3c0f03-22bd-416e-af4d-4bf5c4278c99", "settings": {"system_msg": "You will be prompted with a single word. Does this word exist in the Dutch language? Answer with exactly one letter: Y or 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": "You will be prompted with a single word. Does this word exist in the Dutch language? Answer with exactly one letter: Y or 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-dutch-lexicon", "type": "evaluator", "data": {"code": "function evaluate(response) {\n\tlet ideal = response.meta['Ideal'];\n\treturn response.text.startsWith(ideal);\n}", "language": "javascript"}, "position": {"x": 820, "y": 150}, "positionAbsolute": {"x": 820, "y": 150}}, {"width": 228, "height": 196, "id": "vis-dutch-lexicon", "type": "vis", "data": {"input": "eval-dutch-lexicon"}, "position": {"x": 1200, "y": 250}, "positionAbsolute": {"x": 1200, "y": 250}}, {"width": 302, "height": 260, "id": "inspect-dutch-lexicon", "type": "inspect", "data": {"input": "prompt-dutch-lexicon"}, "position": {"x": 820, "y": 400}, "positionAbsolute": {"x": 820, "y": 400}}, {"width": 423, "height": 417, "id": "table-dutch-lexicon", "type": "table", "data": {"rows": [{"prompt": "millimeter", "ideal": "Y"}, {"prompt": "aparatief", "ideal": "N"}, {"prompt": "parallel", "ideal": "Y"}, {"prompt": "begravenis", "ideal": "N"}, {"prompt": "interessant", "ideal": "Y"}, {"prompt": "aggressief", "ideal": "N"}, {"prompt": "orgineel", "ideal": "N"}, {"prompt": "uittreksel", "ideal": "Y"}, {"prompt": "aggressie", "ideal": "N"}, {"prompt": "pyama", "ideal": "N"}, {"prompt": "omelet", "ideal": "Y"}, {"prompt": "enigste", "ideal": "N"}, {"prompt": "eczeem", "ideal": "Y"}, {"prompt": "gezamelijk", "ideal": "N"}, {"prompt": "sperciboon", "ideal": "N"}, {"prompt": "kangoeroe", "ideal": "Y"}, {"prompt": "aparttement", "ideal": "N"}, {"prompt": "bloknoot", "ideal": "N"}, {"prompt": "seksualiteit", "ideal": "Y"}, {"prompt": "annanas", "ideal": "N"}, {"prompt": "grenzeloos", "ideal": "Y"}, {"prompt": "burgemeester", "ideal": "Y"}, {"prompt": "exeem", "ideal": "N"}, {"prompt": "commitee", "ideal": "N"}, {"prompt": "produkt", "ideal": "N"}, {"prompt": "achtien", "ideal": "N"}, {"prompt": "barbecue", "ideal": "Y"}, {"prompt": "stiekum", "ideal": "N"}, {"prompt": "kosteloos", "ideal": "Y"}, {"prompt": "januarie", "ideal": "N"}, {"prompt": "hinnikken", "ideal": "N"}, {"prompt": "opticien", "ideal": "Y"}, {"prompt": "alinia", "ideal": "N"}, {"prompt": "controle", "ideal": "Y"}, {"prompt": "gerelaxt", "ideal": "Y"}, {"prompt": "kangaroe", "ideal": "N"}, {"prompt": "pubertijd", "ideal": "N"}, {"prompt": "smsen", "ideal": "N"}, {"prompt": "hooplijk", "ideal": "N"}, {"prompt": "caissi\u00e8re", "ideal": "Y"}, {"prompt": "zowiezo", "ideal": "N"}, {"prompt": "represaille", "ideal": "Y"}, {"prompt": "sattelliet", "ideal": "N"}, {"prompt": "minitieus", "ideal": "N"}, {"prompt": "litteken", "ideal": "Y"}, {"prompt": "comit\u00e9", "ideal": "Y"}, {"prompt": "kado", "ideal": "N"}, {"prompt": "applaudiseren", "ideal": "N"}, {"prompt": "faliekant", "ideal": "Y"}, {"prompt": "onmiddelijk", "ideal": "N"}, {"prompt": "pers\u00e9", "ideal": "N"}, {"prompt": "drommedaris", "ideal": "N"}, {"prompt": "milimeter", "ideal": "N"}, {"prompt": "gerelaxed", "ideal": "N"}, {"prompt": "geweldadig", "ideal": "N"}, {"prompt": "diarree", "ideal": "Y"}, {"prompt": "guerrilla", "ideal": "Y"}, {"prompt": "weifelen", "ideal": "Y"}, {"prompt": "caf\u00e9s", "ideal": "Y"}, {"prompt": "uitreksel", "ideal": "N"}, {"prompt": "krokes", "ideal": "N"}, {"prompt": "abonnee", "ideal": "Y"}, {"prompt": "agressief", "ideal": "Y"}, {"prompt": "bureau", "ideal": "Y"}, {"prompt": "sierraad", "ideal": "N"}, {"prompt": "sjiek", "ideal": "N"}, {"prompt": "namelijk", "ideal": "Y"}, {"prompt": "kostenloos", "ideal": "N"}, {"prompt": "quadraat", "ideal": "N"}, {"prompt": "eensgelijks", "ideal": "N"}, {"prompt": "conci\u00e8rge", "ideal": "Y"}, {"prompt": "vacature", "ideal": "Y"}, {"prompt": "burgerlijk", "ideal": "Y"}, {"prompt": "burgelijk", "ideal": "N"}, {"prompt": "oktober", "ideal": "Y"}, {"prompt": "stiekem", "ideal": "Y"}, {"prompt": "pijama", "ideal": "N"}, {"prompt": "ommelet", "ideal": "N"}, {"prompt": "relaxt", "ideal": "N"}, {"prompt": "februarie", "ideal": "N"}, {"prompt": "hartstikke", "ideal": "Y"}, {"prompt": "pyjama", "ideal": "Y"}, {"prompt": "barbeque", "ideal": "N"}, {"prompt": "gewelddadig", "ideal": "Y"}, {"prompt": "rechtzaak", "ideal": "N"}, {"prompt": "sperzieboon", "ideal": "Y"}, {"prompt": "lasagne", "ideal": "Y"}, {"prompt": "wijffelen", "ideal": "N"}, {"prompt": "appartement", "ideal": "Y"}, {"prompt": "aperitief", "ideal": "Y"}, {"prompt": "applaudisseren", "ideal": "Y"}, {"prompt": "truckendoos", "ideal": "N"}, {"prompt": "teminste", "ideal": "N"}, {"prompt": "gezamenlijk", "ideal": "Y"}, {"prompt": "cursus", "ideal": "Y"}, {"prompt": "monniken", "ideal": "Y"}, {"prompt": "ilegaal", "ideal": "N"}, {"prompt": "elektronisch", "ideal": "Y"}, {"prompt": "smorgens", "ideal": "N"}, {"prompt": "falikant", "ideal": "N"}, {"prompt": "hopelijk", "ideal": "Y"}, {"prompt": "spersiboon", "ideal": "N"}, {"prompt": "cosmetisch", "ideal": "Y"}, {"prompt": "persee", "ideal": "N"}, {"prompt": "daarintegen", "ideal": "N"}, {"prompt": "bloknote", "ideal": "N"}, {"prompt": "chagerijnig", "ideal": "N"}, {"prompt": "relaxed", "ideal": "Y"}, {"prompt": "rechtszaak", "ideal": "Y"}, {"prompt": "karekiet", "ideal": "Y"}, {"prompt": "eensgezinswoning", "ideal": "N"}, {"prompt": "sexualiteit", "ideal": "N"}, {"prompt": "rechtstreeks", "ideal": "Y"}, {"prompt": "kadoos", "ideal": "N"}, {"prompt": "pannekoek", "ideal": "N"}, {"prompt": "conscientieus", "ideal": "Y"}, {"prompt": "burgermeester", "ideal": "N"}, {"prompt": "electrisch", "ideal": "N"}, {"prompt": "paralel", "ideal": "N"}, {"prompt": "interesant", "ideal": "N"}, {"prompt": "liniaal", "ideal": "Y"}, {"prompt": "zone", "ideal": "Y"}, {"prompt": "satee", "ideal": "N"}, {"prompt": "macaroni", "ideal": "Y"}, {"prompt": "verrassing", "ideal": "Y"}, {"prompt": "trukendoos", "ideal": "Y"}, {"prompt": "monnikken", "ideal": "N"}, {"prompt": "toendertijd", "ideal": "N"}, {"prompt": "interresant", "ideal": "N"}, {"prompt": "onmiddellijk", "ideal": "Y"}, {"prompt": "blocnote", "ideal": "Y"}, {"prompt": "distanci\u00ebren", "ideal": "N"}, {"prompt": "aluminium", "ideal": "Y"}, {"prompt": "accommodatie", "ideal": "Y"}, {"prompt": "googelen", "ideal": "N"}, {"prompt": "dieet", "ideal": "Y"}, {"prompt": "faliekant", "ideal": "N"}, {"prompt": "hobbies", "ideal": "N"}, {"prompt": "portemonnee", "ideal": "Y"}, {"prompt": "filet", "ideal": "Y"}, {"prompt": "adelijk", "ideal": "N"}, {"prompt": "soliciteren", "ideal": "N"}, {"prompt": "gedachtegang", "ideal": "Y"}, {"prompt": "hepatitis", "ideal": "Y"}, {"prompt": "impresario", "ideal": "Y"}, {"prompt": "cadeau", "ideal": "Y"}, {"prompt": "capuchino", "ideal": "N"}, {"prompt": "faillissement", "ideal": "Y"}, {"prompt": "chagrijnig", "ideal": "Y"}, {"prompt": "daarentegen", "ideal": "Y"}, {"prompt": "grenzenloos", "ideal": "N"}, {"prompt": "reclame", "ideal": "Y"}, {"prompt": "interview", "ideal": "Y"}, {"prompt": "satay", "ideal": "N"}, {"prompt": "omstebeurt", "ideal": "N"}, {"prompt": "financieel", "ideal": "Y"}, {"prompt": "dichtstbijzijnd", "ideal": "Y"}, {"prompt": "rechtsstreeks", "ideal": "N"}, {"prompt": "lineaal", "ideal": "N"}, {"prompt": "hardstikke", "ideal": "N"}, {"prompt": "begroeiing", "ideal": "Y"}, {"prompt": "sat\u00e9", "ideal": "Y"}, {"prompt": "accellereren", "ideal": "N"}, {"prompt": "faillisement", "ideal": "N"}, {"prompt": "lidteken", "ideal": "N"}, {"prompt": "cappuccino", "ideal": "Y"}, {"prompt": "distanti\u00ebren", "ideal": "Y"}, {"prompt": "yoghurt", "ideal": "Y"}, {"prompt": "cr\u00e8che", "ideal": "Y"}, {"prompt": "krokus", "ideal": "Y"}, {"prompt": "intervieuw", "ideal": "N"}, {"prompt": "namenlijk", "ideal": "N"}, {"prompt": "adellijk", "ideal": "Y"}, {"prompt": "abbonnee", "ideal": "N"}, {"prompt": "euthanasie", "ideal": "Y"}, {"prompt": "accelereren", "ideal": "Y"}, {"prompt": "product", "ideal": "Y"}, {"prompt": "", "ideal": "Y"}, {"prompt": "alluminium", "ideal": "N"}, {"prompt": "acomodatie", "ideal": "N"}, {"prompt": "begrafenis", "ideal": "Y"}, {"prompt": "satelliet", "ideal": "Y"}, {"prompt": "sieraad", "ideal": "Y"}], "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-dutch-lexicon", "sourceHandle": "prompt", "target": "eval-dutch-lexicon", "targetHandle": "responseBatch", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-eval-1686756357355responseBatch"}, {"source": "prompt-dutch-lexicon", "sourceHandle": "prompt", "target": "inspect-dutch-lexicon", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-inspect-1686756357355input"}, {"source": "eval-dutch-lexicon", "sourceHandle": "output", "target": "vis-dutch-lexicon", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-eval-1686756357355output-vis-1686756357355input"}, {"source": "table-dutch-lexicon", "sourceHandle": "Prompt", "target": "prompt-dutch-lexicon", "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": {}}}