SimVC-CAS (Roleplay-Based Collective Agents) predicts early-stage startup financing outcomes by modeling venture capital decisions as a collective investor process rather than a single isolated decision.
The project currently releases conceptual code for the core multi-agent inference workflow, VC data processing notebooks, and VGAT training details. Data and additional implementation details are expected to be released after paper acceptance.
The paper frames startup success prediction as a group decision-making task. For a target startup, investor agents first make independent investment judgments from their own profiles and past experience. A graph-based interaction stage then lets agents reassess decisions using information from connected investors in the co-investment network.
The released code mirrors three components:
main.py: compatibility entry point for sequential role-play inference.simvc_cas/: packaged inference code, including graph helpers, prompt builders, API client wrapper, sequential runner, and threaded runner.VGAT_project/: virtual-node graph attention training code and graph data construction details.vc_data_process/: notebooks for VC graph construction and test data generation.
SimVC-CAS-main/
|-- main.py
|-- simvc_cas/
| |-- api.py
| |-- config.py
| |-- graph.py
| |-- prompts.py
| |-- runner.py
| |-- serialization.py
| `-- threaded_runner.py
|-- scripts/
| `-- multithread_inference.py
|-- VGAT_project/
| |-- VGAT.py
| `-- get_data.py
`-- vc_data_process/
|-- test_data_generate.ipynb
`-- vc_graph_buiuld.ipynb
main.py keeps the original execution style. Before running it, provide the same globals expected by the original script:
new_role_dictindex2idedge_details_dictprofile_dictnew_prompt_dict
python main.pyUse the threaded script with a Python context file that defines the same five globals. Each company is processed independently in a worker thread, while the per-company two-stage reasoning logic remains unchanged.
python scripts/multithread_inference.py --context path/to/context.py --workers 4Optional arguments:
--results-dir: output directory forgraph_investment_results.jsonandori_investment_results.json.--save-every: save interval by number of completed companies.
VGAT_project/VGAT.py contains the virtual-node GAT model, contrastive loss, training loop, evaluation metrics, and training curve plotting. VGAT_project/get_data.py contains the graph construction and PyTorch Geometric data generation process used by the VGAT component.
The API configuration placeholders are kept in simvc_cas/config.py. Fill in base_url and api_key values before running inference.