Current employer
Model input
Synthetic profile: Cedar 2020–2023; Birch 2023–present.
Turn career histories into consistent employer, skill, specialty, and seniority attributes.
Choose an example
Extract job-relevant career facts from synthetic profiles.
Step 01
Choose an example, review the proposed output, and annotate the fields that need to change. Your guidance defines the learned rules.
Current employer, excluding roles that have ended.
Specialty supported by the documented work.
Explicit duration of Python experience; not provided when unstated.
Job-related skills supported by the profile.
Extract job-relevant career facts from synthetic profiles.
Synthetic profile: Cedar 2020–2023; Birch 2023–present.
Sutro can now generalize the rules based on your feedback.
Step 02
Compare quality and cost on your examples, then choose a model or use Sutro’s default.
Compare models on expert agreement and cost. The interactive chart uses illustrative measurements.
Illustrative sweep · select Value or Best to use that model in your function.
Step 03
Call Sutro Functions like any other software. Swap the model as soon as something more performant is released.
import sutro as so
input_data = {
"text": "Synthetic profile: Cedar 2020–2023; Birch 2023–present."
}
result = so.run_function(
"talent-profile-enrichment",
input_data,
)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/functions/talent-profile-enrichment/run" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"text": "Synthetic profile: Cedar 2020–2023; Birch 2023–present."
}
}'import sutro as so
job_id = so.batch_run_function(
name="talent-profile-enrichment",
data="talent_profile_enrichment.csv",
)
results = so.await_job_completion(job_id)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/batch-inference" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "talent-profile-enrichment",
"inputs": [
{
"text": "Synthetic profile: Cedar 2020–2023; Birch 2023–present."
}
]
}'Step 01
Upload sample data, define your output schema, and provide feedback on the hardest cases.
Skills demonstrated by the supplied profile, excluding aspirations and negated experience.
Strength of the documented evidence for the extracted skills.
Skills mentioned without demonstrated experience or explicitly ruled out.
Extract skills the profile demonstrates, preserving evidence and context.
Synthetic profile: experienced in Java; no production Python experience.
Sutro can now generalize the rules based on your feedback.
Step 02
Compare quality and cost on your examples, then choose a model or use Sutro’s default.
Compare models on expert agreement and cost. The interactive chart uses illustrative measurements.
Illustrative sweep · select Value or Best to use that model in your function.
Step 03
Call Sutro Functions like any other software. Swap the model as soon as something more performant is released.
import sutro as so
input_data = {
"text": "Synthetic profile: experienced in Java; no production Python experience."
}
result = so.run_function(
"skills-extraction",
input_data,
)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/functions/skills-extraction/run" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"text": "Synthetic profile: experienced in Java; no production Python experience."
}
}'import sutro as so
job_id = so.batch_run_function(
name="skills-extraction",
data="skills_extraction.csv",
)
results = so.await_job_completion(job_id)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/batch-inference" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "skills-extraction",
"inputs": [
{
"text": "Synthetic profile: experienced in Java; no production Python experience."
}
]
}'Step 01
Upload sample data, define your output schema, and provide feedback on the hardest cases.
Career track based on responsibilities and direct reports.
Seniority supported by the title and described responsibilities.
Whether people-management responsibility is documented.
Normalize job titles using documented role responsibilities.
Synthetic profile: Staff Engineer; leads architecture but has no direct reports.
Sutro can now generalize the rules based on your feedback.
Step 02
Compare quality and cost on your examples, then choose a model or use Sutro’s default.
Compare models on expert agreement and cost. The interactive chart uses illustrative measurements.
Illustrative sweep · select Value or Best to use that model in your function.
Step 03
Call Sutro Functions like any other software. Swap the model as soon as something more performant is released.
import sutro as so
input_data = {
"text": "Synthetic profile: Staff Engineer; leads architecture but has no direct reports."
}
result = so.run_function(
"title-seniority-normalization",
input_data,
)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/functions/title-seniority-normalization/run" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"text": "Synthetic profile: Staff Engineer; leads architecture but has no direct reports."
}
}'import sutro as so
job_id = so.batch_run_function(
name="title-seniority-normalization",
data="title_seniority_normalization.csv",
)
results = so.await_job_completion(job_id)curl --fail-with-body -X POST "${SUTRO_API_URL%/}/v1/batch-inference" \
-H "Authorization: Key $SUTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "title-seniority-normalization",
"inputs": [
{
"text": "Synthetic profile: Staff Engineer; leads architecture but has no direct reports."
}
]
}'