【English | Chinese | Japanese | Korean | Filipino | French | Slovak | Portuguese | Spanish | Dutch | Turkish | Hindi | Bahasa Indonesia | Russian | Urdu】
【📚 Wiki | 🚀 Lokale Demo | 👥 Community Gebouwde Software | 🔧 Aanpassing】
- ChatDev fungeert als een virtueel softwarebedrijf dat werkt met verschillende intelligente agenten die verschillende rollen vervullen, waaronder Chief Executive Officer , Chief Product Officer , Chief Technology Officer , programmeur , recensent , tester , kunstontwerper . Deze agenten vormen een multi-agent organisatiestructuur en zijn verenigd door een missie om "de digitale wereld te revolutioneren door middel van programmeren." De agenten binnen ChatDev werken samen door deel te nemen aan gespecialiseerde functionele seminars, waaronder taken zoals ontwerpen, coderen, testen en documenteren.
- Het primaire doel van ChatDev is het aanbieden van een eenvoudig te gebruiken, zeer aanpasbaar en uitbreidbaar framework, dat is gebaseerd op grote taalmodellen (LLM's) en dient als een ideaal scenario voor het bestuderen van collectieve intelligentie.
- 25 september 2023: De Git-functie is nu beschikbaar, waardoor de programmeur GitHub kan gebruiken voor versiebeheer. Om deze functie in te schakelen, stelt u eenvoudigweg
"git_management"
in op"True"
inChatChainConfig.json
. - 20 september 2023: De Human-Agent-Interaction-modus is nu beschikbaar! U kunt deelnemen aan het ChatDev-team door de rol van recensent te spelen en suggesties te doen aan de programmeur ; probeer
python3 run.py --task [beschrijving_van_uw_idee] --configuratie "Human"
. Zie handleiding en voorbeeld. - 1 september 2023: De Art-modus is nu beschikbaar! U kunt de ontwerpagent activeren om afbeeldingen te genereren die in de software worden gebruikt; probeer
python3 run.py --task [beschrijving_van_uw_idee] --configuratie "Art"
. Zie handleiding en voorbeeld. - 28 augustus 2023: Het systeem is nu openbaar beschikbaar.
- 17 augustus 2023: De v1.0.0-versie was gereed voor release.
- 30 juli 2023: Gebruikers kunnen ChatChain-, Fase- en Rolvermeldingen aanpassen. Bovendien worden zowel online Log-modus als herhalingsmodus ondersteund.
- 16 juli 2023: Het voorlopige paper dat aan dit project is gekoppeld, is gepubliceerd.
- 30 juni 2023: De eerste versie van het ChatDev-repository werd uitgebracht.
demo.mp4
Om aan de slag te gaan, volg deze stappen:
- Kloon de GitHub Repository: Begin met het klonen van de repository met het volgende commando:
git clone https://github.com/OpenBMB/ChatDev.git
- Stel uw Python-omgeving in: Zorg ervoor dat u een Python-omgeving van versie 3.9 of hoger heeft. U kunt deze omgeving maken en activeren met de volgende opdrachten, waarbij u 'ChatDev_conda_env' vervangt door uw gewenste omgevingsnaam:
conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env
- Installeer de benodigde afhankelijkheden: Ga naar de
ChatDev
-directory en installeer de benodigde afhankelijkheden door het volgende commando uit te voeren:cd ChatDev pip3 install -r requirements.txt
- Stel uw OpenAI API-sleutel in: Exporteer uw OpenAI API-sleutel als een omgevingsvariabele. Vervang
"uw_OpenAI_API-sleutel"
door uw daadwerkelijke API-sleutel. Onthoud dat deze omgevingsvariabele sessiespecifiek is, dus u moet deze opnieuw instellen als u een nieuwe terminalsessie opent. Op Unix/Linux:Op Windows:export OPENAI_API_KEY="uw_OpenAI_API-sleutel"
$env:OPENAI_API_KEY="uw_OpenAI_API-sleutel"
- Bouw uw software: Gebruik het volgende commando om het bouwen van uw software te starten, waarbij u '[beschrijving_van_uw_idee]' vervangt door de beschrijving van uw idee en '[projectnaam]' door uw gewenste projectnaam:
Op Unix/Linux:
Op Windows:
python3 run.py --task "[beschrijving_van_uw_idee]" --naam "[projectnaam]"
python run.py --taak "[beschrijving_van_uw_idee]" --naam "[projectnaam]"
- Voer uw software uit: Zodra gegenereerd, kunt u uw software vinden in de
WareHouse
-directory onder een specifieke projectmap, zoalsprojectnaam_DefaultOrganization_timestamp
. Voer uw software uit met het volgende commando binnen die directory: Op Unix/Linux:Op Windows:cd WareHouse/projectnaam_DefaultOrganization_timestamp python3 main.py
cd WareHouse/projectnaam_DefaultOrganization_timestamp python main.py
Voor meer gedetailleerde informatie, verwijzen wij u graag naar onze Wiki, waar u kunt vinden:
- Een inleiding tot alle commando-uitvoeringsparameters.
- Een eenvoudige handleiding voor het opzetten van een lokale webdemo, inclusief verbeterde visuele logs, een herhalingdemo en een eenvoudige ChatChain Visualizer.
- Een overzicht van het ChatDev-framework.
- Een uitgebreide introductie tot alle geavanceerde parameters in de ChatChain-configuratie.
- Handleidingen voor het aanpassen van ChatDev, inclusief:
- ChatChain: Ontwerp uw eigen softwareontwikkelingsproces (of elk ander proces), zoals
DemandAnalysis -> Codering -> Testen -> Handmatig
. - Fase: Ontwerp uw eigen fase binnen ChatChain, zoals
DemandAnalysis
. - Rol: Definieer de verschillende agenten in uw bedrijf, zoals de
Chief Executive Officer
.
- ChatChain: Ontwerp uw eigen softwareontwikkelingsproces (of elk ander proces), zoals
Code: We zijn enthousiast over je interesse om deel te nemen aan ons open-source project. Als je ergens problemen tegenkomt, aarzel dan niet om ze te melden. Voel je vrij om een pull-aanvraag te maken als je vragen hebt of als je bereid bent je werk met ons te delen! Jouw bijdragen worden zeer gewaardeerd. Laat me weten als er iets is waarbij je hulp nodig hebt!
Bedrijf: Het creëren van je eigen aangepaste "ChatDev-bedrijf" is een fluitje van een cent. Deze gepersonaliseerde opstelling omvat drie eenvoudige configuratie-JSON-bestanden. Bekijk het voorbeeld in de map CompanyConfig/Default
. Voor gedetailleerde instructies over aanpassing, verwijzen wij naar onze Wiki.
Software: Telkens wanneer je software ontwikkelt met ChatDev, wordt er een overeenkomstige map gegenereerd met alle essentiële informatie. Je werk met ons delen is net zo eenvoudig als een pull-aanvraag maken. Hier is een voorbeeld: voer het commando uit python3 run.py --task "ontwerp een 2048 spel" --naam "2048" --org "THUNLP" --configuratie "Default"
. Hiermee maak je een softwarepakket en genereert een map met de naam /WareHouse/2048_THUNLP_timestamp
. Daarin vind je:
- Alle bestanden en documenten met betrekking tot de 2048-game-software
- Configuratiebestanden van het bedrijf dat verantwoordelijk is voor deze software, inclusief de drie JSON-configuratiebestanden uit
CompanyConfig/Default
- Een uitgebreid logboek met details over het bouwproces van de software, dat kan worden gebruikt voor herhaling (
timestamp.log
) - De oorspronkelijke prompt die is gebruikt om deze software te maken (
2048.prompt
)
Bekijk door de gemeenschap bijgedragen software hier!
@misc{qian2023communicative,
title={Communicative Agents for Software Development},
author={Chen Qian and Xin Cong and Wei Liu and Cheng Yang and Weize Chen and Yusheng Su and Yufan Dang and Jiahao Li and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2307.07924},
archivePrefix={arXiv},
primaryClass={cs.SE}
}
@misc{qian2023experiential,
title={Experiential Co-Learning of Software-Developing Agents},
author={Chen Qian and Yufan Dang and Jiahao Li and Wei Liu and Weize Chen and Cheng Yang and Zhiyuan Liu and Maosong Sun},
year={2023},
eprint={2312.17025},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
- Licentie voor Broncode: De broncode van ons project valt onder de Apache 2.0-licentie. Deze licentie staat het gebruik, de aanpassing en de verspreiding van de code toe, met inachtneming van bepaalde voorwaarden zoals uiteengezet in de Apache 2.0-licentie.
- Licentie voor Gegevens: De gerelateerde gegevens die in ons project worden gebruikt, vallen onder de CC BY-NC 4.0-licentie. Deze licentie staat uitdrukkelijk het niet-commerciële gebruik van de gegevens toe. Wij willen benadrukken dat modellen die met behulp van deze datasets zijn getraind, strikt moeten voldoen aan de beperkingen voor niet-commercieel gebruik en uitsluitend voor onderzoeksdoeleinden moeten worden ingezet.
Als je vragen hebt, feedback wilt geven, of contact met ons wilt opnemen, aarzel dan niet om ons te mailen op [email protected]