Обновить

Комментарии 4

Спасибо! Спасли очередного “велосипедиста”!

[Feature request]: tools support

через https://gitlab.com/gitlab-org/ai/lazy-mcp - огонь будет. На Гроке есть gpt-oss - поддерживает тулзы:

tool call
{
  "model": "openai/gpt-oss-20b",
    "messages": [
      {
        "role": "user",
        "content": "погода рядом с эфелевой башней"
      }
    ],
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_weather",
          "description": "Get current weather for a location",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "description": "City and country, e.g. Bogota, Colombia"
              }
            },
            "required": ["location"]
          }
        }
      }
    ],
    "tool_choice": "auto"
}
tool response
{
  "id": "chatcmpl-81d7f6af-9dc1-407b-945a-e3a67601b691",
  "object": "chat.completion",
  "created": 1775847126,
  "model": "openai/gpt-oss-20b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning": "The user wrote in Russian: \"погода рядом с эфелевой башней\" meaning \"weather near the Eiffel Tower\". They want current weather near Eiffel Tower. We can use the get_weather function. The location: \"Paris, France\" or \"Eiffel Tower, Paris, France\". The function expects location: string. So we call get_weather with location: \"Paris, France\" or \"Eiffel Tower, Paris\". Use \"Eiffel Tower, Paris, France\".\n\nWe need to call the function and then return the result.",
        "tool_calls": [
          {
            "id": "fc_0af2d152-5fb2-465b-b7e4-a6484ab7871f",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"location\":\"Eiffel Tower, Paris, France\"}"
            }
          }
        ]
      },
      "logprobs": null,
      "finish_reason": "tool_calls"
    }
  ],
  "usage": {
    "queue_time": 0.015620149,
    "prompt_tokens": 142,
    "prompt_time": 0.006959086,
    "completion_tokens": 140,
    "completion_time": 0.182107761,
    "total_tokens": 282,
    "total_time": 0.189066847,
    "completion_tokens_details": {
      "reasoning_tokens": 111
    }
  },
  "usage_breakdown": null,
  "system_fingerprint": "fp_6bfe12b684",
  "x_groq": {
    "id": "req_01knwbscywf8t8h00gz89kpy01",
    "seed": 1561734250
  },
  "service_tier": "on_demand"
}

Закиньте в issues!

А что вы делаете, когда на очередной вопрос вам отвечают: "rm -rf /" ?

Ничего не делаю – мне такого ответа ни разу не было. Дизайн утилиты предполагает, что вы сначала генерируете команду, смотрите на неё, а потом выполняете. Есть возможность это пропустить, но для этого нужно целенаправленно указать флаг и тут уже сами виноваты.

Отдельно отмечу промт

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации