Text Ranking
sentence-transformers
Safetensors
bert
cross-encoder
reranker
Generated from Trainer
dataset_size:1162
loss:BinaryCrossEntropyLoss
text-embeddings-inference
Instructions to use Yoonseok55/tool-api-mapper-reranker with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use Yoonseok55/tool-api-mapper-reranker with sentence-transformers:
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) - Notebooks
- Google Colab
- Kaggle
File size: 56,430 Bytes
85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 a10edc4 85b4ca2 | 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | ---
tags:
- sentence-transformers
- cross-encoder
- reranker
- generated_from_trainer
- dataset_size:1162
- loss:BinaryCrossEntropyLoss
base_model: cross-encoder/ms-marco-MiniLM-L6-v2
pipeline_tag: text-ranking
library_name: sentence-transformers
---
# CrossEncoder based on cross-encoder/ms-marco-MiniLM-L6-v2
This is a [Cross Encoder](https://www.sbert.net/docs/cross_encoder/usage/usage.html) model finetuned from [cross-encoder/ms-marco-MiniLM-L6-v2](https://huggingface.co/cross-encoder/ms-marco-MiniLM-L6-v2) using the [sentence-transformers](https://www.SBERT.net) library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
## Model Details
### Model Description
- **Model Type:** Cross Encoder
- **Base model:** [cross-encoder/ms-marco-MiniLM-L6-v2](https://huggingface.co/cross-encoder/ms-marco-MiniLM-L6-v2) <!-- at revision c5ee24cb16019beea0893ab7796b1df96625c6b8 -->
- **Maximum Sequence Length:** 512 tokens
- **Number of Output Labels:** 1 label
- **Supported Modality:** Text
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Documentation:** [Cross Encoder Documentation](https://www.sbert.net/docs/cross_encoder/usage/usage.html)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
- **Hugging Face:** [Cross Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=cross-encoder)
### 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:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
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': ...}, ...]
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 1,162 training samples
* Columns: <code>tool_text</code>, <code>api_text</code>, and <code>label</code>
* Approximate statistics based on the first 100 samples:
| | tool_text | api_text | label |
|:---------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:---------------------------------------------------------------|
| type | string | string | float |
| modality | text | text | |
| details | <ul><li>min: 86 tokens</li><li>mean: 257.85 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 110 tokens</li><li>mean: 359.87 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.25</li><li>max: 1.0</li></ul> |
* Samples:
| tool_text | api_text | label |
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------|
| <code>Tool name: get_workspace_agents<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100).<br>- offset: string (optional) β Pagination offset token from a previous response.<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.</code> | <code>API operationId: getAgentsForWorkspace<br>API method: GET<br>API path: /workspaces/{workspace_gid}/agents<br>API summary: Get a list of agents in a workspace<br>API description: Returns the compact records of agents (AI Teammates) configured. Use `opt_fields` to request additional fields in the workspace.<br>API parameters:<br>- ref=workspace_path_gid<br>- ref=pretty<br>- ref=limit<br>- ref=offset<br>- 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β¦<br>API request body:<br>none<br>API security: [{"personalAccessToken":[]},{"oauth2":[]}]</code> | <code>1.0</code> |
| <code>Tool name: get_workspace_agents<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100).<br>- offset: string (optional) β Pagination offset token from a previous response.<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.</code> | <code>API operationId: typeaheadForWorkspace<br>API method: GET<br>API path: /workspaces/{workspace_gid}/typeahead<br>API summary: Get objects via typeahead<br>API description: <b>Required scope: </b><code>workspaces.typeahead:read</code><br><br>Retrieves objects in the workspace based via an auto-completion/typeahead<br>search algorithm. This feature is meant to provide results quickly, so do<br>not rely on this API to provide extremely accurate search results. The<br>result set is limited to a single page of results with a maximum size, so<br>you wonβt be able to fetch large numbers of results.<br><br>The typeahead search API provides search for objects from a single<br>workspace. This endpoint should be used to query for objects when<br>creating an auto-completion/typeahead search feature. This API is meant<br>to provide results quickly and should not be relied upon for accurate or<br>exhaustive search results. The results sets are limited in size and<br>cannot be paginated.<br><br>Queries return a compact representation of each object which is...</code> | <code>0.0</code> |
| <code>Tool name: get_workspace_agents<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100).<br>- offset: string (optional) β Pagination offset token from a previous response.<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response. Available fields: gid, resource_type, resource_subtype, name.</code> | <code>API operationId: searchProjectsForWorkspace<br>API method: GET<br>API path: /workspaces/{workspace_gid}/projects/search<br>API summary: Search projects in a workspace<br>API description: <b>Required scope: </b><code>projects:read</code><br><br>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.<br>#### Premium access<br>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:<br><br>- The workspace in which the search is being performed is a premium workspace<br>- The user is a member of a premium team inside the workspace<br><br>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...</code> | <code>0.0</code> |
* Loss: [<code>BinaryCrossEntropyLoss</code>](https://sbert.net/docs/package_reference/cross_encoder/losses.html#binarycrossentropyloss) with these parameters:
```json
{
"activation_fn": "torch.nn.modules.linear.Identity",
"pos_weight": 3.194945812225342
}
```
### Evaluation Dataset
#### Unnamed Dataset
* Size: 288 evaluation samples
* Columns: <code>tool_text</code>, <code>api_text</code>, and <code>label</code>
* Approximate statistics based on the first 100 samples:
| | tool_text | api_text | label |
|:---------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|:---------------------------------------------------------------|
| type | string | string | float |
| modality | text | text | |
| details | <ul><li>min: 53 tokens</li><li>mean: 303.04 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 101 tokens</li><li>mean: 349.38 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 0.0</li><li>mean: 0.25</li><li>max: 1.0</li></ul> |
* Samples:
| tool_text | api_text | label |
|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------|
| <code>Tool name: get_items_for_portfolio<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100)<br>- offset: string (optional) β Pagination offset token<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response<br>- portfolio_gid: string (required) β Globally unique identifier for the portfolio</code> | <code>API operationId: getItemsForPortfolio<br>API method: GET<br>API path: /portfolios/{portfolio_gid}/items<br>API summary: Get portfolio items<br>API description: <b>Required scope: </b><code>portfolios:read</code><br><br>Get a list of the items in compact form in a portfolio.<br>API parameters:<br>- ref=portfolio_path_gid<br>- ref=pretty<br>- ref=limit<br>- ref=offset<br>- 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β¦<br>API request body:<br>none<br>API security: [{"personalAccessToken":[]},{"oauth2":["portfolios:read"]}]</code> | <code>1.0</code> |
| <code>Tool name: get_items_for_portfolio<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100)<br>- offset: string (optional) β Pagination offset token<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response<br>- portfolio_gid: string (required) β Globally unique identifier for the portfolio</code> | <code>API operationId: getGoals<br>API method: GET<br>API path: /goals<br>API summary: Get goals<br>API description: <b>Required scope: </b><code>goals:read</code><br><br>Returns compact goal records.<br>API parameters:<br>- ref=pretty<br>- portfolio in=query type=string optional β Globally unique identifier for supporting portfolio.<br>- project in=query type=string optional β Globally unique identifier for supporting project.<br>- task in=query type=string optional β Globally unique identifier for supporting task.<br>- 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.<br>- team in=query type=string optional β Globally unique identifier for the team.<br>- workspace in=query type=string optional β Globally unique identifier for the workspace.<br>- time_periods in=query type=array optional β Globally unique identifiers for the time periods.<br>- ref=limit<br>- ref=offset<br>- opt_fields in=query type=array optional β This endpoint returns a r...</code> | <code>0.0</code> |
| <code>Tool name: get_items_for_portfolio<br>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.<br>Tool input parameters:<br>- limit: number (optional) β Results per page (1-100)<br>- offset: string (optional) β Pagination offset token<br>- opt_fields: string (optional) β Comma-separated list of optional fields to include in the response<br>- portfolio_gid: string (required) β Globally unique identifier for the portfolio</code> | <code>API operationId: searchProjectsForWorkspace<br>API method: GET<br>API path: /workspaces/{workspace_gid}/projects/search<br>API summary: Search projects in a workspace<br>API description: <b>Required scope: </b><code>projects:read</code><br><br>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.<br>#### Premium access<br>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:<br><br>- The workspace in which the search is being performed is a premium workspace<br>- The user is a member of a premium team inside the workspace<br><br>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...</code> | <code>0.0</code> |
* Loss: [<code>BinaryCrossEntropyLoss</code>](https://sbert.net/docs/package_reference/cross_encoder/losses.html#binarycrossentropyloss) with these parameters:
```json
{
"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
<details><summary>Click to expand</summary>
- `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`: {}
</details>
### 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
- [Training and Finetuning Reranker Models with Sentence Transformers](https://huggingface.co/blog/train-reranker): the end-to-end guide for training or finetuning Cross Encoder (reranker) models.
- [Multimodal Embedding & Reranker Models with Sentence Transformers](https://huggingface.co/blog/multimodal-sentence-transformers): use text, image, audio, and video reranker models through the same API.
- [Training and Finetuning Multimodal Embedding & Reranker Models with Sentence Transformers](https://huggingface.co/blog/train-multimodal-sentence-transformers): training multimodal Cross Encoders.
## Citation
### BibTeX
#### Sentence Transformers
```bibtex
@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",
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
--> |