欢迎光临
我们一直在努力

AutoGen【部署 03】部署AutoGenStudio 创建的 Agent Apps(Windows 代码调用 + Linux REST API部署测试)

部署AutoGenStudio 创建的 Agent Apps

  • 1.Agent Apps 部署文件导出
  • 2.Windows 环境测试
    • 2.1 PyCharm 配置使用虚拟环境
    • 2.2 Deploy 代码运行
  • 3.Linux 环境测试
    • 3.1 启动服务
    • 3.2 接口调用测试
    • 3.3 参数调整
  • 4.总结
  • 测试项目的 Gitee 地址:https://gitee.com/yuanzhengme/python_autogenstudio_test.git

Using AutoGen Studio Teams in Python Code and REST API

Prerequisites

  • AutoGen Studio installed(如果没有安装可以之前的两篇部署流程说明)

1.Agent Apps 部署文件导出

You can reuse the declarative specifications of agent teams created in AutoGen studio in your python application by using the TeamManager class. . In TeamBuilder, select a team configuration and click download.

这次就选择这种方式,我们把上次使用本地大模型的 Team 配置导出:

导出后的文件 team-config.json部分内容如下:

  • Build Your Team in Python, Export as JSON

2.Windows 环境测试

2.1 PyCharm 配置使用虚拟环境

  • 新建的项目

  • 打开旧的项目

2.2 Deploy 代码运行

AutoGen Studio 有 Deploy 的示例代码:

在 Pycharm 里创建 python 文件并复制代码:

from autogenstudio.teammanager import TeamManager

# Initialize the TeamManager
manager = TeamManager()

# Run a task with a specific team configuration
result = await manager.run(
task="What is the weather in New York?",
team_config="team.json"
)
print(result)

实际使用代码:

import asyncio

from autogenstudio.teammanager import TeamManager

async def test():
try:
# Initialize the TeamManager
manager = TeamManager()

# Run a task with a specific team configuration
result = await manager.run(
task="你是谁开发出来的模型?",
team_config="team-config.json"
)
print(result)
for i, message in enumerate(result.task_result.messages):
content = message.content.strip()
print(content)
except Exception as e:
print(e)

if __name__ == "__main__":
asyncio.run(test())

输出结果:

task_result=TaskResult(messages=[TextMessage(source='user', models_usage=None, metadata={}, content='你是谁开发出来的模型?', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=186, completion_tokens=61), metadata={}, content='我是来自阿里云的大规模语言模型,我叫通义千问。我是由预训练的超大规模语言模型"通义-千问"经过人工优化和迭代后构建的。如果您有任何疑问或需要帮助,请随时告诉我!如果有其他问题需要解答,请继续提问。', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=246, completion_tokens=1), metadata={}, content='', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=246, completion_tokens=8), metadata={}, content='请告诉我您的下一个任务需求。', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=253, completion_tokens=1), metadata={}, content='', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=253, completion_tokens=6), metadata={}, content='```\\nterminate\\n```', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=258, completion_tokens=1), metadata={}, content='', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=259, completion_tokens=20), metadata={}, content='如果是这种情况:\\nTerminate, 确实已经完成了。下一步的任务无需进行任何操作。', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=278, completion_tokens=17), metadata={}, content='如果还有其他问题或者要执行的操作,可以重新联系我进行交流。', type='TextMessage'), TextMessage(source='assistant_agent', models_usage=RequestUsage(prompt_tokens=294, completion_tokens=1), metadata={}, content='', type='TextMessage')], stop_reason='Maximum number of messages 10 reached, current message count: 10') usage='' duration=6.408564329147339
你是谁开发出来的模型?
我是来自阿里云的大规模语言模型,我叫通义千问。我是由预训练的超大规模语言模型"通义-千问"经过人工优化和迭代后构建的。如果您有任何疑问或需要帮助,请随时告诉我!如果有其他问题需要解答,请继续提问。

请告诉我您的下一个任务需求。

terminate

如果是这种情况:
Terminate, 确实已经完成了。下一步的任务无需进行任何操作。
如果还有其他问题或者要执行的操作,可以重新联系我进行交流。

3.Linux 环境测试

3.1 启动服务

Linux 环境下切换到已安装 AutoGen Studio的虚拟环境:

测试 Server a Team as a REST API的方式:

autogenstudio serve –team path/to/team.json –port 8084

查看帮助内容是个好习惯:

# 查询帮助文件
autogenstudio serve –help

# 输出内容
Usage: autogenstudio serve [OPTIONS]

Serve an API Endpoint based on an AutoGen Studio workflow json file.

Args:
team (str): Path to the team json file.
host (str, optional): Host to run the UI on. Defaults to 127.0.0.1 (localhost).
port (int, optional): Port to run the UI on. Defaults to 8084
workers (int, optional): Number of workers to run the UI with. Defaults to 1.
reload (bool, optional): Whether to reload the UI on code changes. Defaults to False.
docs (bool, optional): Whether to generate API docs. Defaults to False.

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ –team TEXT │
│ –host TEXT [default: 127.0.0.1]
│ –port INTEGER [default: 8084]
│ –workers INTEGER [default: 1]
│ –reload │
│ –docs –no-docs [default: no-docs]
│ –help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

实际启动命令:

autogenstudio serve –team ./team-config.json –host xxx.xxx.x.xxx –port 8084 –workers 2 –docs

3.2 接口调用测试

浏览器地址栏输入 http://host:port/docs即可查看接口文档: 在这里插入图片描述

测试接口:

响应数据:

{
"message": "Task successfully completed",
"status": true,
"data": {
"task_result": {
"messages": [
{
"source": "user",
"models_usage": null,
"metadata": {}
},
{
"source": "assistant_agent",
"models_usage": {
"prompt_tokens": 183,
"completion_tokens": 31
},
"metadata": {}
},
# 删除了一些数据
],
"stop_reason": "Maximum number of messages 10 reached, current message count: 10"
},
"usage": "",
"duration": 6.802065372467041
}
}

3.3 参数调整

导致 stop_reson:Maximum number of messages 10 reached, current message count: 10的原因是终止条件里配置的较小,启动 autogenstudio ui调整参数:

修改界面:

配置文件对应的配置信息:

4.总结

想要真正用起来,依然任重道远。

赞(0)
未经允许不得转载:171主机测评 » AutoGen【部署 03】部署AutoGenStudio 创建的 Agent Apps(Windows 代码调用 + Linux REST API部署测试)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址