эта демонстрация основана на веб-сайте Learn Microsoft.
В репозитории будет доступен другой блокнот Jupyter, чтобы показать, как использовать помощников более сложным способом.
В этой демонстрации будет использоваться Python, библиотека openAi и Azure для создания помощника для его использования в блокноте Jupyter.
Если вы хотите напрямую протестировать в студии Azure Ai, это здесь. Студия Azure OpenAi.
Документация для студии Azure Ai
Помощник (или многие из тех, кто может работать вместе!) может выполнять широкий спектр задач, таких как ответы на вопросы, предоставление рекомендаций и выполнение команд с помощью инструментов.
У помощника могут быть некоторые инструменты:
Вы можете использовать помощников для создания широкого спектра приложений, таких как чат-боты, виртуальные агенты и т. д.
Проще говоря, вы можете создать в нескольких строках кода некоего помощника с инструментами для создания конвейера потоков для удовлетворения запросов или требований пользователя. помощник подберет правильный инструмент в соответствии с запросом пользователя.
по той же идее вы можете использовать разные модели помощников, чтобы улучшить реакцию или ограничить стоимость помощника.
Вы можете создать несколько помощников с разными инструментами в одном потоке (асинхронном или нет), чтобы решить проблему или дать ответ пользователю. Вы также можете иметь разные потоки с разными помощниками.
Потоки с несколькими помощниками выполняются с параллельными вызовами функций
В конце концов, с помощью этой библиотеки вы получите ответ в формате json, формате, который легко использовать в Python, и выполните на нем какой-либо процесс.
чтобы создать оркестровку помощника, вам придется управлять ими:
Первая демка в корне репозитория — простой помощник, основанный на документации Microsoft.
AoaiAssistant.ipynb
Назовите сценарий | Описание блокнота | Связь |
---|---|---|
Помощник по решению математических задач | 1 помощник, в качестве инструмента которого используется только интерпретатор кода | AoaiAssistant.ipynb |
вам понадобится, если вы хотите протестировать ноутбук локально:
питон 3.8 или новее
код визуальной студии и плагины:
Подписка Azure — 200$ за первую подписку.
Доступ к службе Azure OpenAi Запросить доступ к AOAI
Доступ к модели Lastet gpt4 0125 (фактически доступна в Центральной Швеции, на западе США, на востоке Японии)
Другие модели совместимы с функцией агентов
Разверните службу на портале Azure для открытой службы Ai Azure в соответствующем регионе.
Выполните развертывание модели в студии Azure openAi service Ai, укажите имя развертывания.
или
Codespace для использования ноутбука в облаке с Github
Имя развертывания модели (обычно вы указали имя, которое может отличаться от имени модели при ее развертывании) в студии Azure Ai, вы можете найти его в разделе развертывания модели, если вы этого не сделаете. напоминаю об этом
Вам необходимо правильно изменить информацию в secrets_env, переименованную в secrets.env.
конечную точку Azure и ключ Azure для службы Open Ai можно найти на вашем портале Azure или в подписке. или непосредственно в категории разговоров в студии Ai, выбрав модель и нажав код кнопки на первом этапе. И после того как вам придется нажать на кнопку "показать секрет" для получения ключа и конечная точка отобразится в примере кода
Вам нужно будет нажимать на каждый шаг кода кнопкой воспроизведения слева от каждой ячейки.
если нет ошибок, вы получите в последней ячейке этот дамп JSON с результатом и всей собранной информацией.
Когда вы будете готовы, вы можете выполнить действия, описанные в записной книжке AzureAOAI.ipynb.
В моем случае моя модель для gpt4-1106 называется gpt-4turbo.
Теперь вы можете использовать Python для ноутбука в коде Visual Studio (или внутри браузера с кодовым пространством), если вы хотите выполнить какой-либо процесс над результатом или некоторую оркестровку с результатом помощника:
Вы создали помощника? Хотите понять, как управлять тредами и сообщениями?
Прежде всего для понимания ознакомьтесь с документацией и начните с помощников.
Он учитывает определенный поток для создания потока и управления сообщениями в потоке.
последовательностьдиаграмма
участник А в качестве помощника по созданию
участник B как создание потока
участник C как создание сообщения пользователя
участник D как выполнение потока
участник E как получение статуса выполнения
участник F как цикл проверки состояния
участник G как поиск сообщений
A->>B: Создать помощник с моделью
B->>C: Создать тему
C->>D: Добавить сообщение пользователя в тему
D->>E: выполнить поток
E->>F: Получить статус выполнения
F->>F: цикл до тех пор, пока статус не станет окончательным.
F -->>G: Статус: завершено
Примечание справа от G: получение и отображение сообщений.
F-->>A: Статус: отменено
F -->>A: Статус: истек
F -->>A: Статус: не удалось
{
"data" : [
{
"id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " ,
"assistant_id" : " asst_vid43QSBUFAVr7f7nraAwfkS " , // the id of the assistant
"content" : [
{
"text" : {
"annotations" : [],
"value" : " The solution to the equation \ (3x + 11 = 14 \ ) is \ (x = 1 \ ). " // the result of the assistant
},
"type" : " text "
}
],
"created_at" : 1706827368 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " assistant " ,
"run_id" : " run_VlCTYceNmV8HlQyOLQUe7Xj6 " ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP "
},
{
"id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " ,
"assistant_id" : null ,
"content" : [
{
"text" : {
"annotations" : [],
"value" : " I need to solve the equation `3x + 11 = 14`. Can you help me? " // the rquest of the user
},
"type" : " text "
}
],
"created_at" : 1706827327 ,
"file_ids" : [],
"metadata" : {},
"object" : " thread.message " ,
"role" : " user " ,
"run_id" : null ,
"thread_id" : " thread_KM402gTevvYxlfxYA1ONQPHP " // id of the thread
}
],
"object" : " list " ,
"first_id" : " msg_5Oc2nmN7boHKfYuJaOnxkYrQ " , // the id of the first message - request user
"last_id" : " msg_ZHWVk1gJT292L4YJzlbLjmFq " , // Last message of the thread
"has_more" : false
}
Инструменты интерпретатора кода преобразуют код Python. В этом случае, если вы хотите проверить решение задачи помощника по математике с помощью специальной библиотеки, такой как Sympy или numpy
Эта информация извлечена из библиотеки openAi в библиотеке Python python openai.
code_interpreter
, retrieval
или function
.