AI_test / app.py
RohanVashisht's picture
Update app.py
b9a5cae verified
import gradio as gr
from huggingface_hub import InferenceClient
# Initialize inference client (no 'provider' argument in latest API)
client = InferenceClient(
"HuggingFaceTB/SmolLM3-3B",
# token=os.getenv("HF_TOKEN")
)
def zigistry_ai(user_query, package_data):
messages = [
{
"role": "system",
"content": (
"You are ZigistryAI, an expert assistant that understands the Zig programming language, "
"its ecosystem, and package data. You read structured package info and determine the best matches "
"to a user's request. Always explain reasoning briefly."
),
},
{
"role": "user",
"content": f"{user_query}\nData: {package_data}",
},
]
completion = client.chat.completions.create(
messages=messages,
temperature=0.3,
)
return completion.choices[0].message.content
# Gradio interface
with gr.Blocks() as demo:
gr.Markdown("## 🤖 Zigistry AI — Package Language Filter")
with gr.Row():
user_query = gr.Textbox(label="Your Query", value="Which of the following packages are implemented entirely in Zig?", lines=2)
with gr.Row():
package_data = gr.Textbox(label="Package Data (JSON)", lines=10, value='''[
{
"name": "zig-http",
"description": "Pure Zig HTTP server with no C dependencies",
"language_mix": "zig_only"
},
{
"name": "c-wrapper",
"description": "Zig bindings for a C library",
"language_mix": "zig_and_c"
}
]''')
with gr.Row():
output = gr.Textbox(label="AI Response", lines=6)
submit_btn = gr.Button("Ask Zigistry AI")
submit_btn.click(zigistry_ai, inputs=[user_query, package_data], outputs=output)
demo.launch()