| 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()) |
|
|
| from predibase import Predibase, FinetuningConfig, DeploymentConfig |
|
|
| |
| api_token = os.getenv('PREDIBASE_API_KEY') |
| pb = Predibase(api_token=api_token) |
|
|
| adapter_id = 'tour-assistant-model/14' |
| lorax_client = pb.deployments.client("solar-1-mini-chat-240612") |
|
|
|
|
| def extract_json(gen_text, n_shot_learning=0): |
| if(n_shot_learning == -1) : |
| start_index = 0 |
| else : |
| start_index = gen_text.index("### Response:\n{") + 14 |
| if(n_shot_learning > 0) : |
| for i in range(0, n_shot_learning): |
| gen_text = gen_text[start_index:] |
| start_index = gen_text.index("### Response:\n{") + 14 |
| end_index = gen_text.find("}\n\n### ") + 1 |
| return gen_text[start_index:end_index] |
|
|
| def get_completion(prompt): |
| return lorax_client.generate(prompt, adapter_id=adapter_id, max_new_tokens=1000).generated_text |
|
|
| def greet(input): |
| total_prompt=f""" |
| <|im_start|>system\nYou are a helpful travel assistant. Answer the following question.<|im_end|> |
| <|im_start|>question |
| {input}. Return as a JSON response with GeoLocation<|im_end|> |
| <|im_start|>answer |
| """ |
|
|
| print("***total_prompt:") |
| print(total_prompt) |
| response = get_completion(total_prompt) |
| |
| |
|
|
| |
|
|
| |
|
|
| |
| return response |
|
|
| |
|
|
| |
| |
|
|
| |
| iface = gr.Interface(fn=greet, inputs=[gr.Textbox(label="Elevator pitch", lines=3)], outputs="json") |
| iface.launch() |
|
|