How to use from the
Use from the
sentence-transformers library
from sentence_transformers import CrossEncoder

model = CrossEncoder("Yoonseok55/tool-api-mapper-reranker")

query = "Which planet is known as the Red Planet?"
passages = [
	"Venus is often called Earth's twin because of its similar size and proximity.",
	"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
	"Jupiter, the largest planet in our solar system, has a prominent red spot.",
	"Saturn, famous for its rings, is sometimes mistaken for the Red Planet."
]

scores = model.predict([(query, passage) for passage in passages])
print(scores)

CrossEncoder based on cross-encoder/ms-marco-MiniLM-L6-v2

This is a Cross Encoder model finetuned from cross-encoder/ms-marco-MiniLM-L6-v2 using the sentence-transformers library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.

Model Details

Model Description

Model Sources

Full Model Architecture

CrossEncoder(
  (0): Transformer({'transformer_task': 'sequence-classification', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'logits'}}, 'module_output_name': 'scores', 'architecture': 'BertForSequenceClassification'})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import CrossEncoder

# Download from the 🤗 Hub
model = CrossEncoder("cross_encoder_model_id")
# Get scores for pairs of inputs
pairs = [
    ['Tool name: get_items_for_portfolio\nTool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.\nTool input parameters:\n- limit: number (optional) — Results per page (1-100)\n- offset: string (optional) — Pagination offset token\n- opt_fields: string (optional) — Comma-separated list of optional fields to include in the response\n- portfolio_gid: string (required) — Globally unique identifier for the portfolio', 'API operationId: getItemsForPortfolio\nAPI method: GET\nAPI path: /portfolios/{portfolio_gid}/items\nAPI summary: Get portfolio items\nAPI description: <b>Required scope: </b><code>portfolios:read</code>\n\nGet a list of the items in compact form in a portfolio.\nAPI parameters:\n- ref=portfolio_path_gid\n- ref=pretty\n- ref=limit\n- ref=offset\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["portfolios:read"]}]'],
    ['Tool name: get_items_for_portfolio\nTool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.\nTool input parameters:\n- limit: number (optional) — Results per page (1-100)\n- offset: string (optional) — Pagination offset token\n- opt_fields: string (optional) — Comma-separated list of optional fields to include in the response\n- portfolio_gid: string (required) — Globally unique identifier for the portfolio', 'API operationId: getGoals\nAPI method: GET\nAPI path: /goals\nAPI summary: Get goals\nAPI description: <b>Required scope: </b><code>goals:read</code>\n\nReturns compact goal records.\nAPI parameters:\n- ref=pretty\n- portfolio in=query type=string optional — Globally unique identifier for supporting portfolio.\n- project in=query type=string optional — Globally unique identifier for supporting project.\n- task in=query type=string optional — Globally unique identifier for supporting task.\n- is_workspace_level in=query type=boolean optional — Filter to goals with is_workspace_level set to query value. Must be used with the workspace parameter.\n- team in=query type=string optional — Globally unique identifier for the team.\n- workspace in=query type=string optional — Globally unique identifier for the workspace.\n- time_periods in=query type=array optional — Globally unique identifiers for the time periods.\n- ref=limit\n- ref=offset\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["goals:read"]}]'],
    ['Tool name: get_items_for_portfolio\nTool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.\nTool input parameters:\n- limit: number (optional) — Results per page (1-100)\n- offset: string (optional) — Pagination offset token\n- opt_fields: string (optional) — Comma-separated list of optional fields to include in the response\n- portfolio_gid: string (required) — Globally unique identifier for the portfolio', 'API operationId: searchProjectsForWorkspace\nAPI method: GET\nAPI path: /workspaces/{workspace_gid}/projects/search\nAPI summary: Search projects in a workspace\nAPI description: <b>Required scope: </b><code>projects:read</code>\n\nTo mirror the functionality of the Asana web app\'s advanced search feature, the Asana API has a project search endpoint that allows you to build complex filters to find and retrieve the exact data you need.\n#### Premium access\nLike the Asana web product\'s advance search feature, this search endpoint will only be available to premium Asana users. A user is premium if any of the following is true:\n\n- The workspace in which the search is being performed is a premium workspace\n- The user is a member of a premium team inside the workspace\n\nEven if a user is only a member of a premium team inside a non-premium workspace, search will allow them to find data anywhere in the workspace, not just inside the premium team. Making a search request using credentials of a non-premium user will result in a `402 Payment Required` error.\n#### Pagination\nSearch results are not stable; repeating the same query multiple times may return the data in a different order, even if the data do not change. Because of this, the traditional [pagination](/docs/pagination) available elsewhere in the Asana API is not available here. However, you can paginate manually by sorting the search results by their creation time and then modifying each subsequent query to exclude data you have already seen. Page sizes are limited to a maximum of 100 items, and can be specified by the `limit` query parameter.\n#### Eventual consistency\nChanges in Asana (regardless of whether they’re made though the web product or the API) are forwarded to our search infrastructure to be indexed. This process can take between 10 and 60 seconds to complete under normal operation, and longer during some production incidents. Making a change to a project that would alter its presence in a particular search query will not be reflected immediately. This is also true of the advanced search feature in the web product.\nBecause of this delay, the search endpoint is not suited for use cases that require immediate consistency after writes. If you need read-your-write behavior or strongly consistent results, we recommend using [Get multiple projects](/reference/getprojects) instead.\n#### Rate limits\nYou may receive a `429 Too Many Requests` response if you hit any of our [rate limits](/docs/rate-limits).\n#### Custom field parameters\n| Parameter name | Custom field type | Accepted type |\n|---|---|---|\n| custom_fields.{gid}.is_set | All | Boolean |\n| custom_fields.{gid}.value | Text | String |\n| custom_fields.{gid}.value | Number | Number |\n| custom_fields.{gid}.value | Enum | Enum option ID |\n| custom_fields.{gid}.starts_with | Text only | String |\n| custom_fields.{gid}.ends_with | Text only | String |\n| custom_fields.{gid}.contains | Text only | String |\n| custom_fields.{gid}.less_than | Number only | Number |\n| custom_fields.{gid}.greater_than | Number only | Number |\n\n\nFor example, if the gid of the custom field is 12345, the query parameter to find projects where it i…\nAPI parameters:\n- ref=workspace_path_gid\n- ref=pretty\n- text in=query type=string optional — Performs full-text search on the project name.\n- sort_by in=query type=string optional — One of `due_date`, `created_at`, `completed_at`, `relevance`, or `modified_at`, defaults to `modified_at`.\n- sort_ascending in=query type=boolean optional — Default `false`.\n- completed in=query type=boolean optional — Filter on project completion status.\n- teams.any in=query type=string optional — Comma-separated list of team IDs.\n- owner.any in=query type=string optional — Comma-separated list of user identifiers to filter on as project owners. This can either be the string "me", an email, or the gid of a user.\n- members.any in=query type=string optional — Comma-separated list of user identifiers to filter on as members. This can either be the string "me", an email, or the gid of a user.\n- members.not in=query type=string optional — Comma-separated list of user identifiers to exclude as members. This can either be the string "me", an email, or the gid of a user.\n- portfolios.any in=query type=string optional — Comma-separated list of portfolio IDs to filter on.\n- completed_on in=query type=string optional — ISO 8601 date string or `null`.\n- completed_on.before in=query type=string optional — ISO 8601 date string.\n- completed_on.after in=query type=string optional — ISO 8601 date string.\n- completed_at.before in=query type=string optional — ISO 8601 datetime string.\n- completed_at.after in=query type=string optional — ISO 8601 datetime string.\n- created_on in=query type=string optional — ISO 8601 date string or `null`.\n- created_on.before in=query type=string optional — ISO 8601 date string.\n- created_on.after in=query type=string optional — ISO 8601 date string.\n- created_at.before in=query type=string optional — ISO 8601 datetime string.\n- created_at.after in=query type=string optional — ISO 8601 datetime string.\n- due_on in=query type=string optional — ISO 8601 date string or `null`.\n- due_on.before in=query type=string optional — ISO 8601 date string.\n- due_on.after in=query type=string optional — ISO 8601 date string.\n- due_at.before in=query type=string optional — ISO 8601 datetime string.\n- due_at.after in=query type=string optional — ISO 8601 datetime string.\n- start_on in=query type=string optional — ISO 8601 date string or `null`.\n- start_on.before in=query type=string optional — ISO 8601 date string.\n- start_on.after in=query type=string optional — ISO 8601 date string.\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["projects:read"]}]'],
    ['Tool name: get_items_for_portfolio\nTool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.\nTool input parameters:\n- limit: number (optional) — Results per page (1-100)\n- offset: string (optional) — Pagination offset token\n- opt_fields: string (optional) — Comma-separated list of optional fields to include in the response\n- portfolio_gid: string (required) — Globally unique identifier for the portfolio', 'API operationId: removeDependentsForTask\nAPI method: POST\nAPI path: /tasks/{task_gid}/removeDependents\nAPI summary: Unlink dependents from a task\nAPI description: <b>Required scope: </b><code>tasks:write</code>\n\nUnlinks a set of dependents from this task.\nAPI parameters:\n- ref=task_path_gid\n- ref=pretty\nAPI request body:\nrequired\napplication/json: object\n- data: ModifyDependentsRequest (optional)\nAPI security: [{"personalAccessToken":[]},{"oauth2":["tasks:write"]}]'],
    ['Tool name: create_project_status_update\nTool description: Post a status update to a project or portfolio. Use for project health updates, milestone documentation, or blocker reporting. Returns created status with gid, parent, title, status_type, author, created_at, permalink_url. Exactly one of text or html_text must be provided.\nTool input parameters:\n- text: string (optional) — Plain-text status body. Exactly one of text or html_text must be provided.\n- color: string (required) — Status color: green (on track), yellow (at risk), red (off track), blue (on hold), complete\n- title: string (required) — Status title\n- parent: string (required) — GID of the project or portfolio to post the status update to.\n- html_text: string (optional) — Exactly one of text or html_text must be provided. Allowed elements only: <body>, <strong>, <em>, <u>, <s>, <code>, <ol>, <ul>, <li>, <a>, <blockquote>, <pre>. Do not use <h1>, <h2>, <hr/>, or <img> here. Must be well-formed XML with a sin…', 'API operationId: createProjectStatusForProject\nAPI method: POST\nAPI path: /projects/{project_gid}/project_statuses\nAPI summary: Create a project status\nAPI description: *Deprecated: new integrations should prefer the `/status_updates` route.*\n\nCreates a new status update on the project.\n\nReturns the full record of the newly created project status update.\nAPI parameters:\n- ref=project_path_gid\n- ref=pretty\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nrequired\napplication/json: object\n- data: ProjectStatusRequest (optional)\nAPI security: [{"personalAccessToken":[]},{"oauth2":[]}]'],
]
scores = model.predict(pairs)
print(scores)
# [0.9791 0.5527 0.0071 0.001  0.9961]

# Or rank different texts based on similarity to a single text
ranks = model.rank(
    'Tool name: get_items_for_portfolio\nTool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.\nTool input parameters:\n- limit: number (optional) — Results per page (1-100)\n- offset: string (optional) — Pagination offset token\n- opt_fields: string (optional) — Comma-separated list of optional fields to include in the response\n- portfolio_gid: string (required) — Globally unique identifier for the portfolio',
    [
        'API operationId: getItemsForPortfolio\nAPI method: GET\nAPI path: /portfolios/{portfolio_gid}/items\nAPI summary: Get portfolio items\nAPI description: <b>Required scope: </b><code>portfolios:read</code>\n\nGet a list of the items in compact form in a portfolio.\nAPI parameters:\n- ref=portfolio_path_gid\n- ref=pretty\n- ref=limit\n- ref=offset\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["portfolios:read"]}]',
        'API operationId: getGoals\nAPI method: GET\nAPI path: /goals\nAPI summary: Get goals\nAPI description: <b>Required scope: </b><code>goals:read</code>\n\nReturns compact goal records.\nAPI parameters:\n- ref=pretty\n- portfolio in=query type=string optional — Globally unique identifier for supporting portfolio.\n- project in=query type=string optional — Globally unique identifier for supporting project.\n- task in=query type=string optional — Globally unique identifier for supporting task.\n- is_workspace_level in=query type=boolean optional — Filter to goals with is_workspace_level set to query value. Must be used with the workspace parameter.\n- team in=query type=string optional — Globally unique identifier for the team.\n- workspace in=query type=string optional — Globally unique identifier for the workspace.\n- time_periods in=query type=array optional — Globally unique identifiers for the time periods.\n- ref=limit\n- ref=offset\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["goals:read"]}]',
        'API operationId: searchProjectsForWorkspace\nAPI method: GET\nAPI path: /workspaces/{workspace_gid}/projects/search\nAPI summary: Search projects in a workspace\nAPI description: <b>Required scope: </b><code>projects:read</code>\n\nTo mirror the functionality of the Asana web app\'s advanced search feature, the Asana API has a project search endpoint that allows you to build complex filters to find and retrieve the exact data you need.\n#### Premium access\nLike the Asana web product\'s advance search feature, this search endpoint will only be available to premium Asana users. A user is premium if any of the following is true:\n\n- The workspace in which the search is being performed is a premium workspace\n- The user is a member of a premium team inside the workspace\n\nEven if a user is only a member of a premium team inside a non-premium workspace, search will allow them to find data anywhere in the workspace, not just inside the premium team. Making a search request using credentials of a non-premium user will result in a `402 Payment Required` error.\n#### Pagination\nSearch results are not stable; repeating the same query multiple times may return the data in a different order, even if the data do not change. Because of this, the traditional [pagination](/docs/pagination) available elsewhere in the Asana API is not available here. However, you can paginate manually by sorting the search results by their creation time and then modifying each subsequent query to exclude data you have already seen. Page sizes are limited to a maximum of 100 items, and can be specified by the `limit` query parameter.\n#### Eventual consistency\nChanges in Asana (regardless of whether they’re made though the web product or the API) are forwarded to our search infrastructure to be indexed. This process can take between 10 and 60 seconds to complete under normal operation, and longer during some production incidents. Making a change to a project that would alter its presence in a particular search query will not be reflected immediately. This is also true of the advanced search feature in the web product.\nBecause of this delay, the search endpoint is not suited for use cases that require immediate consistency after writes. If you need read-your-write behavior or strongly consistent results, we recommend using [Get multiple projects](/reference/getprojects) instead.\n#### Rate limits\nYou may receive a `429 Too Many Requests` response if you hit any of our [rate limits](/docs/rate-limits).\n#### Custom field parameters\n| Parameter name | Custom field type | Accepted type |\n|---|---|---|\n| custom_fields.{gid}.is_set | All | Boolean |\n| custom_fields.{gid}.value | Text | String |\n| custom_fields.{gid}.value | Number | Number |\n| custom_fields.{gid}.value | Enum | Enum option ID |\n| custom_fields.{gid}.starts_with | Text only | String |\n| custom_fields.{gid}.ends_with | Text only | String |\n| custom_fields.{gid}.contains | Text only | String |\n| custom_fields.{gid}.less_than | Number only | Number |\n| custom_fields.{gid}.greater_than | Number only | Number |\n\n\nFor example, if the gid of the custom field is 12345, the query parameter to find projects where it i…\nAPI parameters:\n- ref=workspace_path_gid\n- ref=pretty\n- text in=query type=string optional — Performs full-text search on the project name.\n- sort_by in=query type=string optional — One of `due_date`, `created_at`, `completed_at`, `relevance`, or `modified_at`, defaults to `modified_at`.\n- sort_ascending in=query type=boolean optional — Default `false`.\n- completed in=query type=boolean optional — Filter on project completion status.\n- teams.any in=query type=string optional — Comma-separated list of team IDs.\n- owner.any in=query type=string optional — Comma-separated list of user identifiers to filter on as project owners. This can either be the string "me", an email, or the gid of a user.\n- members.any in=query type=string optional — Comma-separated list of user identifiers to filter on as members. This can either be the string "me", an email, or the gid of a user.\n- members.not in=query type=string optional — Comma-separated list of user identifiers to exclude as members. This can either be the string "me", an email, or the gid of a user.\n- portfolios.any in=query type=string optional — Comma-separated list of portfolio IDs to filter on.\n- completed_on in=query type=string optional — ISO 8601 date string or `null`.\n- completed_on.before in=query type=string optional — ISO 8601 date string.\n- completed_on.after in=query type=string optional — ISO 8601 date string.\n- completed_at.before in=query type=string optional — ISO 8601 datetime string.\n- completed_at.after in=query type=string optional — ISO 8601 datetime string.\n- created_on in=query type=string optional — ISO 8601 date string or `null`.\n- created_on.before in=query type=string optional — ISO 8601 date string.\n- created_on.after in=query type=string optional — ISO 8601 date string.\n- created_at.before in=query type=string optional — ISO 8601 datetime string.\n- created_at.after in=query type=string optional — ISO 8601 datetime string.\n- due_on in=query type=string optional — ISO 8601 date string or `null`.\n- due_on.before in=query type=string optional — ISO 8601 date string.\n- due_on.after in=query type=string optional — ISO 8601 date string.\n- due_at.before in=query type=string optional — ISO 8601 datetime string.\n- due_at.after in=query type=string optional — ISO 8601 datetime string.\n- start_on in=query type=string optional — ISO 8601 date string or `null`.\n- start_on.before in=query type=string optional — ISO 8601 date string.\n- start_on.after in=query type=string optional — ISO 8601 date string.\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nnone\nAPI security: [{"personalAccessToken":[]},{"oauth2":["projects:read"]}]',
        'API operationId: removeDependentsForTask\nAPI method: POST\nAPI path: /tasks/{task_gid}/removeDependents\nAPI summary: Unlink dependents from a task\nAPI description: <b>Required scope: </b><code>tasks:write</code>\n\nUnlinks a set of dependents from this task.\nAPI parameters:\n- ref=task_path_gid\n- ref=pretty\nAPI request body:\nrequired\napplication/json: object\n- data: ModifyDependentsRequest (optional)\nAPI security: [{"personalAccessToken":[]},{"oauth2":["tasks:write"]}]',
        'API operationId: createProjectStatusForProject\nAPI method: POST\nAPI path: /projects/{project_gid}/project_statuses\nAPI summary: Create a project status\nAPI description: *Deprecated: new integrations should prefer the `/status_updates` route.*\n\nCreates a new status update on the project.\n\nReturns the full record of the newly created project status update.\nAPI parameters:\n- ref=project_path_gid\n- ref=pretty\n- opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…\nAPI request body:\nrequired\napplication/json: object\n- data: ProjectStatusRequest (optional)\nAPI security: [{"personalAccessToken":[]},{"oauth2":[]}]',
    ]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,162 training samples
  • Columns: tool_text, api_text, and label
  • Approximate statistics based on the first 100 samples:
    tool_text api_text label
    type string string float
    modality text text
    details
    • min: 86 tokens
    • mean: 257.85 tokens
    • max: 512 tokens
    • min: 110 tokens
    • mean: 359.87 tokens
    • max: 512 tokens
    • min: 0.0
    • mean: 0.25
    • max: 1.0
  • Samples:
    tool_text api_text label
    Tool name: get_workspace_agents
    Tool description: Returns a list of AI Teammate agents (automated agents, not human users) configured in a workspace. AI Teammates are Asana-specific automation agents — they are distinct from human coworkers, teammates, or workspace members. Do NOT use this tool when the user asks about people, users, teammates, or team members; use get_users or search_objects instead. Each agent record includes GID, name, resource_type, and resource_subtype. Use to discover available AI Teammate agents before fetching full details with get_agent. Supports pagination for workspaces with many agents.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100).
    - offset: string (optional) — Pagination offset token from a previous response.
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.
    API operationId: getAgentsForWorkspace
    API method: GET
    API path: /workspaces/{workspace_gid}/agents
    API summary: Get a list of agents in a workspace
    API description: Returns the compact records of agents (AI Teammates) configured. Use opt_fields to request additional fields in the workspace.
    API parameters:
    - ref=workspace_path_gid
    - ref=pretty
    - ref=limit
    - ref=offset
    - opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…
    API request body:
    none
    API security: [{"personalAccessToken":[]},{"oauth2":[]}]
    1.0
    Tool name: get_workspace_agents
    Tool description: Returns a list of AI Teammate agents (automated agents, not human users) configured in a workspace. AI Teammates are Asana-specific automation agents — they are distinct from human coworkers, teammates, or workspace members. Do NOT use this tool when the user asks about people, users, teammates, or team members; use get_users or search_objects instead. Each agent record includes GID, name, resource_type, and resource_subtype. Use to discover available AI Teammate agents before fetching full details with get_agent. Supports pagination for workspaces with many agents.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100).
    - offset: string (optional) — Pagination offset token from a previous response.
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.
    API operationId: typeaheadForWorkspace
    API method: GET
    API path: /workspaces/{workspace_gid}/typeahead
    API summary: Get objects via typeahead
    API description: Required scope: workspaces.typeahead:read

    Retrieves objects in the workspace based via an auto-completion/typeahead
    search algorithm. This feature is meant to provide results quickly, so do
    not rely on this API to provide extremely accurate search results. The
    result set is limited to a single page of results with a maximum size, so
    you won’t be able to fetch large numbers of results.

    The typeahead search API provides search for objects from a single
    workspace. This endpoint should be used to query for objects when
    creating an auto-completion/typeahead search feature. This API is meant
    to provide results quickly and should not be relied upon for accurate or
    exhaustive search results. The results sets are limited in size and
    cannot be paginated.

    Queries return a compact representation of each object which is...
    0.0
    Tool name: get_workspace_agents
    Tool description: Returns a list of AI Teammate agents (automated agents, not human users) configured in a workspace. AI Teammates are Asana-specific automation agents — they are distinct from human coworkers, teammates, or workspace members. Do NOT use this tool when the user asks about people, users, teammates, or team members; use get_users or search_objects instead. Each agent record includes GID, name, resource_type, and resource_subtype. Use to discover available AI Teammate agents before fetching full details with get_agent. Supports pagination for workspaces with many agents.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100).
    - offset: string (optional) — Pagination offset token from a previous response.
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.
    API operationId: searchProjectsForWorkspace
    API method: GET
    API path: /workspaces/{workspace_gid}/projects/search
    API summary: Search projects in a workspace
    API description: Required scope: projects:read

    To mirror the functionality of the Asana web app's advanced search feature, the Asana API has a project search endpoint that allows you to build complex filters to find and retrieve the exact data you need.
    #### Premium access
    Like the Asana web product's advance search feature, this search endpoint will only be available to premium Asana users. A user is premium if any of the following is true:

    - The workspace in which the search is being performed is a premium workspace
    - The user is a member of a premium team inside the workspace

    Even if a user is only a member of a premium team inside a non-premium workspace, search will allow them to find data anywhere in the workspace, not just inside the premium team. Making a search request using credentials of a non-pre...
    0.0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": 3.194945812225342
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 288 evaluation samples
  • Columns: tool_text, api_text, and label
  • Approximate statistics based on the first 100 samples:
    tool_text api_text label
    type string string float
    modality text text
    details
    • min: 53 tokens
    • mean: 303.04 tokens
    • max: 512 tokens
    • min: 101 tokens
    • mean: 349.38 tokens
    • max: 512 tokens
    • min: 0.0
    • mean: 0.25
    • max: 1.0
  • Samples:
    tool_text api_text label
    Tool name: get_items_for_portfolio
    Tool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100)
    - offset: string (optional) — Pagination offset token
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response
    - portfolio_gid: string (required) — Globally unique identifier for the portfolio
    API operationId: getItemsForPortfolio
    API method: GET
    API path: /portfolios/{portfolio_gid}/items
    API summary: Get portfolio items
    API description: Required scope: portfolios:read

    Get a list of the items in compact form in a portfolio.
    API parameters:
    - ref=portfolio_path_gid
    - ref=pretty
    - ref=limit
    - ref=offset
    - opt_fields in=query type=array optional — This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to incl…
    API request body:
    none
    API security: [{"personalAccessToken":[]},{"oauth2":["portfolios:read"]}]
    1.0
    Tool name: get_items_for_portfolio
    Tool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100)
    - offset: string (optional) — Pagination offset token
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response
    - portfolio_gid: string (required) — Globally unique identifier for the portfolio
    API operationId: getGoals
    API method: GET
    API path: /goals
    API summary: Get goals
    API description: Required scope: goals:read

    Returns compact goal records.
    API parameters:
    - ref=pretty
    - portfolio in=query type=string optional — Globally unique identifier for supporting portfolio.
    - project in=query type=string optional — Globally unique identifier for supporting project.
    - task in=query type=string optional — Globally unique identifier for supporting task.
    - is_workspace_level in=query type=boolean optional — Filter to goals with is_workspace_level set to query value. Must be used with the workspace parameter.
    - team in=query type=string optional — Globally unique identifier for the team.
    - workspace in=query type=string optional — Globally unique identifier for the workspace.
    - time_periods in=query type=array optional — Globally unique identifiers for the time periods.
    - ref=limit
    - ref=offset
    - opt_fields in=query type=array optional — This endpoint returns a r...
    0.0
    Tool name: get_items_for_portfolio
    Tool description: List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.
    Tool input parameters:
    - limit: number (optional) — Results per page (1-100)
    - offset: string (optional) — Pagination offset token
    - opt_fields: string (optional) — Comma-separated list of optional fields to include in the response
    - portfolio_gid: string (required) — Globally unique identifier for the portfolio
    API operationId: searchProjectsForWorkspace
    API method: GET
    API path: /workspaces/{workspace_gid}/projects/search
    API summary: Search projects in a workspace
    API description: Required scope: projects:read

    To mirror the functionality of the Asana web app's advanced search feature, the Asana API has a project search endpoint that allows you to build complex filters to find and retrieve the exact data you need.
    #### Premium access
    Like the Asana web product's advance search feature, this search endpoint will only be available to premium Asana users. A user is premium if any of the following is true:

    - The workspace in which the search is being performed is a premium workspace
    - The user is a member of a premium team inside the workspace

    Even if a user is only a member of a premium team inside a non-premium workspace, search will allow them to find data anywhere in the workspace, not just inside the premium team. Making a search request using credentials of a non-pre...
    0.0
  • Loss: BinaryCrossEntropyLoss with these parameters:
    {
        "activation_fn": "torch.nn.modules.linear.Identity",
        "pos_weight": 3.194945812225342
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • learning_rate: 2e-05
  • warmup_steps: 0.1
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 8
  • num_train_epochs: 3.0
  • max_steps: -1
  • learning_rate: 2e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1.0
  • label_smoothing_factor: 0.0
  • bf16: False
  • fp16: False
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: None
  • trackio_bucket_id: None
  • trackio_static_space_id: None
  • per_device_eval_batch_size: 8
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_static_graph: None
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: None
  • fsdp_config: None
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: None
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss Validation Loss
0.0685 10 0.7372 -
0.1370 20 1.2605 -
0.2055 30 1.3301 -
0.2740 40 1.1441 -
0.3425 50 1.3737 -
0.4110 60 1.0229 -
0.4795 70 1.2095 -
0.5479 80 0.8421 -
0.6164 90 0.9955 -
0.6849 100 1.2571 -
0.7534 110 0.8670 -
0.8219 120 0.9455 -
0.8904 130 0.8816 -
0.9589 140 0.6555 -
1.0 146 - 0.9174
1.0274 150 0.7276 -
1.0959 160 0.7638 -
1.1644 170 0.6309 -
1.2329 180 1.0922 -
1.3014 190 0.6035 -
1.3699 200 0.6395 -
1.4384 210 0.7156 -
1.5068 220 0.5402 -
1.5753 230 0.8845 -
1.6438 240 0.5796 -
1.7123 250 0.8343 -
1.7808 260 0.7073 -
1.8493 270 0.6420 -
1.9178 280 0.7564 -
1.9863 290 0.7804 -
2.0 292 - 0.8595
2.0548 300 0.5839 -
2.1233 310 0.6399 -
2.1918 320 0.3549 -
2.2603 330 0.8993 -
2.3288 340 0.5939 -
2.3973 350 0.7083 -
2.4658 360 0.4796 -
2.5342 370 0.6031 -
2.6027 380 0.5991 -
2.6712 390 0.6392 -
2.7397 400 0.4957 -
2.8082 410 0.4726 -
2.8767 420 0.5366 -
2.9452 430 0.7931 -
3.0 438 - 0.8235
  • The bold row denotes the saved checkpoint.

Training Time

  • Training: 50.0 minutes
  • Evaluation: 1.4 minutes
  • Total: 51.4 minutes

Framework Versions

  • Python: 3.12.13
  • Sentence Transformers: 5.6.1
  • Transformers: 5.14.1
  • PyTorch: 2.13.0+cu130
  • Accelerate: 1.14.0
  • Datasets: 5.0.1
  • Tokenizers: 0.22.2

Additional Resources

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}
Downloads last month
11
Safetensors
Model size
22.7M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Yoonseok55/tool-api-mapper-reranker

Paper for Yoonseok55/tool-api-mapper-reranker