Microsoft TinyTroupe:新的多AI代理框架

2024年11月21日 由 alex 发表 216 0

目前,生成式人工智能市场正在兴起的新概念是多人工智能代理。微软似乎正在全力以赴成为该领域的行业领导者。就在几天前,微软发布了 Magentic-One,现在,他们又推出了另一个多人工智能代理框架 TinyTroupe。


TinyTroupe是什么?

TinyTroupe是一个实验性的Python库,旨在模拟具有不同个性、兴趣和目标的个体,这些个体被称为TinyPerson。


它提供了一个平台,用于在虚拟环境中研究行为和交互。


介绍TinyPersons

TinyPersons是人工代理,能够:


  • 倾听用户和其他代理的话语。
  • 参与真实的对话。
  • 在一个名为TinyWorld的模拟世界中生活,并根据他们的个性进行动态交互。


LLM如何被使用?

该库利用先进的LLM(如GPT-4)来产生自然和真实的行为。这些模型使TinyPersons能够调整他们的行动和对话,以反映真实世界的场景。


为什么需要TinyTroupe?

TinyTroupe允许用户模拟高度可定制的角色之间的交互。这些模拟在不同的受控条件下探索了各种类型的交互和消费者行为。其重点在于分析和理解类似人类的行为,而不是像AI助手那样直接协助用户。


模拟优先设计

与传统设计用于现实世界协助的工具不同,TinyTroupe包含了为模拟目的优化的功能和机制。这些专门的功能旨在增强在受控环境中对复杂交互的研究。


独特的方法

超越了典型的基于LLM的游戏模拟,专注于生产力和业务场景。通过在模拟环境中探索类似人类的交互,为项目和产品的成功提供见解。旨在为消费者研究、项目规划和产品开发方面的创新解决方案做出贡献。


用例和应用

它可以用于解决一些直接的现实世界问题,如:

  • 合成数据创建:生成逼真的数据来训练模型或分析新机会。
  • 创意头脑风暴:模拟焦点小组,以最低成本收集对产品或概念的宝贵反馈。
  • 提案反馈:获取针对特定角色(如医生或律师)定制的产品或项目想法的输入。
  • 广告活动测试:用模拟受众测试数字广告,以便在现实世界使用之前进行完善。
  • 工具和软件测试:为系统(如聊天机器人或搜索引擎)提供输入,并评估它们的响应。


开始

Git克隆仓库


git clone https://github.com/microsoft/tinytroupeclone https://github.com/microsoft/tinytroupe
cd tinytroupe


使用pip安装所需依赖


pip install .


配置你的API密钥。为了配置使用TinyTroupe所需的环境变量,如果你使用的是Azure,请设置AZURE_OPENAI_KEY和AZURE_OPENAI_ENDPOINT,分别填入你的Azure OpenAI API密钥和端点。如果你直接使用的是OpenAI,请设置OPENAI_API_KEY,填入你的API密钥。


在结束之前,让我们通过一个使用TinyTroupe进行客户访谈的基本示例来理解其应用。


示例


导入库


import json
import sys
sys.path.append('..')
import tinytroupe
from tinytroupe.agent import TinyPerson
from tinytroupe.environment import TinyWorld, TinySocialNetwork
from tinytroupe.factory import TinyPersonFactory
from tinytroupe.extraction import default_extractor as extractor
from tinytroupe.extraction import ResultsReducer
import tinytroupe.control as control


创建一个虚拟环境并在这个环境中创建一个AI角色。


#creating a fake banking environment
factory = TinyPersonFactory("One of the largest banks in Brazil, full of bureaucracy and legacy systems.")
#creating AI persona
customer = factory.generate_person(
    """
    The vice-president of one product innovation. Has a degree in engineering and a MBA in finance. 
    Is facing a lot of pressure from the board of directors to fight off the competition from the fintechs.    
    """
)


你也可以查看客户的简介(根据上面提供的描述生成的背景故事)。


customer.minibio().minibio()


12


为代理提供一个场景


customer.think("I am now talking to a business and technology consultant to help me with my professional problems.").think("I am now talking to a business and technology consultant to help me with my professional problems.")


13


要求它现在就对给定的问题采取行动


customer.listen_and_act("What would you say are your main problems today? Please be as specific as possible.", "What would you say are your main problems today? Please be as specific as possible.", 
                        max_content_length=3000)


14


现在,如你在这个案例中所见,创建一个代理(agent)非常容易。而且不仅仅是代理,我们还定义了一个虚拟环境,并且可以添加新的代理。

文章来源:https://medium.com/data-science-in-your-pocket/microsoft-tinytroupe-new-multi-ai-agent-framework-2f3f255930a1
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消