File size: 1,483 Bytes
a97c801
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
from langchain_core.messages import AIMessage

MODEL_REPO = "Rahul-8799/quality_assurance_stablecode"

tokenizer = AutoTokenizer.from_pretrained(MODEL_REPO, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    MODEL_REPO,
    torch_dtype=torch.float16,
    device_map="auto"
)

def run(state: dict) -> dict:
    """Reviews UI/UX implementation and suggests improvements for better user experience"""
    messages = state["messages"]
    prompt = messages[-1].content
    
    # Enhance the prompt with UI/UX quality checks
    enhanced_prompt = f"""
    Review the UI implementation and check for:
    1. Proper spacing and alignment
    2. Consistent styling and theming
    3. Responsive design implementation
    4. Accessibility compliance
    5. Visual hierarchy
    6. Component reusability
    7. Performance optimization
    8. Cross-browser compatibility
    9. Mobile responsiveness
    10. User interaction patterns
    
    Original code: {prompt}
    """
    
    input_ids = tokenizer(enhanced_prompt, return_tensors="pt").input_ids.to(model.device)
    output_ids = model.generate(input_ids, max_new_tokens=3000)
    output = tokenizer.decode(output_ids[0], skip_special_tokens=True)

    return {
        "messages": [AIMessage(content=output)],
        "chat_log": state["chat_log"] + [{"role": "Quality Assurance", "content": output}],
        "qa_output": output,
    }