--- title: README emoji: 🦀 colorFrom: blue colorTo: yellow sdk: static pinned: true --- # Synthetic Patients ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6484c2be80f390fe86437928/vhfjTw_5GUpA_ksfOte9J.png) # Welcome Welcome to our repository. Here, we have a collection of files and links to share our work on generating a new type of virtual patient with artificial intelligence. ## Data - Patient profiles are available in the ```patient_profiles``` folder in this repository. - The underlying codebase for our application (excluding external packages) is available in the ```code``` folder of this repository. - To experiment with the platform and experience the realtime video chat applicaiton, we suggest using the containerized Docker version of the application. ## Links - Our preprint (link pending) - A low-resolution demo video is below. - [Video demonstration](alxgd.s3.amazonaws.com/demo.mp4) showcasing a prototype of our platform. - [Presentation](https://alx.gd/ase_presentation) from the 2024 Association of Surgical Education. # Installation To experiment with the realtime video chat application, you will need to run it locally. We have provided a [docker container](https://hub.docker.com/r/syntheticpatients/base) with the requirements. You will need: API keys for OpenAI and ElevenLabs to run this program; you will be prompted to provide them. You will need an account to both of these services to get the keys and will be charged for usage. These keys will only be stored within your instance of docker and will not be shared. To begin, make sure that you have Docker installed. Then, from your command-line, run: ``` docker pull syntheticpatients/base ``` This will take a significant amount of time to download, as it currently is around 8GB. Once this has been completed, you can run the script by executing the following in your terminal: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/synthetic-patients/install/main/run.sh)" ``` This will launch the synthetic patient server using your OpenAI and ElevenLabs API. Once the server has completed launching, direct your browser to http://localhost:5000/client to begin interacting. ## Notes - Because of docker's audio limitations, voice-recognition has been disabled. You will need to input text through a text field. - Depending on the computer running the server, response times may be quite slow (20-30 seconds on our consumer-grade machines).