AI-powered agent for help find matching CDD fields or add new fields
-
Install Python 3.13.x.
-
Clone the repository: git clone https://github.com/moodysanalytics/cdd-agent.
-
Make a copy of .env.example in the root of the directory and name it '.env'
- Contact the lead developer for the values for all fields that have 'XXX'
- Ex. 'AZURE_OPENAI_API_KEY'
-
Create a virtual environment using python 3.13:
- C:\Users\YOUR_USERNAME_HERE\AppData\Local\Programs\Python\Python313\python.exe -m venv C:\venvs\cdd-agent
- MAKE SURE TO REPLACE YOUR_USERNAME_HERE ^^
-
Activate the virtual environment:
- On Windows: .\venv\Scripts\activate.
- C:\venvs\cdd-agent\Scripts\activate
- On Windows: .\venv\Scripts\activate.
-
Install dependencies from requirements:
- pip install -r requirements.txt
-
Launch API Locally
-
Navigate to the root of the directory in command prompt and run
- python -m scripts.start_server
-
Open the API documentation: http://localhost:5000/cdd-agent/web
-
-
For questions or concerns during setup, please reach out to logan.mcnulty@moodys.com.
- Make sure docker is running
- Navigate to root of the project 'cdd-agent' in command prompt
- docker build -t cdd-agent .
- docker run --env-file .env -d --name cdd-agent-container -p 5000:5000 cdd-agent
- Open docker desktop app and see that the image is running in the 'Containers' tab
- Navigate to http://localhost:5000/cdd-agent/web
- Make sure have a valid SSO token from
- grant_type = client_credentials
- Fill in these credentials and submit
- clientID
- clientSecret
This AI-powered application maps application fields to existing CDD (Common Data Dictionary) fields or creates new field suggestions.
Bulk Processing:
- Upload an Excel file with a "fields_to_map" tab containing: field_name, cdd_confirmed, context_definition, and cdd_best_guess columns
- The system processes each field by searching existing CDD database for matches
- Users can accept suggested matches or request new field creation
- New field suggestions are saved to a "new_suggested_fields" tab for wiki submission
- Download the updated file with all mappings and suggestions
Single Field Processing:
- Manually input a field name and context for individual field mapping
Feedback System:
- Provide feedback at any point to improve matching accuracy or new field suggestions