ChainForge/chainforge/oaievals/french-lexicon.cforge

1 line
188 KiB
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-french-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 French 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 French 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-french-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-french-lexicon", "type": "vis", "data": {"input": "eval-french-lexicon"}, "position": {"x": 1200, "y": 250}, "positionAbsolute": {"x": 1200, "y": 250}}, {"width": 302, "height": 260, "id": "inspect-french-lexicon", "type": "inspect", "data": {"input": "prompt-french-lexicon"}, "position": {"x": 820, "y": 400}, "positionAbsolute": {"x": 820, "y": 400}}, {"width": 423, "height": 417, "id": "table-french-lexicon", "type": "table", "data": {"rows": [{"prompt": "labadisme", "ideal": "Y"}, {"prompt": "vic\u00e9simal", "ideal": "Y"}, {"prompt": "quertine", "ideal": "Y"}, {"prompt": "vergondeux", "ideal": "Y"}, {"prompt": "restouper", "ideal": "Y"}, {"prompt": "omineux", "ideal": "Y"}, {"prompt": "malebouche", "ideal": "Y"}, {"prompt": "sabaoth", "ideal": "Y"}, {"prompt": "rouettes", "ideal": "Y"}, {"prompt": "andrinople", "ideal": "Y"}, {"prompt": "chem\u00e9rage", "ideal": "Y"}, {"prompt": "ligneur", "ideal": "Y"}, {"prompt": "adventice", "ideal": "Y"}, {"prompt": "ab hoc et ab h\u00e2c", "ideal": "Y"}, {"prompt": "gigantomachie", "ideal": "Y"}, {"prompt": "passouer", "ideal": "Y"}, {"prompt": "\u00e9gruger", "ideal": "Y"}, {"prompt": "oscille", "ideal": "Y"}, {"prompt": "paling\u00e9n\u00e9sie", "ideal": "Y"}, {"prompt": "folette", "ideal": "Y"}, {"prompt": "zam\u00e9es", "ideal": "Y"}, {"prompt": "oral", "ideal": "Y"}, {"prompt": "tes\u00e9e", "ideal": "Y"}, {"prompt": "turpe", "ideal": "Y"}, {"prompt": "th\u00e9odolite", "ideal": "Y"}, {"prompt": "oulot", "ideal": "Y"}, {"prompt": "m\u00e9talepse", "ideal": "Y"}, {"prompt": "emposieu", "ideal": "Y"}, {"prompt": "dogaresse", "ideal": "Y"}, {"prompt": "hipparque", "ideal": "Y"}, {"prompt": "roseli\u00e8re", "ideal": "Y"}, {"prompt": "vi\u00e9dase", "ideal": "Y"}, {"prompt": "soleret", "ideal": "Y"}, {"prompt": "fraise", "ideal": "Y"}, {"prompt": "uligineux", "ideal": "Y"}, {"prompt": "spagirique", "ideal": "Y"}, {"prompt": "ui", "ideal": "Y"}, {"prompt": "t\u00e9l\u00e9gonie", "ideal": "Y"}, {"prompt": "bousingot", "ideal": "Y"}, {"prompt": "tapion", "ideal": "Y"}, {"prompt": "bonnetade", "ideal": "Y"}, {"prompt": "maillechort", "ideal": "Y"}, {"prompt": "sororicide", "ideal": "Y"}, {"prompt": "santoline", "ideal": "Y"}, {"prompt": "tri\u00e9rarque", "ideal": "Y"}, {"prompt": "eschillon", "ideal": "Y"}, {"prompt": "valec", "ideal": "Y"}, {"prompt": "torquet", "ideal": "Y"}, {"prompt": "gimbelette", "ideal": "Y"}, {"prompt": "custodi-nos", "ideal": "Y"}, {"prompt": "battiture", "ideal": "Y"}, {"prompt": "abig\u00e9at", "ideal": "Y"}, {"prompt": "turlupin", "ideal": "Y"}, {"prompt": "cairn", "ideal": "Y"}, {"prompt": "cacouac", "ideal": "Y"}, {"prompt": "kin\u00e9sodique", "ideal": "Y"}, {"prompt": "sib