/ Модель

Характеристики

Контекст
512 токенов
Параметры
25,9 млн
Архитектура
bert · dense
Базовая модель
ms-marco-MiniLM-L6-v2
Библиотека
sentence-transformers
Опубликована
5 авг 2026

tool-api-mapper-reranker

Ранжирование текстаТекст → score3 профессии

Дообученный BERT cross-encoder оценивает релевантность пар «описание инструмента — описание API» для семантического поиска и переранжирования.

11скачиваний за 30 дней0лайковвеса обновлены6 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Ранжирование» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Yoonseok55 разработал эту модель как дообученный cross-encoder на базе cross-encoder/ms-marco-MiniLM-L6-v2 с библиотекой Sentence Transformers. Модель принимает пары текстов и выдаёт оценку их соответствия, пригодную для переранжирования результатов поиска и семантического поиска по описаниям инструментов и API.

В основе модели — архитектура BERT с классификационной головой и одним выходным значением. Она обучена на 1 162 примерах пар tool_text и api_text с бинарными метками; для обучения использовалась BinaryCrossEntropyLoss. Максимальная длина входной последовательности — 512 токенов, размер — 25,9 млн параметров. Модель работает с текстом; базовая модель предназначена для англоязычной оценки релевантности, поэтому применение для других языков не подтверждено.

Модель подходит для оценки релевантности API описанию инструмента, сортировки кандидатов в каталоге API и поиска по текстовым описаниям. Она возвращает оценку для пары текстов, а не готовый список результатов; качество зависит от соответствия запросов и API распределению обучающих данных. Лицензия в доступных данных не приведена.

Сценарии применения

  • переранжирование API по описанию нужного инструмента
  • поиск подходящего API по текстовому запросу
  • оценка соответствия инструмента описанию API
  • сортировка кандидатов в каталоге API
  • семантический поиск по описаниям API

Ограничения

Максимальная длина входа составляет 512 токенов, а обучение описано на 1 162 парах, связанных с инструментами и API; качество на иных типах данных и языках не подтверждено. Модель выдаёт оценку пары текстов, поэтому для поиска требуется отдельно ранжировать набор кандидатов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

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_textapi_textlabel
    typestringstringfloat
    modalitytexttext
    detailsmin: 86 tokensmean: 257.85 tokensmax: 512 tokensmin: 110 tokensmean: 359.87 tokensmax: 512 tokensmin: 0.0mean: 0.25max: 1.0
  • Samples:
    tool_textapi_textlabel
    Tool name: get_workspace_agentsTool 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: getAgentsForWorkspaceAPI method: GETAPI path: /workspaces/{workspace_gid}/agentsAPI summary: Get a list of agents in a workspaceAPI 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:noneAPI security: [{"personalAccessToken":[]},{"oauth2":[]}]1.0
    Tool name: get_workspace_agentsTool 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: typeaheadForWorkspaceAPI method: GETAPI path: /workspaces/{workspace_gid}/typeaheadAPI summary: Get objects via typeaheadAPI description: Required scope: workspaces.typeahead:readRetrieves objects in the workspace based via an auto-completion/typeaheadsearch algorithm. This feature is meant to provide results quickly, so donot rely on this API to provide extremely accurate search results. Theresult set is limited to a single page of results with a maximum size, soyou won’t be able to fetch large numbers of results.The typeahead search API provides search for objects from a singleworkspace. This endpoint should be used to query for objects whencreating an auto-completion/typeahead search feature. This API is meantto provide results quickly and should not be relied upon for accurate orexhaustive search results. The results sets are limited in size andcannot be paginated.Queries return a compact representation of each object which is...0.0
    Tool name: get_workspace_agentsTool 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: searchProjectsForWorkspaceAPI method: GETAPI path: /workspaces/{workspace_gid}/projects/searchAPI summary: Search projects in a workspaceAPI description: Required scope: projects:readTo 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 accessLike 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 workspaceEven 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_textapi_textlabel
    typestringstringfloat
    modalitytexttext
    detailsmin: 53 tokensmean: 303.04 tokensmax: 512 tokensmin: 101 tokensmean: 349.38 tokensmax: 512 tokensmin: 0.0mean: 0.25max: 1.0
  • Samples:
    tool_textapi_textlabel
    Tool name: get_items_for_portfolioTool 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 portfolioAPI operationId: getItemsForPortfolioAPI method: GETAPI path: /portfolios/{portfolio_gid}/itemsAPI summary: Get portfolio itemsAPI description: Required scope: portfolios:readGet 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:noneAPI security: [{"personalAccessToken":[]},{"oauth2":["portfolios:read"]}]1.0
    Tool name: get_items_for_portfolioTool 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 portfolioAPI operationId: getGoalsAPI method: GETAPI path: /goalsAPI summary: Get goalsAPI description: Required scope: goals:readReturns 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_portfolioTool 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 portfolioAPI operationId: searchProjectsForWorkspaceAPI method: GETAPI path: /workspaces/{workspace_gid}/projects/searchAPI summary: Search projects in a workspaceAPI description: Required scope: projects:readTo 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 accessLike 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 workspaceEven 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

  • 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

EpochStepTraining LossValidation Loss
0.0685100.7372-
0.1370201.2605-
0.2055301.3301-
0.2740401.1441-
0.3425501.3737-
0.4110601.0229-
0.4795701.2095-
0.5479800.8421-
0.6164900.9955-
0.68491001.2571-
0.75341100.8670-
0.82191200.9455-
0.89041300.8816-
0.95891400.6555-
1.0146-0.9174
1.02741500.7276-
1.09591600.7638-
1.16441700.6309-
1.23291801.0922-
1.30141900.6035-
1.36992000.6395-
1.43842100.7156-
1.50682200.5402-
1.57532300.8845-
1.64382400.5796-
1.71232500.8343-
1.78082600.7073-
1.84932700.6420-
1.91782800.7564-
1.98632900.7804-
2.0292-0.8595
2.05483000.5839-
2.12333100.6399-
2.19183200.3549-
2.26033300.8993-
2.32883400.5939-
2.39733500.7083-
2.46583600.4796-
2.53423700.6031-
2.60273800.5991-
2.67123900.6392-
2.73974000.4957-
2.80824100.4726-
2.87674200.5366-
2.94524300.7931-
3.0438-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",
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
a10edc4

0 моделей