|
|
import gradio as gr |
|
|
import requests |
|
|
|
|
|
|
|
|
GROQ_API_KEY = "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" |
|
|
GROQ_URL = "https://api.groq.com/openai/v1/chat/completions" |
|
|
|
|
|
|
|
|
def generate_contract(client_name, contractor_name, project_scope, payment_terms): |
|
|
prompt = f""" |
|
|
Create a simple civil engineering contract between: |
|
|
- Client: {client_name} |
|
|
- Contractor: {contractor_name} |
|
|
Scope of work: {project_scope} |
|
|
Payment terms: {payment_terms} |
|
|
Include start date, completion date, and general terms. |
|
|
""" |
|
|
|
|
|
headers = { |
|
|
"Authorization": f"Bearer {GROQ_API_KEY}", |
|
|
"Content-Type": "application/json" |
|
|
} |
|
|
payload = { |
|
|
"model": "llama3-70b-8192", |
|
|
"messages": [{"role": "user", "content": prompt}], |
|
|
"temperature": 0.7 |
|
|
} |
|
|
|
|
|
response = requests.post(GROQ_URL, headers=headers, json=payload) |
|
|
data = response.json() |
|
|
|
|
|
return data['choices'][0]['message']['content'] |
|
|
|
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
gr.Markdown("## ποΈ Civil Engineering Contract Generator") |
|
|
|
|
|
client = gr.Textbox(label="Client Name") |
|
|
contractor = gr.Textbox(label="Contractor Name") |
|
|
scope = gr.Textbox(label="Project Scope") |
|
|
payment = gr.Textbox(label="Payment Terms") |
|
|
|
|
|
output = gr.Textbox(label="Generated Contract", lines=20) |
|
|
|
|
|
btn = gr.Button("Generate Contract") |
|
|
btn.click(generate_contract, inputs=[client, contractor, scope, payment], outputs=output) |
|
|
|
|
|
demo.launch() |
|
|
|