mirror of
https://github.com/ianarawjo/ChainForge.git
synced 2025-03-17 17:45:48 +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
8.5 KiB
Plaintext
1 line
8.5 KiB
Plaintext
{"flow": {"nodes": [{"width": 312, "height": 311, "id": "prompt-formal-grammar-to-regex", "type": "prompt", "data": {"prompt": "{prompt}", "n": 1, "llms": [{"key": "aa3c0f03-22bd-416e-af4d-4bf5c4278c99", "settings": {"system_msg": "Determine a regular expression which is equivalent to formal grammar provided by the user. The formal grammar is represented as a series of production rules. Each letter is a symbol. Terminal symbols are represented by lowercase letters, 'S' is the start symbol, and 'e' symbolizes the empty string. Your generated regular expression should be formatted using Extended Regular Syntax (ERS), and must not include empty string symbol. Provide the regular expressions in their most straightforward form, without any superfluous clauses or symbols. Carefully reason to your answer. Upon concluding your analysis, end your response with the statement, \"Therefore, the regular expression which is equivalent to this grammar is `REGEX`.\" If deriving a regular expression isn't feasible, respond with \"Therefore, the grammar is not regular.\"", "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": "Determine a regular expression which is equivalent to formal grammar provided by the user. The formal grammar is represented as a series of production rules. Each letter is a symbol. Terminal symbols are represented by lowercase letters, 'S' is the start symbol, and 'e' symbolizes the empty string. Your generated regular expression should be formatted using Extended Regular Syntax (ERS), and must not include empty string symbol. Provide the regular expressions in their most straightforward form, without any superfluous clauses or symbols. Carefully reason to your answer. Upon concluding your analysis, end your response with the statement, \"Therefore, the regular expression which is equivalent to this grammar is `REGEX`.\" If deriving a regular expression isn't feasible, respond with \"Therefore, the grammar is not regular.\"", "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-formal-grammar-to-regex", "type": "evaluator", "data": {"code": "function evaluate(response) {\n\tlet ideal = response.meta['Ideal'];\n\treturn response.text.includes(ideal);\n}", "language": "javascript"}, "position": {"x": 820, "y": 150}, "positionAbsolute": {"x": 820, "y": 150}}, {"width": 228, "height": 196, "id": "vis-formal-grammar-to-regex", "type": "vis", "data": {"input": "eval-formal-grammar-to-regex"}, "position": {"x": 1200, "y": 250}, "positionAbsolute": {"x": 1200, "y": 250}}, {"width": 302, "height": 260, "id": "inspect-formal-grammar-to-regex", "type": "inspect", "data": {"input": "prompt-formal-grammar-to-regex"}, "position": {"x": 820, "y": 400}, "positionAbsolute": {"x": 820, "y": 400}}, {"width": 423, "height": 417, "id": "table-formal-grammar-to-regex", "type": "table", "data": {"rows": [{"prompt": "A -> aB | e, B -> bA, S -> A | B", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `b?(ab)*`."}, {"prompt": "M -> aM | bM | cM | dM | bS, S -> fM | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(f([a-d]*b))*`."}, {"prompt": "S -> cA, A -> aC | cI | I, C -> bA, I -> S | d", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(c(ab)*c?)+d`."}, {"prompt": "S -> cA, C -> bA, A -> cI | I | aC, I -> S | d", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(c(ab)*c?)+d`."}, {"prompt": "S -> xA, A -> zB, B -> S | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(xz)+`."}, {"prompt": "S -> A, A -> xA | B, B -> yB | C, C -> zC | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `x*y*z*`."}, {"prompt": "S -> xA, A -> yB, B -> xC, C -> yD, D -> b | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `xyxyb?`."}, {"prompt": "S -> xA | zC | e, A -> yB, C -> xD, D -> S, B -> S", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `((xy)|(zx))*`."}, {"prompt": "S -> A, A -> B | aB, B -> C | bC, C -> c | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `a?b?c?`."}, {"prompt": "S -> A, A -> aA | bA | cA | dA | B, B -> aC | cC, C -> S | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `([a-d]*(a|c))+`."}, {"prompt": "S -> aA | bA, A -> cB, B -> dD | e, D -> eB", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(a|b)c(de)*`."}, {"prompt": "S -> A, A -> aS | aB, B -> bC | bS, C -> cS | cD, D -> dS | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(a|(b|(c|d)))*abc`."}, {"prompt": "S -> aA, A -> bB, B -> cC | S, C -> dD, D -> e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(ab)+cd`."}, {"prompt": "S -> aA, A -> bB, B -> cC, C -> e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `a(dbc)*bc`."}, {"prompt": "S -> cA, A -> aS | bB | e, B -> aS", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `((ca)*(cba)*)*c`."}, {"prompt": "S -> aA, A -> bB, B -> cC, C -> e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `abc`."}, {"prompt": "S -> aB, B -> bC, C -> cA | e, A -> dS", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `ab(cdab)*`."}, {"prompt": "B -> bS | e, S -> aB", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `a(ba)*`."}, {"prompt": "A -> aAa | e, C -> cCc | e, S -> AbC", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `(aa)*b(cc)*`."}, {"prompt": "S -> AzA, A -> AzA | aA | bA | cA | dA | e", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `([a-d]*z)+[a-d]*`."}, {"prompt": "S -> BCB, B -> b, C -> DD, D -> BEB | d, E -> x", "ideal": "Therefore, the regular expression which is equivalent to this grammar is `b((bxb)|d){2}b`."}, {"prompt": "S -> zB | e, B -> xSy", "ideal": "Therefore, the grammar is not regular."}, {"prompt": "S -> BC | e, B -> aS, C -> bS", "ideal": "Therefore, the grammar is not regular."}, {"prompt": "S -> aaBaa, B -> bbSbb, A -> e", "ideal": "Therefore, the grammar is not regular."}, {"prompt": "S -> aaA | e, A -> Bbb, B -> zS", "ideal": "Therefore, the grammar is not regular."}], "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-formal-grammar-to-regex", "sourceHandle": "prompt", "target": "eval-formal-grammar-to-regex", "targetHandle": "responseBatch", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-eval-1686756357355responseBatch"}, {"source": "prompt-formal-grammar-to-regex", "sourceHandle": "prompt", "target": "inspect-formal-grammar-to-regex", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-prompt-1686756357355prompt-inspect-1686756357355input"}, {"source": "eval-formal-grammar-to-regex", "sourceHandle": "output", "target": "vis-formal-grammar-to-regex", "targetHandle": "input", "interactionWidth": 100, "markerEnd": {"type": "arrow", "width": "22px", "height": "22px"}, "id": "reactflow__edge-eval-1686756357355output-vis-1686756357355input"}, {"source": "table-formal-grammar-to-regex", "sourceHandle": "Prompt", "target": "prompt-formal-grammar-to-regex", "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": {}}} |