import gradio as gr import json, os, vertexai, wandb from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) credentials = os.environ["CREDENTIALS"] project = os.environ["PROJECT"] wandb_api_key = os.environ["WANDB_API_KEY"] config = { "model": "text-bison@001", } wandb.login(key = wandb_api_key) wandb.init(project = "vertext-ai-txt", config = config) config = wandb.config credentials = json.loads(credentials) from google.oauth2 import service_account credentials = service_account.Credentials.from_service_account_info(credentials) if credentials.expired: credentials.refresh(Request()) vertexai.init(project = project, location = "us-central1", credentials = credentials) from vertexai.language_models import TextGenerationModel generation_model = TextGenerationModel.from_pretrained("text-bison@001") def invoke(prompt): completion = generation_model.predict(prompt = prompt).text wandb.log({"prompt": prompt, "completion": completion}) return completion gr.close_all() demo = gr.Interface(fn=invoke, inputs = [gr.Textbox(label = "Prompt", lines = 1)], outputs = [gr.Textbox(label = "Completion", lines = 1)], title = "Generative AI - Language", description = "Gradio UI using Google Vertex AI API with Bison foundation model") demo.launch()