| import numpy as np |
| import pandas as pd |
| import requests |
| import os |
| import gradio as gr |
| import json |
| from dotenv import load_dotenv, find_dotenv |
| _ = load_dotenv(find_dotenv()) |
|
|
|
|
| databricks_token = os.getenv('DATABRICKS_TOKEN') |
| model_uri = "https://dbc-eb788f31-6c73.cloud.databricks.com/serving-endpoints/Mpt-7b-tester/invocations" |
|
|
| def score_model(model_uri, databricks_token, data): |
| headers = { |
| "Authorization": f"Bearer {databricks_token}", |
| "Content-Type": "application/json", |
| } |
| data_json = '{"dataframe_split": {"index": [0], "columns": ["prompt", "temperature", "max_tokens"], "data": [["Loop is a company which converts fruit waste into juice to help retail stores reduce food loss by buying up fruits which were designated for trash.", 0.5, 500]]}}' |
| print("***data_json: ") |
|
|
| print(data_json) |
| response = requests.request(method='POST', headers=headers, url=model_uri, json=data_json) |
| if response.status_code != 200: |
| raise Exception(f"Request failed with status {response.status_code}, {response.text}") |
| return response.json() |
|
|
| def get_completion(prompt): |
| return score_model(model_uri, databricks_token, prompt) |
|
|
| def greet(input): |
| prompt = f""" |
| Determine the product or solution, the problem being solved, features, target customer that are being discussed in the \ |
| following text, which is delimited by triple backticks. Then, pretend that you are the target customer. \ |
| State if you would use this product and elaborate on why. Also state if you would pay for it and elaborate on why.\ |
| |
| Format your response as a JSON object with \ |
| 'solution', 'problem', 'features', 'target_customer', 'fg_will_use', 'reason_to_use', 'fg_will_pay', 'reason_to_pay' as the keys.\ |
| |
| Text sample: '''{input}''' |
| """ |
| response = get_completion(prompt) |
| return json.dumps(response) |
|
|
| |
| |
|
|
| |
| iface = gr.Interface(fn=greet, inputs=[gr.Textbox(label="Elevator pitch", lines=3)], outputs="json") |
| iface.launch() |
|
|