resume-roaster / app.py
Kuberwastaken's picture
1 max steps is good enough
d5496d0
import yaml
from smolagents import CodeAgent, HfApiModel
from smolagents.tools import Tool
from tools.resumescraper import ResumeScraperTool
from huggingface_hub import InferenceClient
class FinalAnswerTool(Tool):
name = "final_answer"
description = "Use this tool to provide your final roast"
inputs = {
"answer": {
"type": "string",
"description": "The final roast for the resume"
}
}
output_type = "string"
def forward(self, answer: str) -> str:
return answer
def create_agent():
final_answer = FinalAnswerTool()
resume_scraper = ResumeScraperTool()
# Instantiate HfApiModel using Qwen/Qwen2.5-Coder-32B-Instruct for roasting.
model = HfApiModel(
max_tokens=2096,
temperature=0.7,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Create a dedicated InferenceClient using your public endpoint
client = InferenceClient("https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud")
# Override the model's client with our dedicated client
model.client = client
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[resume_scraper, final_answer],
max_steps=1,
verbosity_level=1,
prompt_templates=prompt_templates
)
return agent