目前,生成式人工智能市场正在兴起的新概念是多人工智能代理。微软似乎正在全力以赴成为该领域的行业领导者。就在几天前,微软发布了 Magentic-One,现在,他们又推出了另一个多人工智能代理框架 TinyTroupe。
TinyTroupe是什么?
TinyTroupe是一个实验性的Python库,旨在模拟具有不同个性、兴趣和目标的个体,这些个体被称为TinyPerson。
它提供了一个平台,用于在虚拟环境中研究行为和交互。
介绍TinyPersons
TinyPersons是人工代理,能够:
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()
为代理提供一个场景
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.")
要求它现在就对给定的问题采取行动
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)
现在,如你在这个案例中所见,创建一个代理(agent)非常容易。而且不仅仅是代理,我们还定义了一个虚拟环境,并且可以添加新的代理。