Screencast from 2024-08-25 19-08-56.webm
    10.3 MB
  📖 Подробнее можно почитать здесь:
- OpenAI
- Claude
{
  "name": "get_weather",
  "description": "Determine weather in my location",
  "strict": true,
  "parameters": {
    "type": "object",
    "properties": {
      "location": {
        "type": "string",
        "description": "The city and state e.g. San Francisco, CA"
      },
      "unit": {
        "type": "string",
        "enum": [
          "c",
          "f"
        ]
      }
    },
    "additionalProperties": false,
    "required": [
      "location",
      "unit"
    ]
  }
}А вот пример того, что видит сервер, когда его просят запустить функцию:
"tool_calls": [
{
"id": "call_fwTWdctuKEO9Ytf",
"name": "get_weather",
"arguments": "{\"location\":\"Moscow\",\"unit\":\"c\"}"
}
]
Сервер запускает функцию и возвращает результат. Причем в любом виде. Далее LLM уже сама придумает что с этим делать.
{
  "id": "call_fwTWdctuKEO9Ytf",
  "role": "tool",
  "content": [
    "{\"temp\":\"30\"}"
  ]
}А теперь редставьте, что у вас умный дом, и вы говорите: "Включи чайник, я хочу пить". Описываем функции, которые помогут LLM посмотреть что у нас есть в квартире и управлять устройствами:
{
    "key": "list_room_devices",
    "description": "Lists all smart devices in a specified room.",
    "input_schema": {
        "type": "object",
        "properties": {
            "room_name": {
                "type": "string",
                "description": "The name of the room to query"
            }
        },
        "required": ["room_name"]
    }
}{
    "key": "control_device",
    "description": "Controls a specific device by performing the specified action with given parameters.",
    "input_schema": {
        "type": "object",
        "properties": {
            "deviceId": {
                "type": "string",
                "description": "The unique identifier of the device to control"
            },
            "action": {
              "type": "string",
                "description": "The action to perform on the device (e.g., turnOn, turnOff, setBrightness)"
            },
            ...
        },
        "required": ["deviceId", "action"]
    }
}Что сделает LLM? Она проанализирует ваш запрос, найдет подходящие функции, получит список устройств на кухне (ведь обычно чайник там), и выполнит нужное действие (включит чайник).
Круто, да? А теперь представьте PHP-фреймворк, который позволит описывать такие процессы (flow) и возьмет на себя сложные задачи, такие как запуск функций, группировку функций по назначению.
P.S. После прочтения, можно пересмотреть видео заново. В этом видео агент для управления умным домом, в котором 4 комнаты и куча устройств. Управление текстом или голосом (с переводом в текст)
#llm #ai #chatgpt #claude #php
Please open Telegram to view this post
    VIEW IN TELEGRAM
  4🔥15
  