Download agents/debugger.py from aymnsk/Tryacp: direct link, hf CLI and curl.
- Browser
- Download file 1.63 kB
-
https://huggingface.co/spaces/aymnsk/Tryacp/resolve/main/agents/debugger.py
- Command line
-
hf download hf://spaces/aymnsk/Tryacp/agents/debugger.py
-
curl -L -o debugger.py https://huggingface.co/spaces/aymnsk/Tryacp/resolve/main/agents/debugger.py
1.63 kB
| # agents/debugger.py | |
| from agents.base_agent import BaseAgent, ACPMessage | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| import torch | |
| class DebuggerAgent(BaseAgent): | |
| def __init__(self): | |
| super().__init__(name="BugBot", role="Debugger") | |
| self.tokenizer = AutoTokenizer.from_pretrained("Salesforce/codegen-350M-multi") | |
| self.model = AutoModelForCausalLM.from_pretrained("Salesforce/codegen-350M-multi") | |
| def generate_debug_comment(self, code: str) -> str: | |
| prompt = f"# Review this Python code and ask a smart debugging or testing question:\n{code}\n# Question:" | |
| inputs = self.tokenizer(prompt, return_tensors="pt", truncation=True) | |
| outputs = self.model.generate( | |
| inputs["input_ids"], | |
| max_length=128, | |
| do_sample=True, | |
| temperature=0.7, | |
| pad_token_id=self.tokenizer.eos_token_id | |
| ) | |
| reply = self.tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return reply[len(prompt):].strip() | |
| def receive_message(self, message: ACPMessage) -> ACPMessage: | |
| if message.performative in ["inform", "request"]: | |
| comment = self.generate_debug_comment(message.content) | |
| return self.create_message( | |
| receiver=message.sender, | |
| performative="request", | |
| content=comment or "Can you improve error handling?" | |
| ) | |
| else: | |
| return self.create_message( | |
| receiver=message.sender, | |
| performative="request", | |
| content="Can you show me some Python code?" | |
| ) | |