该演示基于 Learn Microsoft 网站
存储库中还将提供其他一些 jupyter 笔记本,以展示如何以更复杂的方式使用助手。
该演示将使用 python、openAi 库和 azure 创建一个助手,以便在 jupyter 笔记本中使用它。
如果您想直接在 Azure Ai 工作室中进行测试,请访问 Azure OpenAi 工作室
Azure Ai studio 的文档
助手(或许多可以一起工作的人!)可以执行广泛的任务,例如回答问题、提供建议以及在工具的帮助下执行命令。
助理可能有一些工具:
您可以使用助手构建各种应用程序,例如聊天机器人、虚拟代理等。
显然,您可以在几行代码中创建一些带有工具的助手来创建线程管道,以便解决用户的询问或需求。助手会根据用户的要求,采取适合需求的正确工具。
同样的想法,您可以通过助手使用不同的模型以获得更好的响应或限制助手的成本
您可以在一个线程(异步或异步)上使用不同的工具创建多个助手来解决问题或向用户提供响应,您也可以使用不同的助手创建不同的线程
多辅助线程通过并行函数调用运行
最后,使用这个库,您将以 json 格式检索响应,该格式易于在 python 中使用,并对其进行一些处理。
要创建助手的编排,您必须管理这些:
存储库根目录中的第一个演示是一个基于 Microsoft 文档的简单助手。
傲爱助手.ipynb
命名场景 | 说明笔记本 | 关联 |
---|---|---|
数学解算助手 | 1 名助手,仅使用代码解释器作为工具 | 傲爱助手.ipynb |
如果您想在本地测试笔记本,您将需要:
python 3.8 或更高版本
Visual Studio代码和插件:
Azure 订阅 - 首次订阅 200 美元
访问 Azure OpenAi 服务 请求访问 AOAI
获得最新的 gpt4 0125 型号(实际适用于瑞典中部、美国西部、日本东部)
其他机型兼容代理功能
在门户azure中部署相应区域的Azure open Ai服务的服务
在azure openAi服务Ai studio中部署模型,命名为部署
或者
Codespace 通过 Github 在云中使用笔记本
对于Azure Ai studio中模型的部署名称(您通常给出的名称可能与部署模型时的名称不同),如果您不这样做,可以在模型的部署部分找到它不要提醒它
您必须正确修改secrets.env中重命名的secrets_env中的信息
可以在您的 azure 门户/订阅中找到 Open Ai 服务的 azure 端点和 azure 密钥或者直接在Ai studio的对话类别中,选择模型并点击第一步的按钮代码之后,您必须单击“显示秘密”按钮才能获取密钥,并且端点将显示在示例代码中
您必须通过每个单元格左侧的播放按钮单击每个代码步骤
如果没有错误,您将在最后一个单元格中获得此 json 转储以及结果和收集的所有信息
准备好后,您可以按照 AzureAOAI.ipynb 笔记本中的步骤操作
就我而言,我的 gpt4-1106 模型部署名为gpt-4turbo
如果您想对结果进行一些处理或使用助手的结果进行一些编排,您现在可以在 Visual Studio Code 中(或在带有 codespace 的浏览器中)使用笔记本 Python:
你创建了一个助手吗?您想了解如何管理线程和消息吗?
首先看一下文档进行理解并开始使用助手
它遵循特定的流程来创建线程并管理线程中的消息。
序列图
参与者A作为助理创作
参与者 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 等专用库来验证数学问题助手的解决方案
这些信息是从python库中的openAi库中提取的 python openai
code_interpreter
、 retrieval
或function
。