コード例 #1
0
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("==========================")
コード例 #2
0
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?",
コード例 #3
0
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.',
コード例 #4
0
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()