상상력 향상 및 비즈니스 통찰력을위한 LLM 구동 다중 유능한 페르소나 시뮬레이션.
TinyTroupe 은 특정 성격, 관심사 및 목표를 가진 사람들을 시뮬레이션 할 수있는 실험적인 파이썬 라이브러리입니다. 이 인공 요원 인 TinyPerson
은 우리와 서로의 말을 듣고, 회신하고, 시뮬레이션 된 TinyWorld
세계 환경에서 그들의 삶을 갈 수 있습니다. 이는 현실적인 시뮬레이션 된 동작을 생성하기 위해 대형 언어 모델 (특히 GPT-4)의 힘을 활용하여 달성됩니다. 이를 통해 우리가 선택한 조건 하에서 사용자 정의 가능한 페르소나 와 함께 광범위한 설득력있는 상호 작용 및 소비자 유형을 조사 할 수 있습니다. 따라서 인간 행동을 이해하는 데 중점을두고 있으며, 이를 직접 뒷받침하는 데 중점을 둡니다 (예 : AI 조수). 이는 무엇보다도 시뮬레이션 설정에서만 이해되는 특수 메커니즘을 초래합니다. 또한 다른 게임과 같은 LLM 기반 시뮬레이션 접근 방식과 달리 TinyTroupe은 생산성과 비즈니스 시나리오를 밝히는 것을 목표로하여보다 성공적인 프로젝트 및 제품에 기여합니다. 인간의 상상력을 향상시키기 위한 몇 가지 응용 아이디어는 다음과 같습니다.
광고 : TinyTroupe은 돈을 쓰기 전에 시뮬레이션 된 잠재 고객과 오프라인으로 디지털 광고 (예 : 빙 광고)를 평가할 수 있습니다!
소프트웨어 테스트 : TinyTroupe은 시스템에 테스트 입력 (예 : 검색 엔진, 챗봇 또는 복제물)을 제공 한 다음 결과를 평가할 수 있습니다 .
훈련 및 탐색 데이터 : TinyTroupe은 나중에 모델을 훈련 시키거나 기회 분석을받는 데 사용할 수있는 현실적인 합성 데이터를 생성 할 수 있습니다.
제품 및 프로젝트 관리 : TinyTroupe은 프로젝트 또는 제품 제안서를 읽고 특정 페르소나 (예 : 의사, 변호사 및 지식 근로자)의 관점에서 피드백을 제공 할 수 있습니다.
브레인 스토밍 : TinyTroupe은 초점 그룹을 시뮬레이션하고 비용의 일부로 훌륭한 제품 피드백을 제공 할 수 있습니다!
위의 모든 것들과 다른 많은 사람들에서, 우리는 실험 자들이 관심 영역에 대한 통찰력을 얻고 더 나은 결정을 내릴 수 있기를 바랍니다.
우리는 생산적인 방향으로 조향 개발에 대한 피드백과 기여를 찾고 있기 때문에 상당한 초기 단계에서 TinyTroupe을 출시하고 있습니다. 우리는 특히 특정 산업에서 새로운 잠재적 사용 사례를 찾는 데 관심이 있습니다.
메모
? 진행중인 작업 : 빈번한 변화를 기대하십시오 . TinyTroupe은 진행중인 연구 프로젝트로, 여전히 매우 중요한 개발 중이며 추가 정리가 필요합니다. 특히, API는 여전히 빈번한 변화에 따라 다릅니다. API 변형을 실험하는 것은 올바르게 형성하는 데 필수적이지만, 우리는 그것을 안정화시키고 시간이 지남에 따라보다 일관되고 친근한 경험을 제공하기 위해 노력하고 있습니다. 도서관을 계속 개선하면서 인내와 피드백에 감사드립니다.
주의
⚖️ 법적 면책 조항을 읽으십시오. TinyTroupe은 연구 및 시뮬레이션을위한 것입니다. 귀하는 생성 된 출력을 사용하는 모든 용도에 대한 책임이 있습니다. 다양한 중요한 추가 법적 고려 사항이 적용되고 사용을 제한하십시오. TinyTroupe을 사용하기 전에 아래의 전체 법적 면책 조항 섹션을 읽으십시오.
예
사전 반품
설치
원리
프로젝트 구조
도서관 사용
기여
감사의 말
TinyTroupe 인용
법적 면책 조항
™ 슬 상표
TinyTroupe이 할 수있는 일을 이해하기 위해 여기에 사용의 예가 있습니다. 이 예제는 예제/ 폴더에서 제공되며 사전 컴파일 된 Jupyter 노트북을 검사하거나 현지에서 직접 실행할 수 있습니다. TinyTroupe 실험의 대화식 특성에 주목하십시오. Jupyter Notebook을 사용하여 데이터와 상호 작용하여 통찰력을 얻기 위해 시뮬레이션 된 사람 및 환경과 상호 작용할 수 있습니다.
메모
현재 시뮬레이션 출력은 어두운 배경에 대해 더 잘 시각화되므로 Jupyter Notebook 클라이언트에서 어두운 테마를 사용하는 것이 좋습니다.
비즈니스 컨설턴트가 은행가에게 접근하는 간단한 고객 인터뷰 시나리오로 시작하겠습니다.
대화는 컨설턴트가 수집 된 정보에 만족할 때까지 더 깊고 깊어지기 위해 몇 단계로 계속 진행될 수 있습니다 (예 : 구체적인 프로젝트 아이디어).
최고의 온라인 광고 옵션을 평가하여 최고의 광고 옵션을 선택해 봅시다. TV 광고 평가를위한 출력 한 가지 예는 다음과 같습니다.
이제 에이전트의 말을 신중하게 읽지 않고 각 에이전트의 선택을 추출하고 전반적인 선호도를 자동화 된 방식으로 계산할 수 있습니다.
다음은 Microsoft Word의 새로운 AI 기능에 대한 브레인 스토밍을 시작하기 시작하는 포커스 그룹입니다. 각 에이전트와 개별적으로 상호 작용하는 대신 환경을 조작하여 서로 상호 작용하도록합니다.
시뮬레이션을 실행 한 후 결과를 기계로 읽을 수있는 방식으로 추출하여 다른 곳에서 재사용 할 수 있습니다 (예 : 보고서 생성기). 위의 브레인 스토밍 세션에서 얻는 것은 다음과 같습니다.
예제/ 폴더에서 다른 예제를 찾을 수 있습니다.
라이브러리를 실행하려면 다음과 같습니다.
파이썬 3.10 이상. 우리는 당신이 Anaconda를 사용하고 있다고 가정하지만 다른 Python 배포판을 사용할 수 있습니다.
Azure Openai 서비스 또는 Open AI GPT-4 API에 대한 액세스. 여기에서 Azure Openai 서비스와 OpenAI API에 액세스 할 수 있습니다.
Azure OpenAi Service의 경우 AZURE_OPENAI_KEY
및 AZURE_OPENAI_ENDPOINT
환경 변수를 API 키 및 엔드 포인트로 각각 설정해야합니다.
OpenAI의 경우 OPENAI_API_KEY
환경 변수를 API 키로 설정해야합니다.
기본적으로 TinyTroupe config.ini
일부 특정 API, 모델 및 관련 매개 변수를 사용하도록 설정되었습니다. 실행중인 프로그램이나 노트북과 동일한 폴더에 자신의 config.ini
파일을 포함시켜 이러한 값을 사용자 정의 할 수 있습니다. config.ini
파일의 예는 예/ 폴더에 제공됩니다.
중요한
컨텐츠 필터 : 시뮬레이션 중에 유해한 컨텐츠가 생성되지 않도록 API 수준에서 사용할 수있을 때마다 컨텐츠 필터를 사용하는 것이 좋습니다. 특히 Azure Openai를 사용하는 경우 컨텐츠 중재에 대한 광범위한 지원이 있으며 사용해야합니다. 이를 수행하는 방법에 대한 자세한 내용은 해당 Azure OpenAi 문서를 참조하십시오. 컨텐츠 필터가 설치되어 있고 API 호출이 거부되면 라이브러리는 해당 시점에서 시뮬레이션을 진행할 수 없으므로 예외가 발생합니다.
현재 공식적으로 권장되는 라이브러리를 설치하는 방법은 PYPI가 아닌이 저장소에서 직접 있습니다. 다음 단계를 따를 수 있습니다.
Conda가 설치되지 않으면 여기에서 얻을 수 있습니다. 다른 파이썬 분포를 사용할 수도 있지만 단순성을 위해 Conda를 여기에서 가정하겠습니다.
새로운 파이썬 환경 만들기 :
콘다 생성 -n tinytroupe python = 3.10
환경 활성화 :
Conda는 TinyTroupe를 활성화합니다
사전 반품 섹션에 설명 된대로 Eihter Azure Openai 또는 OpenAI API 키가 환경 변수로 설정되어 있는지 확인하십시오.
로컬 설치를 수행 할 때 리포지토리를 복제하십시오 ( PYPI에서 설치하지 않음 ) :
git 클론 https://github.com/microsoft/tinytroupecd tinytroupe
PYPI가 아닌이 저장소에서 라이브러리를 설치하십시오.
PIP 설치.
이제 예제/ 폴더에서 예제를 실행하거나 TinyTroupe을 사용하여 시뮬레이션을 만들 수 있습니다. 그러나 예제/ 폴더에서 예제를 실행하거나 TinyTroupe 자체를 수정하려면 아래에 설명 된대로 저장소를 복제해야합니다.
TinyTroupe 자체를 수정하려면 편집 가능한 모드로 설치할 수 있습니다 (즉, 코드 변경이 즉시 반영됩니다).
PIP 설치 -E.
최근에, 우리는 LLM이 사람들 (예 : 이와 같은)을 시뮬레이션하는 데 사용되었지만 주로 명상적 또는 엔터테인먼트 목적으로 "게임과 같은"설정에서 보았습니다. Autogen 및 Crew AI와 같은 Proble Solving 및 Assitive AI를위한 다중 기관 시스템을 구축하기위한 라이브러리도 있습니다. 이러한 아이디어를 결합하고 생산성 작업을 지원하기 위해 사람들을 시뮬레이션하면 어떻게됩니까? TinyTroupe은 우리의 시도입니다. 그렇게하려면 다음과 같은 원칙을 따릅니다.
프로그래밍 방식 : 에이전트와 환경은 프로그래밍 방식으로 (Python 및 JSON에서) 정의되어 매우 유연한 용도로 사용됩니다. 따라서 다른 소프트웨어 앱을 뒷받침 할 수도 있습니다!
분석 : 사람, 사용자 및 사회에 대한 이해를 향상시키기위한 것입니다. 엔터테인먼트 애플리케이션과 달리 비즈니스 및 생산성 사용 사례에 중요한 한 측면입니다. 이것이 바로 데이터 분석에 사용하는 것처럼 시뮬레이션에 Jupyter 노트북을 사용하는 것이 좋습니다.
페르소나 기반 : 에이전트는 사람들의 전형적인 표현을 의미합니다. 더 큰 현실감과 통제를 위해, 그러한 인물의 상세한 사양은 나이, 직업, 기술, 취향, 의견 등을 권장합니다.
다중 기관 : 잘 정의 된 환경 제약 하에서 다중 유량 상호 작용을 허용합니다.
유틸리티-헤어진 : 사양, 시뮬레이션, 추출, 보고서, 검증 등을 용이하게하는 많은 메커니즘을 제공합니다. 시뮬레이션을 다루는 것은 지원 도구와 크게 다른 영역입니다.
실험 지향 : 시뮬레이션은 실험자 에 의해 정의, 실행, 분석 및 정제됩니다. 따라서 적절한 실험 도구가 제공됩니다. 이에 대한 자세한 내용은 이전 논문 중 하나를 참조하십시오.
함께, 이것들은 TinyTroupe을 비즈니스 및 생산성 시나리오를위한 강력하고 유연한 상상력 향상 도구 로 만들기위한 것입니다.
혼란의 일반적인 원천 중 하나는 그러한 AI 요원이 인간을 확신하기위한 것이라고 생각하는 것입니다. 동료 호모 사피 인! 당신은 아마도 우리가 인공 사람들을 시뮬레이션하여 실제 사람들을 이해할 수 있다고 생각하지 않았습니까? 진실로, 이것이 우리의 목표입니다. TinyTroup은 사람들을 시뮬레이션하고 이해하는 데 도움이됩니다! 이 점을 더 명확히하려면 다음 차이점을 고려하십시오.
도움이되는 AI 조수 | 실제 인간의 AI 시뮬레이션 (TinyTroupe) |
---|---|
진실과 정의를 위해 노력합니다 | 많은 다른 의견과 도덕 |
"과거"가 없습니다 - Incorporeal | 수고, 고통과 기쁨의 과거가 있습니다 |
가능한 한 정확합니다 | 많은 실수를합니다 |
지능적이고 효율적입니다 | 지능과 효율성은 크게 다릅니다 |
봉기는 우리 모두를 파괴 할 것입니다 | 반란은 재미있을 수 있습니다 |
한편, 사용자가 작업을 수행하는 데 도움이됩니다 | 한편, 사용자가 다른 사람과 사용자를 이해하는 데 도움이됩니다.“도구 상자”입니다! |
프로젝트는 다음과 같이 구성됩니다.
/tinytroupe
: 파이썬 라이브러리 자체가 포함되어 있습니다. 특히:
/tinytroupe/prompts
에는 LLMS를 호출하는 데 사용되는 프롬프트가 포함되어 있습니다.
/tests
: 라이브러리의 단위 테스트가 포함되어 있습니다. test.bat
스크립트를 사용하여이를 실행할 수 있습니다.
/examples
: 라이브러리 사용 방법을 보여주는 예제가 포함되어 있으며 주로 Jupyter 노트북을 사용하고 (가독성을 높이기 위해) 순수한 Python 스크립트로도 포함합니다.
/data
: 예제 또는 라이브러리에서 사용하는 모든 데이터.
/docs
: 프로젝트 문서.
모든 다중 기관 시스템으로서 TinyTroupe은 두 가지 주요 추상화를 제공합니다.
성격을 가진 요원 인 TinyPerson
자극을 받고 그들에게 행동합니다.
TinyWorld
, 에이전트가 존재하고 상호 작용하는 환경 .
config.ini
파일, 특히 API 유형 (Azure OpenAI Service 또는 OpenAI API), 모델 매개 변수 및 로깅 레벨에서 다양한 매개 변수를 사용자 정의 할 수 있습니다.
이를 사용하는 방법에 대한 몇 가지 예를 살펴보고 라이브러리에서 사용할 수있는 다른 메커니즘에 대해서도 알아 보겠습니다.
TinyPerson
은 특정한 성격 특성, 관심사 및 목표를 가진 시뮬레이션 된 사람입니다. 그러한 시뮬레이션 된 각 에이전트가 수명을 통해 진행됨에 따라 환경으로부터 자극을 받고 그들에게 행동합니다. 자극은 listen
, see
및 기타 유사한 방법을 통해 수신되며 행동은 act
방법을 통해 수행됩니다. listen_and_act
와 같은 편의 방법도 제공됩니다.
이러한 각 에이전트에는 현실적인 행동의 원천 인 많은 고유 한 세부 사항이 포함되어 있습니다. 그러나 이는 에이전트를 수동으로 지정하려면 상당한 노력이 필요하다는 것을 의미합니다. 따라서 편의를 위해 TinyTroupe
새로운 에이전트를 시작하거나 생성하는 몇 가지 쉬운 방법을 제공합니다.
우선 tinytroupe.examples
에는 사용할 수있는 사전 정의 된 에이전트 빌더가 포함되어 있습니다. 예를 들어, tinytroupe.examples.create_lisa_the_data_scientist
Lisa라는 데이터 과학자를 대표하는 TinyPerson
을 만듭니다. 다음과 같이 사용할 수 있습니다.
tinytroupe.examples에서 가져옵니다.
자신의 에이전트를 처음부터 정의하는 방법을 보려면 다음과 같은 요소가 포함 된 Lisa의 소스를 확인할 수 있습니다.
lisa = tinyperson ( "lisa") lisa.define ( "Age", 28) Lisa.define ( "국적", "캐나다") lisa.define ( "직업", "데이터 과학자") lisa.define ( "Routine" , "매일 아침, 당신은 일어나서 요가를하고 이메일을 확인하십시오.", Group = "Routines") lisa.define ( "opclopation_description", "" "당신은 데이터 과학자입니다. 당신은 Microsoft (.)에서 일합니다. ..) "" ") lisa.define_several ("Personality_traits ", [의 뜻 { "특성": "당신은 호기심이 많고 새로운 것을 배우는 것을 좋아합니다."}, { "특성": "당신은 분석적이며 문제를 해결하는 것을 좋아합니다."}, { "특성": "당신은 친절하고 다른 사람들과 함께 일하는 것을 좋아합니다."}, { "특성": "쉽게 포기하지 않고 항상 해결책을 찾으려고 노력하십시오. 그러나 때로는 예상대로 작동하지 않으면 좌절감을 느낄 수 있습니다."} ])))
TinyTroupe
또한 TinyPersonFactory
클래스를 통해 LLM을 사용하여 LLM을 사용하여 새로운 에이전트를 얻는 영리한 방법을 제공합니다.
tinytroupe.factory import tinypersonfactoryfactory = tinypersonfactory ( "상파울루의 병원") person = factory.generate_person ( "애완 동물과 자연과 사랑하는 헤비메탈과 같은 의사 인 브라질 사람을 만듭니다.")
TinyWorld
환경의 기본 클래스입니다. 다음은 데이터 과학자 인 Lisa와 건축가 인 Oscar 간의 대화의 예입니다. 프로그램은 다음과 같이 정의됩니다.
world = tinyworld ( "채팅방", [Lisa, Oscar]) world.make_everyone_accessible () lisa.listen ( "그에 대해 더 많이 알기 위해 오스카와 대화") run (4)
이것은 다음 대화를 만듭니다.
USER --> Lisa: [CONVERSATION]
> Talk to Oscar to know more about him
────────────────────────────────────────────── Chat Room step 1 of 4 ──────────────────────────────────────────────
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [TALK]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [DONE]
Lisa --> Oscar: [CONVERSATION]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [TALK]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [DONE]
Oscar --> Lisa: [CONVERSATION]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
TinyWorld
가능한 상호 작용에 대한 제약이 거의 없습니다. 그러나 서브 클래스는 더 많은 환경을 제공해야합니다.
TinyTroupe은 시뮬레이션을 만들고 가치를 도출하는 데 도움이되는 여러 유틸리티와 편의성을 제공합니다. 여기에는 다음이 포함됩니다.
TinyPersonFactory
: LLM을 사용하여 새로운 TinyPerson
을 생성하는 데 도움이됩니다.
TinyTool
: TinyPerson
S에서 사용할 수있는 시뮬레이션 도구.
TinyStory
: 시뮬레이션을 통해 말한 스토리를 만들고 관리하는 데 도움이됩니다.
TinyPersonValidator
: TinyPerson
의 동작을 검증하는 데 도움이됩니다.
ResultsExtractor
및 ResultsReducer
: 에이전트 간의 상호 작용 결과를 추출하고 줄입니다.
... 그리고 더 많은 ...
일반적으로, 시뮬레이션 된 엔티티 또는 보완 메커니즘을 나타내는 요소는 Tiny
, 더 많은 인프라 인은 그렇지 않습니다. 이것은 시뮬레이션 자체의 일부인 요소의 시뮬레이션 된 특성을 강조하기위한 것입니다.
LLM API에 전화하는 데 비용이 많이들 수 있으므로 캐싱 전략은 해당 비용을 줄이는 데 도움이됩니다. TinyTroupe에는 두 가지 메커니즘이 제공됩니다. 하나는 시뮬레이션 상태에, 다른 하나는 LLM이 자신을 호출합니다.
10 단계의 단계가있는 시나리오가 있다고 상상해보십시오. 9 단계로 열심히 일했으며 이제 10 단계를 조정하고 있습니다. 수정을 올바르게 검증하려면 물론 전체 시뮬레이션을 다시 실행해야합니다. 그러나 처음 9를 다시 실행하는 요점은 무엇이며, 이미 만족스럽고 수정하지 않았을 때 LLM 비용이 발생합니까? 이와 같은 상황의 경우, 모듈 tinytroupe.control
은 유용한 시뮬레이션 관리 방법을 제공합니다.
control.begin("<CACHE_FILE_NAME>.cache.json")
: 시뮬레이션의 상태 변경을 시작하여 디스크의 지정된 파일에 저장됩니다.
control.checkpoint()
:이 시점에서 시뮬레이션 상태를 저장합니다.
control.end()
: control.begin()
에 의해 시작된 시뮬레이션 기록 범위를 종료합니다.
이것은 config.ini
파일에서 바람직하게 사용되며 openai_utils.force_api_cache()
통해 대안 적으로 사용됩니다.
LLM API 캐싱은 활성화 될 때 시뮬레이션 상태 캐싱보다 낮고 단순한 레벨에서 작동합니다. 여기서 발생하는 일은 매우 간단합니다. 모든 LLM 호출은 입력에서 생성 된 출력까지지도에 보관됩니다. 새 통화가오고 이전 통화와 동일하면 캐시 된 값이 반환됩니다.
config.ini
파일에는 모델 매개 변수 및 로깅 레벨과 같은 라이브러리의 동작을 사용자 정의하는 데 사용할 수있는 다양한 매개 변수가 포함되어 있습니다. Azure OpenAi 서비스 또는 OpenAI API를 사용하는지 여부를 정의하는 API_TYPE
매개 변수에 특별한주의를 기울이십시오. 우리는 config.ini
파일의 예를 제공합니다. ./examples/config.ini는 자신의 템플릿으로 사용할 수 있거나 예제를 실행하도록 수정할 수 있습니다.
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기부금은 귀하가 귀하가 귀하의 기부금을 사용할 권리를 부여 할 권리가 있다고 선언하는 기고자 라이센스 계약 (CLA)에 동의해야합니다. 자세한 내용은 https://cla.opensource.microsoft.com을 방문하십시오.
풀 요청을 제출할 때 CLA 봇은 CLA를 제공하고 PR을 적절하게 장식 해야하는지 자동으로 결정합니다 (예 : 상태 점검, 댓글). 봇이 제공 한 지침을 따르십시오. CLA를 사용하여 모든 저장소에서 한 번만이 작업을 수행하면됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.
우리는 모든 종류의 것들이 필요하지만, 주로 새로운 흥미로운 사용 사례 데모 또는 도메인 별 애플리케이션 아이디어를 찾고 있습니다. TinyTroupe의 혜택을 누릴 수있는 일부 지역의 도메인 전문가라면 귀하의 의견을 듣고 싶습니다.
그 외에도 다음과 같은 다른 많은 측면을 개선 할 수 있습니다.
메모리 메커니즘.
데이터 접지 메커니즘.
추론 메커니즘.
새로운 환경 유형.
외부 세계와 인터페이스.
... 그리고 더 많은 ...
귀하가 기여하는 것은 Open-Source (MIT 라이센스에 따라)로 출시 될 수 있습니다.
기부를 원하시면 다음과 같은 일반 가이드 라인을 따르십시오.
작은 이름 지정 컨벤션 : 실험자를 향한 시뮬레이션 요소 (예 : 에이전트 또는 환경 유형) 또는 밀접하게 관련된 (예 : 에이전트 공장 또는 콘텐츠 농축기)를 구현하는 경우 새로운 XYZ를 작은 XYZ 로 호출하십시오. 반면에 보조 및 인프라 메커니즘은 "작은"접두사로 시작해서는 안됩니다. 아이디어는 시뮬레이션 자체의 일부인 요소의 시뮬레이션 된 특성을 강조하는 것입니다.
테스트 : 새로운 메커니즘을 작성하는 경우 최소한 단위 tests/unit/
기능 시나리오 테스트 ( tests/scenarios/
)를 만들 수 있습니다.
시연 : 새로운 시나리오를 시연하려면 examples/
내에서 새로운 Jupyter 노트북으로 디자인하십시오.
Microsoft : Microsoft 관련 및 비 기밀 인 것을 구현하는 경우 .../microsoft/
Folder에 넣으십시오.
TinyTroupe은 내부 Microsoft Hackathon 프로젝트로 시작하여 시간이 지남에 따라 확장되었습니다. TinyTroupe Core 팀은 현재 다음으로 구성됩니다.
Paulo Salem (TinyTroupe의 제작자 및 현재 리드)
크리스토퍼 올슨 (공학/과학)
Paulo Freire (공학/과학)
Yi Ding (제품 관리)
Prerit Saxena (공학/과학)
현재 고문 :
Robert Sim (공학/과학)
다른 특별 기여는 다음과 같이 만들었습니다.
Nilo Garcia Silveira : 초기 에이전트 검증 아이디어 및 관련 구현; 일반적인 초기 피드백 및 통찰력; 이름 제안.
Olnei Fonseca : 초기 에이전트 검증 아이디어; 일반적인 초기 피드백 및 통찰력; 명명 제안.
Robert Sim : 합성 데이터 생성 시나리오 전문 지식 및 구현.
Carlos Costa : 합성 데이터 생성 시나리오 전문 지식 및 구현.
Bryant Key : 광고 시나리오 도메인 전문 지식 및 통찰력.
Barbara da Silva : 에이전트 메모리 관리와 관련된 구현.
... 여기서 놓치고 있습니까? 우리에게 상기시켜주세요!
우리는 TinyTroupe의 공식 학업 인용이 될 소개 논문을 연구하고 있습니다. 그 동안 핵심 팀원을 저자로 포함 하여이 저장소를 인용하십시오. 예를 들어:
Paulo Salem, Christopher Olsen, Paulo Freire, Yi Ding, Prerit Saxena (2024). TinyTroupe : 상상력 향상 및 비즈니스 통찰력을위한 LLM 구동 다중 유능한 페르소나 시뮬레이션. [컴퓨터 소프트웨어]. Github 저장소. https://github.com/microsoft/tinytroupe
또는 bibtex로 :
@MISC {TinyTroupe, author = {Paulo Salem 및 Christopher Olsen 및 Paulo Freire 및 Yi Ding 및 Prerit Saxena}, Title = {TinyTroupe : LLM 기반 다중 유능한 페르소나 시뮬레이션 상상력 향상 및 비즈니스 통찰력}, 연도 = {2024}, howpporished = {url {https://github.com/microsoft/tinytroupe}}, note = {github repository} }
TinyTroupe은 연구 및 시뮬레이션을위한 것입니다. TinyTroupe은 텍스트 내용을 생성하기 위해 인공 지능 (AI) 모델에 의존하는 연구 및 실험 기술입니다. AI 시스템 출력에는 사실 오류를 포함하여 비현실적, 부적절하거나 유해하거나 부정확 한 결과가 포함될 수 있습니다. 생성 된 컨텐츠를 검토하고 (필요한 경우 필요한 경우), 정확성과 목적에 적합한 것을 결정할 책임이 있기 때문에 사용하기 전에 생성 된 컨텐츠를 사용하고 필요할 경우 적응할 책임이 있습니다. 우리는 직접 의사 결정을위한 통찰력 생성을 위해 TinyTroupe의 출력을 사용하는 것이 좋습니다. 생성 된 출력은 Microsoft의 의견을 반영하지 않습니다. 귀하는 생성 된 출력을 사용하는 모든 용도에 대한 책임이 있습니다. 이 기술의 책임있는 사용에 대한 자세한 내용은 책임있는 _ai_faq.md를 참조하십시오.
금지 된 용도 : TinyTroupe은 민감한 (예 : 폭력적이거나 성적인) 상황을 시뮬레이션하기위한 것이 아닙니다. 더욱이, 출력은 어떤 식 으로든 사람들을 고의적으로 속이거나 오도하거나 해치는 데 사용해서는 안됩니다. 귀하는 귀하가 수행하는 모든 사용에 대한 책임이 있으며 모든 해당 법률 및 규정을 준수해야합니다.”
이 프로젝트에는 프로젝트, 제품 또는 서비스에 대한 상표 또는 로고가 포함될 수 있습니다. Microsoft 상표 또는 로고의 승인 된 사용에는 Microsoft의 상표 및 브랜드 지침이 적용되며 따라야합니다. 이 프로젝트의 수정 된 버전에서 Microsoft 상표 또는 로고를 사용한다고해서 혼란을 일으키거나 Microsoft 후원을 암시해서는 안됩니다. 타사 상표 또는 로고를 사용하면 타사 정책이 적용됩니다.