A dynamic conversational form assistant powered by PromptLayer that transforms traditional form-filling into natural conversations. This project enables organizations to create custom AI assistants that gather information through engaging dialogue rather than static forms.
Try out the application: Intake Agent Demo
Note: You'll need your own OpenAI API key to test the application.
- Dynamic Form Builder: Create custom forms with various field types and validation rules
- Conversational Interface: Natural language interaction for data collection
- Flexible Architecture: Adaptable to different organizational needs
- Frontend: Streamlit
- AI Orchestration: PromptLayer
- Language Models: OpenAI GPT
- Data Storage: Local JSON (agents.json)
- Python 3.11+
- PromptLayer API Key
- OpenAI API Key
- Clone the repository:
git clone https://github.com/Juandbalbi/intake-agent.git
cd intake-agent- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create a
.envfile with your API keys:
PROMPTLAYER_API_KEY=your_promptlayer_keyStart the Streamlit application:
streamlit run app.py- Navigate to the "Create New Agent" tab
- Name your agent and define its goal
- Add form fields with:
- Field name
- Data type
- Description
- Optional example values
- Click "Create Agent" to save
- Switch to the "Talk to Agent" tab
- Select your created agent
- Start the conversation
- The agent will naturally guide you through the form-filling process
intake-agent/
├── src/
│ ├── core/ # Core configuration
│ ├── models/ # Data models
│ ├── pages/ # Streamlit pages
│ ├── streaming/ # Streaming functionality
│ └── utils/ # Utility functions
├── app.py # Application entry point
└── agents.json # Agent storage
- Form Definition: Organizations define their data collection needs
- Agent Creation: System generates a specialized conversational agent
- Data Collection: Agent naturally gathers information through conversation
- Validation: Multi-step validation ensures data quality
- Storage: Validated data is stored in structured format
The project includes a comprehensive evaluation system through PromptLayer:
- Behavioral test cases
- Data validation scenarios
- Conversation flow testing
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- PromptLayer team for their platform and support
- Streamlit for the excellent UI framework
- OpenAI for their powerful language models
For support, please open an issue in the GitHub repository or contact the maintainers.