From ed639b41931249af4f9085c1c68bb5b31bfc822c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?All=20Mute=20=E2=9C=93?= Date: Thu, 28 Nov 2024 20:52:04 +0300 Subject: [PATCH] make --- yc/function_calling_api/lesson.ipynb | 92 ++++++++++++++++------------ 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/yc/function_calling_api/lesson.ipynb b/yc/function_calling_api/lesson.ipynb index 717b9c2..0bc3251 100644 --- a/yc/function_calling_api/lesson.ipynb +++ b/yc/function_calling_api/lesson.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -51,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +99,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -124,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -170,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -275,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -336,11 +336,14 @@ "\u001b[34massistant: Вы можете себе позволить купить следующие товары:\n", "\n", "1. **Сяоми 4+ pro**\n", - " - **Категория:** Электроника\n", - " - **Цена:** 10000 рублей\n", - " - **Идентификатор:** siaomi453\n", + " - **Идентификатор**: siaomi453\n", + " - **Категория**: электроника\n", + " - **Цена**: 10000 рублей\n", "\n", - "Этот товар соответствует вашему ценовому диапазону и доступному балансу.\n", + "2. **iPhone 15**\n", + " - **Идентификатор**: iphone15\n", + " - **Категория**: электроника\n", + " - **Цена**: 280000 рублей\n", "\u001b[0m\n" ] } @@ -359,7 +362,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -380,11 +383,14 @@ "\u001b[34massistant: Вы можете себе позволить купить следующие товары:\n", "\n", "1. **Сяоми 4+ pro**\n", - " - **Категория:** Электроника\n", - " - **Цена:** 10000 рублей\n", - " - **Идентификатор:** siaomi453\n", + " - **Идентификатор**: siaomi453\n", + " - **Категория**: электроника\n", + " - **Цена**: 10000 рублей\n", "\n", - "Этот товар соответствует вашему ценовому диапазону и доступному балансу.\n", + "2. **iPhone 15**\n", + " - **Идентификатор**: iphone15\n", + " - **Категория**: электроника\n", + " - **Цена**: 280000 рублей\n", "\u001b[0m\n", "\u001b[32muser: Как пелось у RX4D в \"запрети мне носить сяоми\", это лучший микрокомпьютер, топ за свои деньги. Оформи заказ на сяоми 4+\n", "\u001b[0m\n", @@ -392,7 +398,7 @@ "\u001b[0m\n", "\u001b[35massistant: {'toolResults': [{'functionResult': {'name': 'OrderTool', 'content': \"{'orderId': 'order123', 'productId': 'siaomi453', 'quantity': 1}\"}}]}\n", "\u001b[0m\n", - "\u001b[34massistant: Ваш заказ на микрокомпьютер Xiaomi 4+ Pro успешно оформлен. Идентификатор заказа: order123. Ожидайте подтверждения от магазина.\n", + "\u001b[34massistant: Заказ на микрокомпьютер Сяоми 4+ успешно оформлен. Вам будет отправлен один экземпляр этого товара.\n", "\u001b[0m\n" ] } @@ -428,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -469,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -483,32 +489,32 @@ "\u001b[0m\n", "\u001b[32muser: Мне нужны все товары категории 'электроника', отсортированные по рейтингу, ценой меньше 30к.\n", "\u001b[0m\n", - "\u001b[35massistant: {'toolCalls': [{'functionCall': {'name': 'ask_database', 'arguments': {'query': \"SELECT * FROM products WHERE category = 'электроника' AND price < 30000 ORDER BY rating\"}}}]}\n", + "\u001b[35massistant: {'toolCalls': [{'functionCall': {'name': 'ask_database', 'arguments': {'query': \"SELECT * FROM products WHERE category = 'электроника' AND price < 30000 ORDER BY rating DESC\"}}}]}\n", "\u001b[0m\n", - "\u001b[35massistant: {'toolResults': [{'functionResult': {'name': 'ask_database', 'content': \"[('3', 'Наушники DEF', 'электроника', 2999.99, 200, 4.2), ('5', 'Планшет JKL', 'электроника', 24999.99, 100, 4.3), ('1', 'Смартфон XYZ', 'электроника', 19999.99, 150, 4.5)]\"}}]}\n", + "\u001b[35massistant: {'toolResults': [{'functionResult': {'name': 'ask_database', 'content': \"[('1', 'Смартфон XYZ', 'электроника', 19999.99, 150, 4.5), ('5', 'Планшет JKL', 'электроника', 24999.99, 100, 4.3), ('3', 'Наушники DEF', 'электроника', 2999.99, 200, 4.2)]\"}}]}\n", "\u001b[0m\n", "\u001b[34massistant: Вот список всех товаров категории 'электроника', отсортированных по рейтингу, ценой меньше 30к:\n", "\n", "1. Смартфон XYZ\n", " - Название: Смартфон XYZ\n", " - Категория: электроника\n", - " - Цена: 19999.99\n", + " - Цена: 19999.99 рублей\n", " - Количество заказов: 150\n", " - Рейтинг: 4.5\n", "\n", - "2. Наушники DEF\n", - " - Название: Наушники DEF\n", - " - Категория: электроника\n", - " - Цена: 2999.99\n", - " - Количество заказов: 200\n", - " - Рейтинг: 4.2\n", - "\n", - "3. Планшет JKL\n", + "2. Планшет JKL\n", " - Название: Планшет JKL\n", " - Категория: электроника\n", - " - Цена: 24999.99\n", + " - Цена: 24999.99 рублей\n", " - Количество заказов: 100\n", " - Рейтинг: 4.3\n", + "\n", + "3. Наушники DEF\n", + " - Название: Наушники DEF\n", + " - Категория: электроника\n", + " - Цена: 2999.99 рублей\n", + " - Количество заказов: 200\n", + " - Рейтинг: 4.2\n", "\u001b[0m\n" ] } @@ -553,7 +559,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -577,7 +583,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -625,7 +631,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -649,7 +655,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -662,12 +668,18 @@ "\u001b[0m\n", "\u001b[35massistant: {'toolCalls': [{'functionCall': {'name': 'searchapi', 'arguments': {'query': 'Погода в Москве'}}}]}\n", "\u001b[0m\n", - "\u001b[35massistant: {'toolResults': [{'functionResult': {'name': 'searchapi', 'content': 'Ответ SearchAPI:\\n**Погода в Москве на 28 ноября 2024 года:**\\n* 19:48: температура 0\\xa0°C, пасмурно, влажность 89%, ветер 2 м/с, вероятность осадков 0%. [2]\\n* 23:00: температура -1\\xa0°C, пасмурно, влажность 89%, ветер 2 м/с, вероятность осадков 0%. [2]\\n\\n**Прогноз на ближайшие дни:**\\n* 29 ноября: утро — температура +1\\xa0°C, дождь со снегом, влажность 91%, ветер 3 м/с, вероятность осадков 40%. [2] Днём — температура +2\\xa0°C, пасмурно, влажность 90%, ветер 3 м/с, вероятность осадков 0%. [2]\\n* 30 ноября: утро — температура +1\\xa0°C, пасмурно, влажность 89%, ветер 4 м/с, вероятность осадков 0%. [2] Днём — температура +2\\xa0°C, пасмурно, влажность 87%, ветер 4 м/с, вероятность осадков 0%. [2]\\n\\nБолее подробный прогноз погоды можно посмотреть на сайтах yandex.ru и weather.rambler.ru. [2][5]\\n\\nИсточники:\\nhttps://yandex.ru/pogoda/moscow\\nhttps://yandex.ru/pogoda/213?lat=55.7559&lon=37.6177\\nhttps://www.gismeteo.ru/weather-moscow-4368/\\nhttps://meteoinfo.ru/forecasts5000/russia/moscow-area\\nhttps://weather.rambler.ru/v-moskve/\\nhttps://world-weather.ru/pogoda/russia/moscow/'}}]}\n", + "\u001b[35massistant: {'toolResults': [{'functionResult': {'name': 'searchapi', 'content': 'Ответ SearchAPI:\\n**Погода в Москве на 28 ноября 2024 года:**\\n* 20:31: температура +1\\xa0°C, пасмурно, влажность 88%, ветер 2 м/с, вероятность осадков 0%. [2]\\n* 23:00: температура -1\\xa0°C, пасмурно, влажность 89%, ветер 2 м/с. [2]\\n\\n**Прогноз на ближайшие дни:**\\n* 29 ноября: утро — температура +1\\xa0°C, дождь со снегом, влажность 91%, давление 755 мм, ветер 3 м/с, вероятность осадков 40%. [2] День — температура +2\\xa0°C, пасмурно, влажность 90%, давление 756 мм, ветер 3 м/с, вероятность осадков 0%. [2] Вечер — температура +1\\xa0°C, облачно с прояснениями, влажность 89%, давление 757 мм, ветер 2 м/с, вероятность осадков 0%. [2] Ночь — температура 0\\xa0°C, пасмурно, влажность 90%, давление 753 мм, ветер 2 м/с, вероятность осадков 0%. [2]\\n* 30 ноября: утро — температура +1\\xa0°C, пасмурно, влажность 89%, давление 758 мм, ветер 4 м/с, вероятность осадков 0%. [2] День — температура +2\\xa0°C, пасмурно, влажность 87%, давление 758 мм, ветер 4 м/с, вероятность осадков 0%. [2] Вечер — температура +1\\xa0°C, пасмурно, влажность 88%, давление 759 мм, ветер 3 м/с, вероятность осадков 0%. [2] Ночь — температура +1\\xa0°C, пасмурно, влажность 88%, давление 758 мм, ветер 3 м/с, вероятность осадков 0%. [2]\\n\\nБолее подробный прогноз погоды можно посмотреть на сайтах yandex.ru и weather.rambler.ru. [2][5]\\n\\nИсточники:\\nhttps://yandex.ru/pogoda/moscow\\nhttps://yandex.ru/pogoda/213?lat=55.7559&lon=37.6177\\nhttps://meteoinfo.ru/forecasts/russia/moscow-area/moscow\\nhttps://www.gismeteo.ru/weather-moscow-4368/\\nhttps://weather.rambler.ru/v-moskve/\\nhttps://world-weather.ru/pogoda/russia/moscow/'}}]}\n", "\u001b[0m\n", "\u001b[34massistant: Вот информация о погоде в Москве на 28 ноября 2024 года:\n", "\n", - "- **Сейчас:** температура 0 °C, пасмурно, влажность 89%, ветер 2 м/с, вероятность осадков 0%.\n", - "- **Вечером:** температура -1 °C, пасмурно, влажность 89%, ветер 2 м/с, вероятность осадков 0%.\n", + "- **Сейчас:** температура +1 °C, пасмурно, влажность 88%, ветер 2 м/с, вероятность осадков 0%.\n", + "- **Ночью:** температура 0 °C, пасмурно, влажность 90%, давление 753 мм, ветер 2 м/с, вероятность осадков 0%.\n", + "\n", + "**Прогноз на ближайшие дни:**\n", + "\n", + "- 29 ноября: утро — температура +1 °C, дождь со снегом, влажность 91%, давление 755 мм, ветер 3 м/с, вероятность осадков 40%. День — температура +2 °C, пасмурно, влажность 90%, давление 756 мм, ветер 3 м/с, вероятность осадков 0%. Вечер — температура +1 °C, облачно с прояснениями, влажность 89%, давление 757 мм, ветер 2 м/с, вероятность осадков 0%. Ночь — температура 0 °C, пасмурно, влажность 90%, давление 758 мм, ветер 2 м/с, вероятность осадков 0%.\n", + "\n", + "- 30 ноября: утро — температура +1 °C, пасмурно, влажность 89%, давление 758 мм, ветер 4 м/с, вероятность осадков 0%. День — температура +2 °C, пасмурно, влажность 87%, давление 758 мм, ветер 4 м/с, вероятность осадков 0%. Вечер — температура +1 °C, пасмурно, влажность 88%, давление 759 мм, ветер 3 м/с, вероятность осадков 0%. Ночь — температура +1 °C, пасмурно, влажность 88%, давление 758 мм, ветер 3 м/с, вероятность осадков 0%.\n", "\u001b[0m\n" ] }