Transcription
В первом эпизоде мы представили Foundry IQ, который открывает повсеместные знания для ваших агентов. Но он силен лишь настолько, насколько сильны поступающие в него данные. Поэтому следующий вопрос: откуда на самом деле берутся эти знания? В реальных системах данные не хранятся в одном месте. Они распределены по SharePoint, файлам, ссылкам на данные, поисковым индексам, Интернету и все чаще по нескольким облакам и платформам. Традиционно для подключения всего этого требовалось создание пользовательских конвейеров приема данных, сшивание соединителей и управление хрупким "клеем"-кодом. Каждый новый источник добавляет сложность, стоимость и операционный риск. Именно здесь источники знаний в Foundry IQ меняют уравнение. Conjure IQ рассматривает прием данных как возможность первого класса. Он предоставляет структурированный, управляемый способ поступления контента из множества различных систем в единый агент, готовый к использованию, без необходимости каждой команде изобретать конвейер заново. В этой сессии вы увидите, как различные типы контента поступают в Foundry IQ, как они нормализуются и подготавливаются для агентов, и как эта основа обеспечивает масштабируемые, надежные возможности для агентов. Я передаю слово Гие, чтобы она рассказала, как работают источники знаний и как собирается конвейер данных. >> Привет всем, добро пожаловать в серию IQ. Меня зовут Густаво Кордо. Я разработчик-адвокат в Microsoft. В этой сессии мы сосредоточимся на другой основной части Foundry IQ, а именно на том, как знания фактически поступают в систему. В предыдущем докладе мы рассмотрели, как агенты рассуждают на основе унифицированных знаний. Но теперь мы рассмотрим основу, которая делает все это возможным, а именно источники знаний и конвейер данных, стоящий за ними. Сегодня со мной Гия, которая проведет нас через концепции, а затем покажет, как все это работает на практике с помощью демонстрации. Привет, Гия, очень рад тебя видеть. >> Привет, Густаво, меня зовут Гиамун, и я старший менеджер, старший менеджер программ в Azure AI Search и Foundry IQ, и я рад быть здесь, чтобы обсудить с вами источники знаний. Ну, чтобы подготовить почву, прежде чем мы посмотрим на какие-либо инструменты или демонстрации и так далее, как вы объясните источники знаний в Foundry IQ, какую роль они играют в общей системе? >> Итак, в Foundry IQ источник знаний — это соединение. Так что вы можете думать об этом как о множестве источников, которые вы можете иметь один или несколько, верно. Так что агент может использовать их для возможностей заземления. Так, например, он может обернуть индексный корпус, такой как контент, который мы принимаем и подготавливаем в Azure AI Search, и у вас будет индекс, или указать на удаленную систему, которую мы запрашиваем по требованию, например, SharePoint через API компилятора для извлечения данных, или общедоступный веб через Bing, который у нас также есть. Итак, вы регистрируете один или несколько источников знаний внутри базы знаний, и агент вызывает эту базу знаний как единую точку под капотом. Foundry IQ запускает конвейер извлечения данных, который планирует, какой источник или источники использовать, и, если настроено, также использует подзапросы для фокусировки и возвращает заземленные результаты с цитатами. Таким образом, эта конструкция позволяет разделить заботы. У вас есть соединения с данными и извлечение, находящиеся в базе знаний, в то время как агент фокусируется на намерении пользователя и каждом действии, которое пользователь предпринимает, и именно так мы снимаем нагрузку по оркестрации с кода приложения. >> Понятно. Вау. Это очень интересно. И теперь, я уверен, что не только я, когда слышу слово "источники", часто думаю о документах, файлах, подобных вещах. Но как нам следует думать об источниках знаний здесь? Потому что кажется, что это шире, но я хотел бы услышать ваше мнение по этому поводу. >> Конечно. Это гораздо шире, как вы и упомянули. Источник — это не просто папка с PDF-файлами. Это может означать, что вы можете подключаться к файлам и озерам. Например, вы можете подключиться к Azure Blob Storage, к одному озеру, к бизнес-системам, к существующим сайтам SharePoint в индексах Azure AI Search, а также к Интернету для общедоступного контента, а также даже к системам, поддерживаемым инструментами через MCP. Мы проверим позже, что MCP также будет в частной предварительной версии, которую мы в настоящее время поддерживаем как источник знаний. Таким образом, ваш агент может плавно рассуждать на основе руководств, политик, структурированных списков и веб-контента через одну единую базу знаний. Вау. Вау. Итак, эти источники знаний действительно просто делают существующие знания, независимо от того, где они находятся, доступными для агентов в структурированном виде. Правильно. >> Это верно. Таким образом, они нормализуют доступ агентов к знаниям, позволяя вам выбирать, где эти знания находятся и как они фактически управляются. >> Понятно. Понятно. Да. И хорошо, а теперь я хочу перейти к чему-то более конкретному, а именно к типам контента и систем, о которых мы будем говорить здесь, потому что в реальных организациях, вы знаете, знания будут распределены, я имею в виду, по многим системам, особенно в такой компании, как большие компании, малые компании, я думаю, везде будет такая ситуация. Не могли бы вы рассказать нам о различных видах мест, откуда могут поступать эти знания при работе с Foundry IQ? >> Конечно. Давайте посмотрим на это. Итак, вы можете видеть здесь на моем экране, что в реальных организациях знания распределены по нескольким системам. Как вы только что упомянули, например, в наиболее распространенных типах источников знаний мы видим, что клиенты подключают неструктурированные данные, и вы можете видеть здесь, например, что у нас есть Azure Blob, и это индексируется. Вы можете видеть, что у нас есть индексированные данные, и у нас также есть варианты для удаленных данных. Итак, на стороне индекса, как я упоминал, Blob, у нас также есть One Lake, One Lake имеет свои собственные ярлыки, например, и вы можете получить доступ к таким источникам, как Amazon S3 и Google Cloud Storage от Google, вы также можете получить доступ к Lakehouses, которые у вас есть в One Lake, например, и если у вас уже есть индекс в Azure AI Search, вы также можете использовать этот индекс в качестве источника, и это то, что мы называем индексированным. Хорошо. Итак, давайте перейдем к другой стороне, где мы также видим удаленные системы, и в рамках удаленной системы мы также позволяем вам приносить веб-конечную точку, такую как URL-адрес, который у вас есть в данном случае через Bing, и мы позволяем вам задавать вопросы этой конечной точке, чтобы получить данные из общедоступного Интернета вместо ваших собственных данных внутри, которые могут дополнить все данные, которые у вас уже есть на месте или в этом другом месте, в этих других источниках знаний. Как я упоминал ранее, у нас также есть MCP. Итак, если у вас есть сервер MCP, и вы можете получать данные из нескольких источников через сервер MCP, который уже опубликован, вы также сможете получать эти данные через сервер MCP. Вы получите результаты, и мы также переранжируем их с остальными источниками знаний в зависимости от заданного вопроса и источников, которые вы хотите использовать, и, наконец, вы можете видеть, что у нас здесь есть пересечение, в котором у нас есть индексированные данные, у нас есть удаленные данные для SharePoint, поэтому мы предлагаем два варианта: первый вариант — это, по сути, мы позволяем вам получать данные непосредственно из SharePoint, используя Microsoft 365 Retrieval API, и, по сути, мы напрямую вызываем ваш сайт SharePoint, и это напрямую уважает разрешения пользователя, метки конфиденциальности, все, что связано с моделью разрешений SharePoint, автоматически соблюдается каждый раз, вам не нужно повторно индексировать ваши данные, например, если у вас есть лицензия co-op pilot, вы можете использовать это, и мы также предлагаем другой вариант, который заключается в индексировании ваших данных из SharePoint непосредственно в Azure AI Search, что некоторым клиентам может понадобиться в зависимости от их сценария, чтобы управлять своим собственным индексом и точно контролировать, что попадает в индекс, и подготавливать данные перед тем, как они попадут туда из SharePoint. Итак, у вас есть все эти варианты, которые вы можете использовать в вашей базе знаний. >> Отлично. Так это, по сути, единый инструмент, который может автоматически направлять нужный источник. Это потрясающе. Особенно, я имею в виду, я поклонник серверов MCP, так что приятно слышать, что у нас есть это соединение. >> Абсолютно. Да. >> Отлично. Ну, теперь с этими источниками, которые содержат очень разные типы контента. Я имею в виду, это могут быть структурированные данные, неструктурированный текст, операционная информация, изображения, разные типы вещей. Я задаюсь вопросом, как Foundry IQ обрабатывает это разнообразие, чтобы агенты могли последовательно рассуждать на основе этого? Абсолютно. Для этого мы работаем как на стороне приема данных, в зависимости от источника, так и на стороне извлечения и рассуждения. Например, мы только что видели, что то, что мы называем индексированными источниками, такими как Blob, One Lake и SharePoint Index, и в Foundry IQ мы автоматизируем конвейер. Таким образом, контент разбивается на части, векторизуется и обогащается, и мы храним это с тем, что нужно движку запросов для гибридного поиска. У нас есть как поиск по ключевым словам, так и векторный поиск, и, наконец, вы также можете добавить семантическое ранжирование поверх этого. Таким образом, вы включаете это один раз, и индексатор фактически поддерживает его в актуальном состоянии в запланированные интервалы. Когда вы включаете понимание контента в качестве стандартного режима извлечения, мы также используем службу понимания контента в Azure в Foundry, прошу прощения, в неподдерживаемых источниках, и мы извлекаем структуру, ориентированную на макет, таблицы, фигуры, заголовки и все, что вам нужно. Таким образом, агенты получают более качественное заземление без пользовательского парсинга. Теперь, если мы говорим об удаленных источниках, таких как удаленный SharePoint, который я недавно объяснил, а также о Интернете, если вы решите получать общедоступные результаты, база знаний запрашивает систему на месте, объединяет результаты и переранжирует их вместе с индексированным контентом. Таким образом, это сохраняет управление, привязанное к источнику, позволяя агенту соединять точки. Вам не нужно разбираться с этим во время запроса. Движок извлечения данных, который у нас есть, в зависимости от усилий по рассуждению, выбранных в базе знаний, будет выполнять планирование. По сути, он будет отправлять параллельные подзапросы по выбранным источникам знаний и может оценить, достаточно ли у нас доказательств, и либо выйти рано, либо итерировать для улучшения покрытия. И по безопасности и управлению Foundry IQ также может уважать разрешения пользователя, как я упоминал. Например, если вы используете удаленный SharePoint, и оба уважают разрешения на уровне документов из коробки, а в других поддерживаемых источниках, таких как Blob и ADLS Gen 2, у нас также есть поддержка и настройка службы через SDK. Таким образом, агенты видят только то, что им разрешено видеть. Наконец, разработчики могут контролировать усилия по рассуждению при извлечении. Я только что упомянул об этом ранее, концепцию усилий по рассуждению при извлечении, и мы увидим эту концепцию в следующей сессии подробно, когда посмотрим, как взаимодействовать с базами знаний. Но в данном случае я просто упомяну немного, что если вы, по сути, переключаете усилия по рассуждению при извлечении, которые у нас есть, от минимального до среднего, вы можете сказать: "Хорошо, я буду использовать LLM для отправки нескольких запросов и синтеза ответов", или "Я не хочу его использовать, я не думаю, что мой сценарий в этом нуждается". Вы, по сути, можете контролировать это и балансировать скорость, стоимость и глубину в соответствии с вашим сценарием. И это концепция, которую мы рассмотрим позже, верно? Итак, в данном случае мы сосредоточимся на источниках. Но это то, что мы все учитываем как часть Foundry IQ при проектировании системы, чтобы вам не пришлось беспокоиться об этих деталях, а просто несколькими щелчками мыши вы сможете получить базу знаний, которую вы сможете использовать и получать доступ через своего агента, и использовать множество различных источников данных, которые мы предлагаем. >> Отлично. Отлично. Ну, я уверен, что я не единственный, кто рад видеть это в действии. Итак, с учетом этого контекста, я хотел бы перейти к демонстрации и увидеть, как все это работает на самом деле от начала до конца и посмотреть, как вы это проходите. >> Конечно. Итак, дайте мне секунду, чтобы просто переключиться на мой другой экран. >> Конечно. И прямо сейчас вы видите, по сути, Microsoft Foundry, и это домашняя страница, и способ, которым вы сможете создавать и управлять своими источниками знаний, — это перейти в раздел "Создать" наверху и получить доступ к "Знаниям". Итак, если вы перейдете непосредственно к "Знаниям", вам придется сначала создать агента. >> Все, что мы делаем, это, по сути, предоставляем знания агенту, верно, поэтому вы можете видеть, что я уже создал агента здесь. >> Итак, когда у вас есть это, вы должны иметь возможность перейти сюда к "Знаниям", и вы увидите, что есть опция для "Баз знаний". Итак, есть одна, которую я создал здесь. Вы видите, что у меня есть прямое соединение с сервисом Azure AI Search. Если у вас его нет, вы можете создать его. Но в данном случае я покажу вам, вы можете создать базу знаний здесь с нуля. Итак, вы можете видеть, что вы можете выбрать некоторые из упомянутых мной ранее опций. У вас есть Blob Storage. У вас есть индекс Azure AI Search, если он у вас уже есть. У вас есть опция "Интернет", которая использует Bing для доступа к общедоступным знаниям. У вас есть ваш Microsoft SharePoint, удаленная и индексированная версия, а также Microsoft One Lake, все упомянутые мной ранее опции. >> Итак, это если вы хотите создать его с нуля. Но я собираюсь просто показать вам, как выглядит один, когда вы его создали, и я покажу вам, как вы можете фактически создать источник знаний в этой базе знаний. Хорошо. Итак, давайте просто нажмем на этот, и теперь, как я упоминал, наша следующая сессия будет посвящена базам знаний, я прошу прощения, и тому, как вы с ними взаимодействуете, так что вы получите больше информации о том, что означает "минимальный" здесь и "извлекаемые данные" и так далее. Но сейчас мы сосредоточимся на этом разделе, который называется "Источники знаний", хорошо, вы можете видеть, что я создал несколько здесь. >> У меня есть один для удаленных, по сути, вам нужно будет предоставить вашу конечную точку из SharePoint и также иметь возможность настроить удаленную, как я упоминал, это требует лицензии Microsoft 365 Copilot для ее использования, и также у нас есть в этом разделе индексированный, который является тем, в котором вы получаете данные из SharePoint и помещаете их в индекс Azure AI Search. Для этого вам нужно приложение, и вам нужно создать его сначала, потому что вам нужен доступ к конкретному сервису поиска, чтобы создать токены и иметь возможность получить доступ к данным. Итак, мы не будем проходить этот путь, но мы создадим самый простой, который у нас есть, а именно для Blob Storage. Для индекса поиска это так же просто. Для других, по сути, нам нужно будет пойти и проверить информацию, которую мы имеем для SharePoint, например, сайт и другую информацию для аутентификации, поэтому я не использую это в качестве примера здесь в рамках демонстрации, чтобы сделать ее как можно быстрее. Итак, в данном случае, давайте выберем Azure Blob Storage, и это действительно важно, конечно, вы можете назвать его как угодно, но это описание действительно важно для любого источника знаний, потому что оно предоставит детали о том, какие данные агент может найти в вашей базе знаний. Итак, по сути, чтобы предоставить описание, это информация, которую вы сможете найти здесь, потому что она не будет тратить время впустую, если ей не придется получать доступ к источнику, который не связан с намерением пользователя. Итак, в данном случае, например, я скажу, что это источник для Zava, вымышленной компании, политики Zava, поэтому пользователи могут получить доступ к общедоступным, например, поэтому в данном случае я знаю, что все, что там есть, общедоступно, например, или я могу сказать только частное, верно, вы можете описать любое описание, которое подходит вашему сценарию. Конечно, здесь вам нужно выбрать вашу учетную запись хранения. Конечно, мы создаем Blob Storage. Итак, в данном случае у меня есть предварительно созданное хранилище, и я получу к нему доступ здесь. Итак, в моей учетной записи хранения я выбираю ее. Мне требуется имя контейнера. Я собираюсь выбрать Zava files. Конечно, вы можете выбрать любое. И я собираюсь сказать, давайте используем системно назначенную идентичность, например. И я оставлю это здесь, например, в стандартном режиме. В данном случае, если я выберу стандартный, он будет использовать ресурс понимания контента, связанный с моим проектом в Foundry. Таким образом, он имеет лучшее описание извлеченной структуры. Например, он будет иметь извлечения для таблиц и фигур, и это будет лучше для целей извлечения и увеличит полноту в большинстве сценариев. И, наконец, здесь я скажу, что я хотел бы, чтобы это было встроено. По сути, я упомянул ранее, что когда мы обрабатываем что-то и помещаем это в индекс, мы разбиваем и векторизуем данные для вас. Итак, чтобы векторизовать данные, нам нужна модель встраивания. Это фактически моя модель встраивания, что означает, что если у вас есть собственный экземпляр, вы создаете его. Это ваш развертывание. И эта модель завершения будет использоваться для описания всего, что выходит из любых изображений, которые у меня есть в моих политиках. В данном случае я знаю, что у меня их нет, и я могу просто нажать "Создать". Итак, как вы видите, требуется всего несколько частей информации, чтобы создать все основные компоненты, необходимые для обеспечения того, чтобы все было доступно системе для создания источника данных. Хорошо. Итак, это действительно очень круто. Я собираюсь отменить это. Но вы можете, я хотел также показать вам, что вы можете добавлять существующие источники. Например, вы можете видеть здесь, что у меня есть несколько источников, которые я создал для других тестовых сценариев. Итак, вам не нужно создавать соединение каждый раз. Итак, если у вас есть несколько баз знаний, которым нужен один и тот же источник, вам просто нужно добавить его снова и снова. Итак, вы можете предоставить его разным агентам в зависимости от варианта использования. Хорошо? Вам не нужно создавать его один раз. Но просто повторно используйте все, что у вас есть в ваших источниках знаний. Итак, это действительно важно. И еще одна вещь, которую я хотел бы показать вам, это просто раскрытие источников знаний в Foundry. Итак, есть другие возможности, которые у нас есть. Мы можем получить доступ также, я упоминал ранее, что если вы перейдете сюда обратно на вкладку "Знания", вы увидите, что это связано с сервисом поиска. Итак, если я перейду в сервис поиска на портале Azure, если я перейду сюда в "Агентское извлечение", вы увидите, что у нас есть опция просмотра баз знаний отсюда, а также их создания, и то же самое для источников. Итак, это зависит от того, где вы строите. Конечно, мы рекомендуем все, что вы делаете сначала из Foundry, потому что у вас есть агент прямо там, и у вас есть сквозной опыт. Но есть клиенты, которые привыкли убедиться, что они могут использовать портал Azure. Итак, мы также предлагаем этот вариант. И, конечно, вы можете получить доступ к этому через код. Итак, если у вас есть приложение на Python, вы можете создать его просто, скажем, из VS Code, у вас есть ваш проект там, и вы также можете создать его с нуля из источника знаний, используя клиент источника знаний. Итак, это очень важно, потому что, конечно, у нас разные предпочтения для разработчиков, и также через код вы можете настроить все больше и больше, и убедиться, что у вас есть все, и хорошая вещь в том, что все, что было создано, также доступно в Azure Search, вы можете видеть здесь в разделе управления поиском все основные индексы, которые работают, основной индекс, который создан. Если я выберу добавить индекс, у нас также будет здесь созданный под индексами, индексаторы — это те, которые будут собирать детали и убеждаться, что, например, если вы настроили его на запуск каждый час, если вы настроили его отсюда из Foundry, в момент создания, что это автоматически с определенным временем по умолчанию. Итак, он будет собирать каждый час источник знаний и убеждаться, что он может поддерживать все в актуальном состоянии. Но вы также можете настроить время. У вас есть индексатор здесь, чтобы изменить это, а также у нас есть источники данных, к которым вы подключаетесь. Все это создается под капотом, когда вы используете Microsoft Foundry отсюда, в разделе Knowledge IQ. Итак, это, по сути, извлечение всей сложности и обеспечение того, чтобы вы могли создавать свои решения очень простым способом. Отлично. Отлично. Это здорово. Я имею в виду, но мне действительно нравится тот факт, что нам не нужно перепроектировать, где находятся все данные, а скорее мы можем просто принести все существующие знания в Foundry IQ, а затем позволить платформе позаботиться об остальном. Я думаю, это значительно упрощает работу. И это, честно говоря, действительно интересный продукт. Я обязательно протестирую некоторые вещи для будущих агентов, которых я буду там строить, потому что это звучит очень круто. Да. Но для всех, кто хочет углубиться в источники знаний в Foundry AQ, вы можете посетить aka.ms/iq-series, и вы найдете все ресурсы и примеры, которыми поделились в этой серии. Так что, пожалуйста, обязательно зайдите туда, ознакомьтесь со всей документацией, которую мы имеем, и вы узнаете немного больше о том, над чем работает Гия и так далее. Но Гия, я очень благодарен за то, что вы были здесь. Это был действительно четкий обзор того, как работают конвейер данных и все источники знаний в Foundry IQ. Я очень благодарен за ваше время здесь, и я хочу поблагодарить всех за то, что присоединились к нам на этой сессии в серии IQ. А теперь я передаю слово Томоми для краткого подведения итогов ключевых моментов сегодняшнего доклада. >> Привет, это Томоми, и вот мой краткий обзор источников знаний в Foundry IQ. На высоком уровне источник знаний может быть либо индексированным, либо удаленным. Для индексированных источников Foundry IQ создает для вас конвейер. Он разбивает контекст на части, векторизует его, извлекает метаданные и поддерживает его в актуальном состоянии. Распространенные примеры: Azure Blob Storage, One Lake, индекс, SharePoint или даже существующий индекс Azure AI Search, который вы уже используете в производстве. С другой стороны, удаленные источники создаются в реальном времени. Это включает удаленный SharePoint, который уважает разрешения во время запроса. Интернет для общедоступного заземления и серверы MCP, где внешние системы могут рассматриваться как запрашиваемые знания. Все это регистрируется внутри базы знаний. И с точки зрения агента, это всего лишь одна конечная точка. Таким образом, вместо того, чтобы прописывать логику извлечения для каждой системы, вы подключаете свои знания один раз, а Foundry IQ позаботится обо всем остальном. Это конвейер данных, стоящий за источниками знаний.