SurveyEngineer is a proof-of-concept open-source tool designed to create and edit surveys using AI-driven prompts. It simplifies the process of survey generation by converting natural language input from the user into structured JSON data.
- AI-Powered Survey Creation: Automatically generate surveys from simple user descriptions using OpenAI's GPT-3.5.
- Multiple Question Types: Supports various question types including voice recording, multiple choice, free response, boolean, and sliders.
- Real-Time Survey Editing: Update and modify existing surveys based on user input while maintaining the original format.
- Web Interface: User-friendly web interface built with Flask to create and manage surveys.
- Python: All you need is an up-to-date installation of python on your machine, which you can install here
To install and run SurveyEngineer, follow these steps:
-
Clone the repository:
git clone https://github.com/nevolua/surveyengineer.git cd surveyengineer -
Install the required dependencies:
pip install -r requirements.txt
-
Fill in your OpenAI credentials on line 9 of main.py:
client = OpenAI(organization="", api_key="")
-
Start the application:
python main.py
- Access the Web Interface: Open your browser and navigate to
http://localhost:80to access the SurveyEngineer interface. - Create a Survey: Describe your survey and let the AI generate the JSON structure.
- Modify Surveys: Use the update functionality to make changes to your survey based on specific user inputs.
Here's an example of JSON data generated by the AI integration:
{
"survey_name": "Customer Feedback",
"questions": [
{
"prompt": "How satisfied are you with our service?",
"id": 1,
"type": "slider",
"slider_min": 1,
"slider_max": 10
},
{
"prompt": "Please provide additional comments.",
"id": 2,
"type": "free_response"
}
]
}