def main(): openai_key = os.getenv("OPENAI_KEY") set_openai_key(openai_key) gpt = GPT(temperature=0.2, max_tokens=10) train, validation = combustion_reactions[:4], combustion_reactions[4:] for example in train: gpt.add_example(Example(example.lhs, example.rhs)) for idx, example in enumerate(validation): print(idx + 1) print(f"GPT prediction: {gpt.get_top_reply(example.lhs)}") print(f"Actual: {example.rhs}") print("==========================")
import os from flask import Flask, request, render_template from gpt import set_openai_key, GPT, Example KEY_NAME = "OPENAI_KEY" app = Flask(__name__) set_openai_key(os.environ[KEY_NAME]) @app.route('/') def index(): return render_template('index.html', title=title, context=context) @app.route('/query', methods=['POST']) def request_query(): query = request.form['query'] response = gpt.submit_request(query) return {'text': response['choices'][0]['text'][7:]} title = '¿Que le respondo al profe?' context = 'El objetivo de esta simulación es encontrar la respuesta perfecta para darle al profe en una situación complicada.' examples = { "Profesor: que pensás hacer respecto a tus trabajos prácticos?": "Yo: Trataré de hacer todos los trabajos prácticos antes de que terminen las clases.", "Profesor: Alguna duda te quedó respecto de la clase?": "Yo: Creo que me gustaría que volviera a explicar el tema pero con menos detalles para tener una idea más clara.", "Profesor: Todo listo para el examen final?": "Yo: Si profe, he estado estudiando todos los temas, alguna recomendación sobre qué estudiar en específico?",
import json import openai import numpy as np import pandas as pd from gpt import set_openai_key from gpt import GPT from gpt import Example set_openai_key() gpt_sql = GPT(engine="davinci", temperature=0.5, max_tokens=100) gpt_js = GPT(engine="davinci", temperature=0.5, max_tokens=100) gpt_python = GPT(engine="davinci", temperature=0.5, max_tokens=100) gpt_php = GPT(engine="davinci", temperature=0.5, max_tokens=100) #df = pd.read_csv("states_all.csv") #df = pd.DataFrame({"Gender": ["boy", "boy", "boy", "boy", "boy", "girl", "girl", "girl", "girl"], # "Division": ["one", "one", "one", "two", "two", # "one", "one", "two", "two"], # "Marks": [50, 55, 67, 85, 44, 84, 65, 56, 87]}) #print(df) def train_sql_model(): gpt_sql.add_example( Example('Fetch unique values of DEPARTMENT from Worker table.', 'Select distinct DEPARTMENT from Worker;')) gpt_sql.add_example( Example( 'Print the first three characters of FIRST_NAME from Worker table.',
def demo_web_app(gpt, openai_key, config=UIConfig()): """Creates Flask app to serve the React app.""" app = Flask(__name__) set_openai_key(openai_key) @app.route("/params", methods=["GET"]) def get_params(): # pylint: disable=unused-variable response = config.json() return response def error(err_msg, status_code): return Response(json.dumps({"error": err_msg}), status=status_code) def get_example(example_id): """Gets a single example or all the examples.""" # return all examples if not example_id: return json.dumps(gpt.get_all_examples()) example = gpt.get_example(example_id) if not example: return error("id not found", HTTPStatus.NOT_FOUND) return json.dumps(example.as_dict()) def post_example(): """Adds an empty example.""" new_example = Example("", "") gpt.add_example(new_example) return json.dumps(gpt.get_all_examples()) def put_example(args, example_id): """Modifies an existing example.""" if not example_id: return error("id required", HTTPStatus.BAD_REQUEST) example = gpt.get_example(example_id) if not example: return error("id not found", HTTPStatus.NOT_FOUND) if "input" in args: example.input = args["input"] if "output" in args: example.output = args["output"] # update the example gpt.add_example(example) return json.dumps(example.as_dict()) def delete_example(example_id): """Deletes an example.""" if not example_id: return error("id required", HTTPStatus.BAD_REQUEST) gpt.delete_example(example_id) return json.dumps(gpt.get_all_examples()) @app.route( "/examples", methods=["GET", "POST"], defaults={"example_id": ""}, ) @app.route( "/examples/<example_id>", methods=["GET", "PUT", "DELETE"], ) def examples(example_id): method = request.method args = request.json if method == "GET": return get_example(example_id) if method == "POST": return post_example() if method == "PUT": return put_example(args, example_id) if method == "DELETE": return delete_example(example_id) return error("Not implemented", HTTPStatus.NOT_IMPLEMENTED) @app.route("/translate", methods=["GET", "POST"]) def translate(): # pylint: disable=unused-variable prompt = request.json["prompt"] response = gpt.submit_request(prompt) offset = 0 if not gpt.append_output_prefix_to_query: offset = len(gpt.output_prefix) return {'text': response['choices'][0]['text'][offset:]} subprocess.Popen(["yarn", "start"]) app.run()