import os from pydantic import BaseModel, Field from typing import List from groq import Groq import instructor from dotenv import load_dotenv import gradio as gr load_dotenv() client = Groq( api_key=os.getenv("GROQ_API_KEY"), ) class Output(BaseModel): latex: str client = instructor.from_groq(client, mode=instructor.Mode.TOOLS) def get_LaTeX(query): prompt = f""" You are a tool which takes in natural language descriptions and give out LaTeX according to the instructions in the input Output LaTeX for the following: {query} """ resp = client.chat.completions.create( model="llama3-8b-8192", messages=[ { "role": "user", "content": prompt, } ], response_model=Output, ) return resp.latex,"$$\\begin{align*}" + resp.latex + "\\end{align*}$$" css = """ #submit-btn { background: #8957E5; } """ with gr.Blocks(theme=gr.themes.Default(primary_hue="purple"),css=css) as demo: gr.HTML("