About this project

enrichment is a tool designed to add AI-generated columns to pandas DataFrames. Users can provide a natural language prompt to perform tasks such as sentiment analysis, data extraction, translation, categorization, or summarization on one or more columns of a table. Key capabilities include: - Simple API: Uses a single function to read input columns and create a new output column based on a text prompt. - Cost Optimization: Automatically avoids duplicate API calls for identical row values and supports batch processing for large datasets (50+ unique values) to reduce costs. - Provider Flexibility: Works with OpenAI by default and supports any provider compatible with the OpenAI Chat Completions format, including local models. - Robustness: Includes automatic retries for rate limits and server errors, and provides an option to keep failed rows as NA instead of stopping execution. - Monitoring: Optional execution reports provide details on token usage, completed rows, and errors. - Extensibility: Allows advanced users to implement custom provider interfaces.