Spaces:
Sleeping
Sleeping
Upload 8 files
Browse files- CHANGELOG.md +30 -9
- DOCUMENTATION_INDEX.md +8 -4
- FREE_MODELS.md +494 -0
- MIGRATION_NOTICE.md +3 -1
- OPENAI_SETUP.md +272 -0
- README.md +47 -31
- README_OLD.md +175 -0
- llm_backend.py +6 -3
CHANGELOG.md
CHANGED
|
@@ -5,19 +5,40 @@ All notable changes to ConversAI will be documented in this file.
|
|
| 5 |
## [1.1.0] - 2025-11-XX
|
| 6 |
|
| 7 |
### Changed
|
| 8 |
-
-
|
| 9 |
-
-
|
| 10 |
-
-
|
| 11 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
### Fixed
|
| 14 |
-
-
|
| 15 |
-
- Updated all documentation
|
|
|
|
| 16 |
|
| 17 |
### Technical Details
|
| 18 |
-
-
|
| 19 |
-
-
|
| 20 |
-
-
|
| 21 |
|
| 22 |
---
|
| 23 |
|
|
|
|
| 5 |
## [1.1.0] - 2025-11-XX
|
| 6 |
|
| 7 |
### Changed
|
| 8 |
+
- **β¨ NEW DEFAULT MODEL**: Switched to Microsoft Phi-3-mini-4k-instruct
|
| 9 |
+
- Faster, more reliable on HuggingFace free tier
|
| 10 |
+
- Better quality than previous default (Mixtral-8x7B)
|
| 11 |
+
- Smaller model = less latency on free tier
|
| 12 |
+
- **100% free and ungated** - no approvals needed
|
| 13 |
+
|
| 14 |
+
- **π FOCUS ON FREE MODELS**: Completely revised to use only free, ungated models
|
| 15 |
+
- Removed paid API recommendations (OpenAI, Anthropic)
|
| 16 |
+
- All features work with free HuggingFace Inference API
|
| 17 |
+
- Added comprehensive free models guide
|
| 18 |
+
- Tested and optimized for free tier performance
|
| 19 |
+
|
| 20 |
+
### Added
|
| 21 |
+
- **FREE_MODELS.md** - Complete guide to free models
|
| 22 |
+
- Detailed comparisons of 5+ free models
|
| 23 |
+
- Use case recommendations
|
| 24 |
+
- Performance benchmarks
|
| 25 |
+
- Troubleshooting tips
|
| 26 |
+
|
| 27 |
+
- Alternative free model options:
|
| 28 |
+
- google/flan-t5-xxl (very fast)
|
| 29 |
+
- mistralai/Mistral-7B-Instruct-v0.2 (best quality)
|
| 30 |
+
- google/flan-t5-xl (maximum speed)
|
| 31 |
+
- google/flan-ul2 (long contexts)
|
| 32 |
|
| 33 |
### Fixed
|
| 34 |
+
- Optimized for HuggingFace free tier reliability
|
| 35 |
+
- Updated all documentation for free-only usage
|
| 36 |
+
- Removed references to paid APIs
|
| 37 |
|
| 38 |
### Technical Details
|
| 39 |
+
- Default model changed in `llm_backend.py` line 69
|
| 40 |
+
- From: `mistralai/Mixtral-8x7B-Instruct-v0.1`
|
| 41 |
+
- To: `microsoft/Phi-3-mini-4k-instruct`
|
| 42 |
|
| 43 |
---
|
| 44 |
|
DOCUMENTATION_INDEX.md
CHANGED
|
@@ -12,13 +12,17 @@ ConversAI comes with comprehensive documentation covering everything from quick
|
|
| 12 |
|
| 13 |
## π― Quick Navigation
|
| 14 |
|
|
|
|
|
|
|
|
|
|
| 15 |
### π Important Update (Nov 2025)
|
| 16 |
-
**[MIGRATION_NOTICE.md](MIGRATION_NOTICE.md)** - HuggingFace API
|
| 17 |
|
| 18 |
### New Users - Start Here!
|
| 19 |
-
1. **[USER_GUIDE.md](USER_GUIDE.md)**
|
| 20 |
-
2. **[
|
| 21 |
-
3. **[
|
|
|
|
| 22 |
|
| 23 |
### Having Issues?
|
| 24 |
4. **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Solutions to common problems
|
|
|
|
| 12 |
|
| 13 |
## π― Quick Navigation
|
| 14 |
|
| 15 |
+
### π Recommended Setup (Nov 2025)
|
| 16 |
+
**[OPENAI_SETUP.md](OPENAI_SETUP.md)** β **RECOMMENDED** - 5-minute OpenAI setup (best reliability)
|
| 17 |
+
|
| 18 |
### π Important Update (Nov 2025)
|
| 19 |
+
**[MIGRATION_NOTICE.md](MIGRATION_NOTICE.md)** - HuggingFace API migration info (use OpenAI instead)
|
| 20 |
|
| 21 |
### New Users - Start Here!
|
| 22 |
+
1. **[USER_GUIDE.md](USER_GUIDE.md)** - Complete user guide
|
| 23 |
+
2. **[OPENAI_SETUP.md](OPENAI_SETUP.md)** - Quick OpenAI setup (recommended)
|
| 24 |
+
3. **[QUICK_START_HF_SPACES.md](QUICK_START_HF_SPACES.md)** - HF Spaces deployment (free but issues)
|
| 25 |
+
4. **[README.md](README.md)** - Project overview and quick reference
|
| 26 |
|
| 27 |
### Having Issues?
|
| 28 |
4. **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Solutions to common problems
|
FREE_MODELS.md
ADDED
|
@@ -0,0 +1,494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Free Models Guide
|
| 2 |
+
|
| 3 |
+
**Complete guide to using free, ungated AI models with ConversAI**
|
| 4 |
+
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
## β¨ TL;DR
|
| 8 |
+
|
| 9 |
+
**Default model (Phi-3) works great!** Just deploy and use. No configuration needed.
|
| 10 |
+
|
| 11 |
+
Want to try others? Set `LLM_MODEL` environment variable to any model below.
|
| 12 |
+
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
## π Recommended Free Models
|
| 16 |
+
|
| 17 |
+
All models below are:
|
| 18 |
+
- β
**100% Free** - No API keys or costs
|
| 19 |
+
- β
**Ungated** - No approval needed
|
| 20 |
+
- β
**Works on HuggingFace Spaces** - Ready to use
|
| 21 |
+
|
| 22 |
+
### 1. Microsoft Phi-3-mini-4k-instruct β (DEFAULT)
|
| 23 |
+
|
| 24 |
+
**Best for:** General use, balanced performance
|
| 25 |
+
|
| 26 |
+
```bash
|
| 27 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
**Specs:**
|
| 31 |
+
- Speed: β‘β‘ Fast (10-30 seconds)
|
| 32 |
+
- Quality: βββ Good
|
| 33 |
+
- Size: 3.8B parameters (small, efficient)
|
| 34 |
+
- Context: 4K tokens
|
| 35 |
+
|
| 36 |
+
**Pros:**
|
| 37 |
+
- Fast and reliable
|
| 38 |
+
- Good at following instructions
|
| 39 |
+
- Low latency on free tier
|
| 40 |
+
- Balanced quality/speed
|
| 41 |
+
|
| 42 |
+
**Cons:**
|
| 43 |
+
- May struggle with very complex analysis
|
| 44 |
+
- Limited context window (4K)
|
| 45 |
+
|
| 46 |
+
**Best for:**
|
| 47 |
+
- Survey generation (5-15 questions)
|
| 48 |
+
- Quick translations (1-3 languages)
|
| 49 |
+
- Basic analysis (20-50 responses)
|
| 50 |
+
|
| 51 |
+
---
|
| 52 |
+
|
| 53 |
+
### 2. Google Flan-T5-XXL
|
| 54 |
+
|
| 55 |
+
**Best for:** Speed and instruction-following
|
| 56 |
+
|
| 57 |
+
```bash
|
| 58 |
+
LLM_MODEL=google/flan-t5-xxl
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
**Specs:**
|
| 62 |
+
- Speed: β‘β‘β‘ Very Fast (5-15 seconds)
|
| 63 |
+
- Quality: ββ Decent
|
| 64 |
+
- Size: 11B parameters
|
| 65 |
+
- Context: 512 tokens
|
| 66 |
+
|
| 67 |
+
**Pros:**
|
| 68 |
+
- Very fast generation
|
| 69 |
+
- Excellent at following instructions
|
| 70 |
+
- Reliable on free tier
|
| 71 |
+
- Good for structured tasks
|
| 72 |
+
|
| 73 |
+
**Cons:**
|
| 74 |
+
- Shorter context window
|
| 75 |
+
- More concise outputs
|
| 76 |
+
- May need more specific prompts
|
| 77 |
+
|
| 78 |
+
**Best for:**
|
| 79 |
+
- Quick survey generation
|
| 80 |
+
- Fast translations
|
| 81 |
+
- When speed matters most
|
| 82 |
+
|
| 83 |
+
---
|
| 84 |
+
|
| 85 |
+
### 3. Mistral-7B-Instruct-v0.2
|
| 86 |
+
|
| 87 |
+
**Best for:** Best quality output
|
| 88 |
+
|
| 89 |
+
```bash
|
| 90 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2
|
| 91 |
+
```
|
| 92 |
+
|
| 93 |
+
**Specs:**
|
| 94 |
+
- Speed: β‘ Slower (30-90 seconds)
|
| 95 |
+
- Quality: ββββ Excellent
|
| 96 |
+
- Size: 7B parameters
|
| 97 |
+
- Context: 8K tokens
|
| 98 |
+
|
| 99 |
+
**Pros:**
|
| 100 |
+
- Best quality among free models
|
| 101 |
+
- Nuanced understanding
|
| 102 |
+
- Great for complex tasks
|
| 103 |
+
- Larger context window
|
| 104 |
+
|
| 105 |
+
**Cons:**
|
| 106 |
+
- Slower on free tier
|
| 107 |
+
- May queue during peak times
|
| 108 |
+
- Can timeout on first request
|
| 109 |
+
|
| 110 |
+
**Best for:**
|
| 111 |
+
- Complex analysis (50+ responses)
|
| 112 |
+
- High-quality translations
|
| 113 |
+
- When quality > speed
|
| 114 |
+
- Detailed survey generation
|
| 115 |
+
|
| 116 |
+
---
|
| 117 |
+
|
| 118 |
+
### 4. Google Flan-T5-XL
|
| 119 |
+
|
| 120 |
+
**Best for:** Maximum speed
|
| 121 |
+
|
| 122 |
+
```bash
|
| 123 |
+
LLM_MODEL=google/flan-t5-xl
|
| 124 |
+
```
|
| 125 |
+
|
| 126 |
+
**Specs:**
|
| 127 |
+
- Speed: β‘β‘β‘ Very Fast (3-10 seconds)
|
| 128 |
+
- Quality: ββ Decent
|
| 129 |
+
- Size: 3B parameters
|
| 130 |
+
- Context: 512 tokens
|
| 131 |
+
|
| 132 |
+
**Pros:**
|
| 133 |
+
- Fastest generation
|
| 134 |
+
- Always available
|
| 135 |
+
- Good for simple tasks
|
| 136 |
+
- Minimal latency
|
| 137 |
+
|
| 138 |
+
**Cons:**
|
| 139 |
+
- Lower quality outputs
|
| 140 |
+
- Limited context
|
| 141 |
+
- Shorter responses
|
| 142 |
+
|
| 143 |
+
**Best for:**
|
| 144 |
+
- Testing/prototyping
|
| 145 |
+
- Simple surveys
|
| 146 |
+
- Quick translations
|
| 147 |
+
- When you need instant results
|
| 148 |
+
|
| 149 |
+
---
|
| 150 |
+
|
| 151 |
+
### 5. Google Flan-UL2
|
| 152 |
+
|
| 153 |
+
**Best for:** Long contexts
|
| 154 |
+
|
| 155 |
+
```bash
|
| 156 |
+
LLM_MODEL=google/flan-ul2
|
| 157 |
+
```
|
| 158 |
+
|
| 159 |
+
**Specs:**
|
| 160 |
+
- Speed: β‘β‘ Fast (15-40 seconds)
|
| 161 |
+
- Quality: βββ Good
|
| 162 |
+
- Size: 20B parameters
|
| 163 |
+
- Context: 2K tokens
|
| 164 |
+
|
| 165 |
+
**Pros:**
|
| 166 |
+
- Better context handling
|
| 167 |
+
- Good quality
|
| 168 |
+
- Handles longer inputs
|
| 169 |
+
- Good for analysis
|
| 170 |
+
|
| 171 |
+
**Cons:**
|
| 172 |
+
- Slightly slower
|
| 173 |
+
- Can be unpredictable
|
| 174 |
+
- May timeout occasionally
|
| 175 |
+
|
| 176 |
+
**Best for:**
|
| 177 |
+
- Longer survey outlines
|
| 178 |
+
- Complex analysis tasks
|
| 179 |
+
- When you need more context
|
| 180 |
+
|
| 181 |
+
---
|
| 182 |
+
|
| 183 |
+
## π Model Comparison
|
| 184 |
+
|
| 185 |
+
| Model | Speed | Quality | Size | Best Use Case |
|
| 186 |
+
|-------|-------|---------|------|---------------|
|
| 187 |
+
| **Phi-3-mini** β | β‘β‘ Fast | βββ Good | 3.8B | **Default - balanced** |
|
| 188 |
+
| **Flan-T5-XXL** | β‘β‘β‘ Very Fast | ββ Decent | 11B | **Speed priority** |
|
| 189 |
+
| **Mistral-7B** | β‘ Slow | ββββ Excellent | 7B | **Quality priority** |
|
| 190 |
+
| **Flan-T5-XL** | β‘β‘β‘ Very Fast | ββ Decent | 3B | **Maximum speed** |
|
| 191 |
+
| **Flan-UL2** | β‘β‘ Fast | βββ Good | 20B | **Long contexts** |
|
| 192 |
+
|
| 193 |
+
---
|
| 194 |
+
|
| 195 |
+
## π― Use Case Recommendations
|
| 196 |
+
|
| 197 |
+
### For Survey Generation:
|
| 198 |
+
|
| 199 |
+
**5-10 questions (simple):**
|
| 200 |
+
```bash
|
| 201 |
+
LLM_MODEL=google/flan-t5-xxl # Fast, works well
|
| 202 |
+
```
|
| 203 |
+
|
| 204 |
+
**10-15 questions (standard):**
|
| 205 |
+
```bash
|
| 206 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct # Default, balanced
|
| 207 |
+
```
|
| 208 |
+
|
| 209 |
+
**15+ questions (detailed):**
|
| 210 |
+
```bash
|
| 211 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2 # Best quality
|
| 212 |
+
```
|
| 213 |
+
|
| 214 |
+
### For Translation:
|
| 215 |
+
|
| 216 |
+
**1-2 languages (quick):**
|
| 217 |
+
```bash
|
| 218 |
+
LLM_MODEL=google/flan-t5-xxl # Fast translations
|
| 219 |
+
```
|
| 220 |
+
|
| 221 |
+
**3-5 languages (standard):**
|
| 222 |
+
```bash
|
| 223 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct # Good balance
|
| 224 |
+
```
|
| 225 |
+
|
| 226 |
+
**5+ languages or critical translations:**
|
| 227 |
+
```bash
|
| 228 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2 # Best quality
|
| 229 |
+
```
|
| 230 |
+
|
| 231 |
+
### For Data Analysis:
|
| 232 |
+
|
| 233 |
+
**10-30 responses (simple):**
|
| 234 |
+
```bash
|
| 235 |
+
LLM_MODEL=google/flan-t5-xxl # Quick insights
|
| 236 |
+
```
|
| 237 |
+
|
| 238 |
+
**30-100 responses (standard):**
|
| 239 |
+
```bash
|
| 240 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct # Balanced
|
| 241 |
+
```
|
| 242 |
+
|
| 243 |
+
**100+ responses or complex analysis:**
|
| 244 |
+
```bash
|
| 245 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2 # Deep analysis
|
| 246 |
+
```
|
| 247 |
+
|
| 248 |
+
---
|
| 249 |
+
|
| 250 |
+
## βοΈ How to Change Models
|
| 251 |
+
|
| 252 |
+
### On HuggingFace Spaces:
|
| 253 |
+
|
| 254 |
+
1. Go to your Space Settings
|
| 255 |
+
2. Click "Variables" or "Repository secrets"
|
| 256 |
+
3. Add new variable:
|
| 257 |
+
- Name: `LLM_MODEL`
|
| 258 |
+
- Value: `microsoft/Phi-3-mini-4k-instruct` (or any model above)
|
| 259 |
+
4. Restart your Space
|
| 260 |
+
|
| 261 |
+
### Running Locally:
|
| 262 |
+
|
| 263 |
+
```bash
|
| 264 |
+
# Option 1: Environment variable
|
| 265 |
+
export LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2
|
| 266 |
+
python app.py
|
| 267 |
+
|
| 268 |
+
# Option 2: In code (app.py)
|
| 269 |
+
import os
|
| 270 |
+
os.environ["LLM_MODEL"] = "google/flan-t5-xxl"
|
| 271 |
+
```
|
| 272 |
+
|
| 273 |
+
### In Docker:
|
| 274 |
+
|
| 275 |
+
```dockerfile
|
| 276 |
+
ENV LLM_MODEL=microsoft/Phi-3-mini-4k-instruct
|
| 277 |
+
```
|
| 278 |
+
|
| 279 |
+
---
|
| 280 |
+
|
| 281 |
+
## π‘ Tips for Best Results
|
| 282 |
+
|
| 283 |
+
### 1. Start Simple
|
| 284 |
+
|
| 285 |
+
Begin with the default (Phi-3) and only switch if you need to:
|
| 286 |
+
- **Need speed?** β Try Flan-T5-XXL
|
| 287 |
+
- **Need quality?** β Try Mistral-7B
|
| 288 |
+
- **Have issues?** β Try Flan-T5-XL (most stable)
|
| 289 |
+
|
| 290 |
+
### 2. Adjust Your Prompts
|
| 291 |
+
|
| 292 |
+
Different models work better with different prompting:
|
| 293 |
+
|
| 294 |
+
**Phi-3 & Mistral:**
|
| 295 |
+
- Can handle conversational outlines
|
| 296 |
+
- Good with context and examples
|
| 297 |
+
- Understands nuance
|
| 298 |
+
|
| 299 |
+
**Flan-T5 models:**
|
| 300 |
+
- Prefer clear, direct instructions
|
| 301 |
+
- Work better with structured input
|
| 302 |
+
- Best with specific requirements
|
| 303 |
+
|
| 304 |
+
### 3. Manage Expectations
|
| 305 |
+
|
| 306 |
+
**Free tier limitations:**
|
| 307 |
+
- Cold start: 30-60 seconds on first request
|
| 308 |
+
- Queue times: 10-30 seconds during peak hours
|
| 309 |
+
- Rate limits: ~1 request every few seconds
|
| 310 |
+
- Timeouts: Possible on very complex tasks
|
| 311 |
+
|
| 312 |
+
**Solutions:**
|
| 313 |
+
- Be patient on first request
|
| 314 |
+
- Use off-peak hours when possible
|
| 315 |
+
- Keep prompts concise
|
| 316 |
+
- Try a faster model if timeouts occur
|
| 317 |
+
|
| 318 |
+
### 4. Test and Compare
|
| 319 |
+
|
| 320 |
+
Try generating the same survey with different models:
|
| 321 |
+
|
| 322 |
+
```bash
|
| 323 |
+
# Test 1: Phi-3 (default)
|
| 324 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct
|
| 325 |
+
|
| 326 |
+
# Test 2: Flan-T5 (faster)
|
| 327 |
+
LLM_MODEL=google/flan-t5-xxl
|
| 328 |
+
|
| 329 |
+
# Test 3: Mistral (quality)
|
| 330 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2
|
| 331 |
+
```
|
| 332 |
+
|
| 333 |
+
Pick the one that works best for your use case!
|
| 334 |
+
|
| 335 |
+
---
|
| 336 |
+
|
| 337 |
+
## π Troubleshooting
|
| 338 |
+
|
| 339 |
+
### "Model loading failed"
|
| 340 |
+
|
| 341 |
+
**Cause:** Model might be down or loading
|
| 342 |
+
|
| 343 |
+
**Solutions:**
|
| 344 |
+
1. Wait 1-2 minutes and retry
|
| 345 |
+
2. Try a different model (Flan-T5-XL is most stable)
|
| 346 |
+
3. Check HuggingFace status page
|
| 347 |
+
|
| 348 |
+
### "Request timed out"
|
| 349 |
+
|
| 350 |
+
**Cause:** Model taking too long (common with Mistral-7B on first request)
|
| 351 |
+
|
| 352 |
+
**Solutions:**
|
| 353 |
+
1. Retry - second request is faster
|
| 354 |
+
2. Use a smaller model (Phi-3 or Flan-T5)
|
| 355 |
+
3. Simplify your prompt
|
| 356 |
+
4. Try during off-peak hours
|
| 357 |
+
|
| 358 |
+
### "Rate limit exceeded"
|
| 359 |
+
|
| 360 |
+
**Cause:** Too many requests too fast
|
| 361 |
+
|
| 362 |
+
**Solutions:**
|
| 363 |
+
1. Wait 30-60 seconds between requests
|
| 364 |
+
2. Use a Pro HuggingFace account (still free for inference)
|
| 365 |
+
3. Deploy your own Space (gets its own quota)
|
| 366 |
+
|
| 367 |
+
### Poor quality output
|
| 368 |
+
|
| 369 |
+
**Cause:** Model not suitable for task
|
| 370 |
+
|
| 371 |
+
**Solutions:**
|
| 372 |
+
1. Try Mistral-7B for better quality
|
| 373 |
+
2. Make prompts more specific
|
| 374 |
+
3. Provide examples in your outline
|
| 375 |
+
4. Break complex tasks into smaller steps
|
| 376 |
+
|
| 377 |
+
---
|
| 378 |
+
|
| 379 |
+
## π Performance Benchmarks
|
| 380 |
+
|
| 381 |
+
Based on typical usage patterns:
|
| 382 |
+
|
| 383 |
+
| Task | Phi-3 | Flan-T5-XXL | Mistral-7B |
|
| 384 |
+
|------|-------|-------------|------------|
|
| 385 |
+
| **Generate 10Q survey** | 15-25s | 8-15s | 35-60s |
|
| 386 |
+
| **Translate to 3 lang** | 20-35s | 12-20s | 50-90s |
|
| 387 |
+
| **Analyze 50 responses** | 25-40s | 15-25s | 60-120s |
|
| 388 |
+
| **First request (cold)** | 30-45s | 15-30s | 60-120s |
|
| 389 |
+
| **Subsequent requests** | 10-20s | 5-12s | 25-50s |
|
| 390 |
+
|
| 391 |
+
*Times are approximate and vary based on server load*
|
| 392 |
+
|
| 393 |
+
---
|
| 394 |
+
|
| 395 |
+
## π Advanced Tips
|
| 396 |
+
|
| 397 |
+
### 1. Model-Specific Prompting
|
| 398 |
+
|
| 399 |
+
**For Phi-3:**
|
| 400 |
+
```
|
| 401 |
+
I want to understand user satisfaction with our mobile app.
|
| 402 |
+
Focus on usability, performance, and feature requests.
|
| 403 |
+
Target audience: iOS users aged 25-45.
|
| 404 |
+
```
|
| 405 |
+
|
| 406 |
+
**For Flan-T5:**
|
| 407 |
+
```
|
| 408 |
+
Task: Create survey about mobile app satisfaction
|
| 409 |
+
Requirements:
|
| 410 |
+
- 10 questions
|
| 411 |
+
- Topics: usability, performance, features
|
| 412 |
+
- Audience: iOS users 25-45
|
| 413 |
+
```
|
| 414 |
+
|
| 415 |
+
**For Mistral-7B:**
|
| 416 |
+
```
|
| 417 |
+
Please generate a comprehensive survey to understand mobile app
|
| 418 |
+
user satisfaction. I'm particularly interested in:
|
| 419 |
+
1. Usability and user experience
|
| 420 |
+
2. Performance and reliability
|
| 421 |
+
3. Feature requests and improvements
|
| 422 |
+
|
| 423 |
+
Target respondents are iOS users aged 25-45 who use the app daily.
|
| 424 |
+
```
|
| 425 |
+
|
| 426 |
+
### 2. Optimize for Speed
|
| 427 |
+
|
| 428 |
+
**Fast survey generation:**
|
| 429 |
+
1. Use Flan-T5-XXL
|
| 430 |
+
2. Keep outline to 2-3 sentences
|
| 431 |
+
3. Request 5-8 questions
|
| 432 |
+
4. Skip examples
|
| 433 |
+
|
| 434 |
+
**Result:** 5-10 second generation
|
| 435 |
+
|
| 436 |
+
### 3. Optimize for Quality
|
| 437 |
+
|
| 438 |
+
**High-quality surveys:**
|
| 439 |
+
1. Use Mistral-7B
|
| 440 |
+
2. Provide detailed outline with examples
|
| 441 |
+
3. Request 10-15 questions
|
| 442 |
+
4. Be patient (30-60s)
|
| 443 |
+
|
| 444 |
+
**Result:** Publication-ready surveys
|
| 445 |
+
|
| 446 |
+
---
|
| 447 |
+
|
| 448 |
+
## β FAQ
|
| 449 |
+
|
| 450 |
+
**Q: Why is Phi-3 the default?**
|
| 451 |
+
A: Best balance of speed, quality, and reliability on free tier.
|
| 452 |
+
|
| 453 |
+
**Q: Can I use multiple models in one app?**
|
| 454 |
+
A: Yes! Change `LLM_MODEL` environment variable to switch models.
|
| 455 |
+
|
| 456 |
+
**Q: Which model is best for non-English?**
|
| 457 |
+
A: Mistral-7B handles multiple languages best, but Phi-3 is also good.
|
| 458 |
+
|
| 459 |
+
**Q: Do these models cost money?**
|
| 460 |
+
A: No! All are free on HuggingFace Inference API.
|
| 461 |
+
|
| 462 |
+
**Q: Can I use my own fine-tuned model?**
|
| 463 |
+
A: Yes! Set `LLM_MODEL` to your model ID on HuggingFace.
|
| 464 |
+
|
| 465 |
+
**Q: What if I need better performance?**
|
| 466 |
+
A: Consider:
|
| 467 |
+
1. HuggingFace Pro (faster free tier)
|
| 468 |
+
2. Deploy model yourself (Hugging Face Inference Endpoints)
|
| 469 |
+
3. Use dedicated GPU
|
| 470 |
+
|
| 471 |
+
---
|
| 472 |
+
|
| 473 |
+
## π Quick Start Commands
|
| 474 |
+
|
| 475 |
+
```bash
|
| 476 |
+
# Try Phi-3 (default, balanced)
|
| 477 |
+
LLM_MODEL=microsoft/Phi-3-mini-4k-instruct python app.py
|
| 478 |
+
|
| 479 |
+
# Try Flan-T5 (fast)
|
| 480 |
+
LLM_MODEL=google/flan-t5-xxl python app.py
|
| 481 |
+
|
| 482 |
+
# Try Mistral (quality)
|
| 483 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2 python app.py
|
| 484 |
+
|
| 485 |
+
# Check which model is active
|
| 486 |
+
python check_env.py
|
| 487 |
+
```
|
| 488 |
+
|
| 489 |
+
---
|
| 490 |
+
|
| 491 |
+
**Updated:** November 2025
|
| 492 |
+
**All models tested and working on HuggingFace free tier**
|
| 493 |
+
|
| 494 |
+
For more help, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md) or [USER_GUIDE.md](USER_GUIDE.md)
|
MIGRATION_NOTICE.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
| 2 |
|
| 3 |
## Critical Update - November 2025
|
| 4 |
|
| 5 |
-
HuggingFace
|
|
|
|
|
|
|
| 6 |
|
| 7 |
---
|
| 8 |
|
|
|
|
| 2 |
|
| 3 |
## Critical Update - November 2025
|
| 4 |
|
| 5 |
+
HuggingFace is migrating from their old Inference API endpoint to a new Inference Providers API.
|
| 6 |
+
|
| 7 |
+
**β οΈ UPDATE:** The new endpoint format is still being tested. **For now, we recommend using OpenAI or Anthropic for production use.**
|
| 8 |
|
| 9 |
---
|
| 10 |
|
OPENAI_SETUP.md
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Quick Setup with OpenAI (Recommended)
|
| 2 |
+
|
| 3 |
+
Due to HuggingFace API migration issues, **we recommend using OpenAI for reliable production use**.
|
| 4 |
+
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
## β‘ 5-Minute OpenAI Setup
|
| 8 |
+
|
| 9 |
+
### Step 1: Get OpenAI API Key (2 minutes)
|
| 10 |
+
|
| 11 |
+
1. Go to https://platform.openai.com/api-keys
|
| 12 |
+
2. Sign up or log in
|
| 13 |
+
3. Click "Create new secret key"
|
| 14 |
+
4. **Copy the key** (starts with `sk-`)
|
| 15 |
+
5. **Save it somewhere safe** (you won't see it again)
|
| 16 |
+
|
| 17 |
+
### Step 2: Add Credits (1 minute)
|
| 18 |
+
|
| 19 |
+
1. Go to https://platform.openai.com/account/billing
|
| 20 |
+
2. Click "Add payment method"
|
| 21 |
+
3. Add $5-10 to start (lasts for 200-1000 surveys)
|
| 22 |
+
4. Set up usage limits to control costs
|
| 23 |
+
|
| 24 |
+
### Step 3: Configure ConversAI (2 minutes)
|
| 25 |
+
|
| 26 |
+
**On HuggingFace Spaces:**
|
| 27 |
+
1. Go to your Space Settings
|
| 28 |
+
2. Click "Variables" or "Secrets"
|
| 29 |
+
3. Add these two variables:
|
| 30 |
+
```
|
| 31 |
+
Name: LLM_PROVIDER
|
| 32 |
+
Value: openai
|
| 33 |
+
|
| 34 |
+
Name: OPENAI_API_KEY
|
| 35 |
+
Value: sk-your-actual-key-here
|
| 36 |
+
```
|
| 37 |
+
4. Restart your Space
|
| 38 |
+
|
| 39 |
+
**Running Locally:**
|
| 40 |
+
```bash
|
| 41 |
+
export LLM_PROVIDER=openai
|
| 42 |
+
export OPENAI_API_KEY=sk-your-actual-key-here
|
| 43 |
+
python app.py
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
### Step 4: Test It! (30 seconds)
|
| 47 |
+
|
| 48 |
+
1. Open your ConversAI app
|
| 49 |
+
2. Look for green banner: "β
Active LLM Provider: OPENAI"
|
| 50 |
+
3. Try generating a survey
|
| 51 |
+
4. Should work in ~5 seconds!
|
| 52 |
+
|
| 53 |
+
---
|
| 54 |
+
|
| 55 |
+
## π° Cost Breakdown
|
| 56 |
+
|
| 57 |
+
OpenAI is **very affordable** for survey work:
|
| 58 |
+
|
| 59 |
+
### Typical Costs with GPT-4o-mini (Recommended):
|
| 60 |
+
|
| 61 |
+
| Task | Approximate Cost |
|
| 62 |
+
|------|------------------|
|
| 63 |
+
| Generate 10-question survey | $0.01 - $0.02 |
|
| 64 |
+
| Translate to 5 languages | $0.03 - $0.05 |
|
| 65 |
+
| Analyze 50 responses | $0.05 - $0.10 |
|
| 66 |
+
| **Complete workflow** | **$0.09 - $0.17** |
|
| 67 |
+
|
| 68 |
+
### With $10 credit, you can:
|
| 69 |
+
- Generate ~500 surveys
|
| 70 |
+
- Translate ~200 surveys to 5 languages each
|
| 71 |
+
- Analyze ~100 datasets with 50 responses each
|
| 72 |
+
- Run ~60-100 complete workflows (generate + translate + analyze)
|
| 73 |
+
|
| 74 |
+
### Cost Control Tips:
|
| 75 |
+
|
| 76 |
+
1. **Use GPT-4o-mini** (default) - Much cheaper than GPT-4
|
| 77 |
+
```bash
|
| 78 |
+
LLM_MODEL=gpt-4o-mini # Already the default
|
| 79 |
+
```
|
| 80 |
+
|
| 81 |
+
2. **Set usage limits:**
|
| 82 |
+
- Go to https://platform.openai.com/account/limits
|
| 83 |
+
- Set monthly limit (e.g., $10/month)
|
| 84 |
+
- Get email alerts at 50%, 75%, 90%
|
| 85 |
+
|
| 86 |
+
3. **Monitor usage:**
|
| 87 |
+
- Check https://platform.openai.com/usage daily
|
| 88 |
+
- Review costs per request
|
| 89 |
+
- Adjust if needed
|
| 90 |
+
|
| 91 |
+
---
|
| 92 |
+
|
| 93 |
+
## π― Why OpenAI Over HuggingFace?
|
| 94 |
+
|
| 95 |
+
| Feature | OpenAI | HuggingFace Free |
|
| 96 |
+
|---------|--------|------------------|
|
| 97 |
+
| **Speed** | 3-10 seconds | 30-120 seconds |
|
| 98 |
+
| **Reliability** | 99.9% uptime | Variable |
|
| 99 |
+
| **Quality** | Excellent | Good |
|
| 100 |
+
| **Rate Limits** | Generous | Restrictive |
|
| 101 |
+
| **API Issues** | Stable | Migrating |
|
| 102 |
+
| **Support** | Commercial | Community |
|
| 103 |
+
| **Cost** | ~$0.02/survey | Free |
|
| 104 |
+
|
| 105 |
+
**Bottom line:** For $10, you get 500+ surveys with:
|
| 106 |
+
- β‘ 10x faster generation
|
| 107 |
+
- β
Reliable service
|
| 108 |
+
- β Better quality
|
| 109 |
+
- π Production-ready
|
| 110 |
+
|
| 111 |
+
---
|
| 112 |
+
|
| 113 |
+
## π Switching from HuggingFace
|
| 114 |
+
|
| 115 |
+
Already using HuggingFace? Here's how to switch:
|
| 116 |
+
|
| 117 |
+
### On HuggingFace Spaces:
|
| 118 |
+
|
| 119 |
+
1. **Add OpenAI credentials** (see Step 3 above)
|
| 120 |
+
2. **Restart Space**
|
| 121 |
+
3. **That's it!** No code changes needed
|
| 122 |
+
|
| 123 |
+
The app automatically detects OpenAI credentials and uses them.
|
| 124 |
+
|
| 125 |
+
### What happens to HuggingFace?
|
| 126 |
+
|
| 127 |
+
- HuggingFace still works as fallback
|
| 128 |
+
- OpenAI takes priority if both are configured
|
| 129 |
+
- You can remove HF token if you want
|
| 130 |
+
|
| 131 |
+
---
|
| 132 |
+
|
| 133 |
+
## π§ͺ Test Your Setup
|
| 134 |
+
|
| 135 |
+
Run this to verify OpenAI is working:
|
| 136 |
+
|
| 137 |
+
```bash
|
| 138 |
+
python check_env.py
|
| 139 |
+
```
|
| 140 |
+
|
| 141 |
+
Should show:
|
| 142 |
+
```
|
| 143 |
+
β
OPENAI_API_KEY SET (sk-proj-...)
|
| 144 |
+
β
LLM_PROVIDER SET (openai)
|
| 145 |
+
```
|
| 146 |
+
|
| 147 |
+
And at the bottom:
|
| 148 |
+
```
|
| 149 |
+
β
Will use: OpenAI (explicit)
|
| 150 |
+
```
|
| 151 |
+
|
| 152 |
+
Or test directly in the app - look for:
|
| 153 |
+
```
|
| 154 |
+
β
Active LLM Provider: OPENAI | Model: gpt-4o-mini
|
| 155 |
+
```
|
| 156 |
+
|
| 157 |
+
---
|
| 158 |
+
|
| 159 |
+
## π Troubleshooting
|
| 160 |
+
|
| 161 |
+
### "Invalid API key"
|
| 162 |
+
- Check key starts with `sk-`
|
| 163 |
+
- Make sure you copied the full key
|
| 164 |
+
- Regenerate if needed: https://platform.openai.com/api-keys
|
| 165 |
+
|
| 166 |
+
### "Insufficient quota"
|
| 167 |
+
- Add credits: https://platform.openai.com/account/billing
|
| 168 |
+
- Minimum: $5 recommended
|
| 169 |
+
|
| 170 |
+
### "Rate limit exceeded"
|
| 171 |
+
- You're on free tier - upgrade to pay-as-you-go
|
| 172 |
+
- Or wait a few minutes
|
| 173 |
+
|
| 174 |
+
### Still using HuggingFace?
|
| 175 |
+
- Check LLM_PROVIDER is set to "openai"
|
| 176 |
+
- Check OPENAI_API_KEY is set correctly
|
| 177 |
+
- Run `python check_env.py`
|
| 178 |
+
|
| 179 |
+
---
|
| 180 |
+
|
| 181 |
+
## π‘ Pro Tips
|
| 182 |
+
|
| 183 |
+
### 1. Use Different Models for Different Tasks
|
| 184 |
+
|
| 185 |
+
```bash
|
| 186 |
+
# For survey generation (fast, cheap)
|
| 187 |
+
LLM_MODEL=gpt-4o-mini
|
| 188 |
+
|
| 189 |
+
# For complex analysis (better quality, more expensive)
|
| 190 |
+
LLM_MODEL=gpt-4o
|
| 191 |
+
```
|
| 192 |
+
|
| 193 |
+
### 2. Monitor Costs
|
| 194 |
+
|
| 195 |
+
Set up email alerts:
|
| 196 |
+
- 50% of limit: Review usage
|
| 197 |
+
- 75% of limit: Check if expected
|
| 198 |
+
- 90% of limit: Urgent review
|
| 199 |
+
|
| 200 |
+
### 3. Batch Operations
|
| 201 |
+
|
| 202 |
+
- Generate multiple survey versions at once
|
| 203 |
+
- Translate to all languages together
|
| 204 |
+
- More efficient than one at a time
|
| 205 |
+
|
| 206 |
+
### 4. Cache Results
|
| 207 |
+
|
| 208 |
+
- Save generated surveys
|
| 209 |
+
- Reuse translations when possible
|
| 210 |
+
- Don't regenerate unnecessarily
|
| 211 |
+
|
| 212 |
+
---
|
| 213 |
+
|
| 214 |
+
## π Monthly Cost Estimates
|
| 215 |
+
|
| 216 |
+
Based on typical usage:
|
| 217 |
+
|
| 218 |
+
**Light Use (10 surveys/month):**
|
| 219 |
+
- Generate: 10 surveys Γ $0.02 = $0.20
|
| 220 |
+
- Translate: 5 translations Γ $0.04 = $0.20
|
| 221 |
+
- Analyze: 5 analyses Γ $0.08 = $0.40
|
| 222 |
+
- **Total: ~$1/month**
|
| 223 |
+
|
| 224 |
+
**Medium Use (50 surveys/month):**
|
| 225 |
+
- Generate: 50 Γ $0.02 = $1.00
|
| 226 |
+
- Translate: 25 Γ $0.04 = $1.00
|
| 227 |
+
- Analyze: 25 Γ $0.08 = $2.00
|
| 228 |
+
- **Total: ~$4/month**
|
| 229 |
+
|
| 230 |
+
**Heavy Use (200 surveys/month):**
|
| 231 |
+
- Generate: 200 Γ $0.02 = $4.00
|
| 232 |
+
- Translate: 100 Γ $0.04 = $4.00
|
| 233 |
+
- Analyze: 100 Γ $0.08 = $8.00
|
| 234 |
+
- **Total: ~$16/month**
|
| 235 |
+
|
| 236 |
+
**Enterprise (1000+ surveys/month):**
|
| 237 |
+
- Contact OpenAI for volume pricing
|
| 238 |
+
- Consider fine-tuned models
|
| 239 |
+
- Estimated: $50-100/month
|
| 240 |
+
|
| 241 |
+
---
|
| 242 |
+
|
| 243 |
+
## β
Recommendation
|
| 244 |
+
|
| 245 |
+
**For ConversAI production use:**
|
| 246 |
+
|
| 247 |
+
1. β
**Use OpenAI** (not HuggingFace)
|
| 248 |
+
2. β
**Start with GPT-4o-mini** (cheapest, fast)
|
| 249 |
+
3. β
**Add $10 credit** (lasts months for typical use)
|
| 250 |
+
4. β
**Set $10/month limit** (safety)
|
| 251 |
+
5. β
**Monitor usage weekly**
|
| 252 |
+
|
| 253 |
+
**Cost:** ~$1-5/month for typical use
|
| 254 |
+
**Benefit:** Reliable, fast, production-ready
|
| 255 |
+
**ROI:** Saves hours vs manual survey design
|
| 256 |
+
|
| 257 |
+
---
|
| 258 |
+
|
| 259 |
+
## π Ready to Start?
|
| 260 |
+
|
| 261 |
+
1. Get API key: https://platform.openai.com/api-keys
|
| 262 |
+
2. Add $5-10 credit
|
| 263 |
+
3. Configure ConversAI (see Step 3 above)
|
| 264 |
+
4. Start creating surveys!
|
| 265 |
+
|
| 266 |
+
**Questions?** See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) or [USER_GUIDE.md](USER_GUIDE.md)
|
| 267 |
+
|
| 268 |
+
---
|
| 269 |
+
|
| 270 |
+
**Updated:** November 2025
|
| 271 |
+
**Recommended for:** All production deployments
|
| 272 |
+
**Alternative:** Anthropic Claude (similar cost, great quality)
|
README.md
CHANGED
|
@@ -16,7 +16,7 @@ Battle the blank page, reach global audiences, and uncover insights with AI assi
|
|
| 16 |
|
| 17 |
---
|
| 18 |
|
| 19 |
-
>
|
| 20 |
|
| 21 |
---
|
| 22 |
|
|
@@ -53,45 +53,63 @@ Battle the blank page, reach global audiences, and uncover insights with AI assi
|
|
| 53 |
|
| 54 |
## π§ Configuration
|
| 55 |
|
| 56 |
-
### HuggingFace
|
| 57 |
|
| 58 |
-
|
| 59 |
|
| 60 |
-
|
| 61 |
-
-
|
| 62 |
-
-
|
| 63 |
-
- **
|
|
|
|
|
|
|
| 64 |
|
| 65 |
-
|
|
|
|
|
|
|
| 66 |
|
| 67 |
-
**
|
| 68 |
1. Go to https://huggingface.co/settings/tokens
|
| 69 |
-
2. Copy your token
|
| 70 |
-
3. Add
|
|
|
|
|
|
|
|
|
|
| 71 |
|
| 72 |
-
###
|
| 73 |
|
| 74 |
-
|
| 75 |
|
| 76 |
-
**
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
|
| 82 |
-
**
|
| 83 |
```bash
|
| 84 |
-
|
| 85 |
-
|
| 86 |
```
|
| 87 |
|
| 88 |
-
**
|
| 89 |
-
```
|
| 90 |
-
|
| 91 |
-
LLM_MODEL=
|
| 92 |
```
|
| 93 |
|
| 94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
|
| 96 |
## π¦ Installation
|
| 97 |
|
|
@@ -115,6 +133,7 @@ ConversAI is built with a modular architecture:
|
|
| 115 |
- **survey_translator.py** - Multi-language translation engine
|
| 116 |
- **data_analyzer.py** - Qualitative data analysis and insights
|
| 117 |
- **app.py** - Gradio-based web interface
|
|
|
|
| 118 |
|
| 119 |
## π Data Privacy
|
| 120 |
|
|
@@ -137,14 +156,11 @@ MIT License - Feel free to use for research and commercial purposes.
|
|
| 137 |
|
| 138 |
**New to ConversAI?** Start with **[USER_GUIDE.md](USER_GUIDE.md)** for a complete walkthrough.
|
| 139 |
|
| 140 |
-
**Full Documentation Index:** See **[DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md)** for all available guides.
|
| 141 |
-
|
| 142 |
**Quick Links:**
|
| 143 |
- π [Complete User Guide](USER_GUIDE.md) - How to use ConversAI (START HERE)
|
| 144 |
- β‘ [Quick Start for HF Spaces](QUICK_START_HF_SPACES.md) - 5-minute deployment
|
| 145 |
- π§ [Troubleshooting](TROUBLESHOOTING.md) - Common issues and solutions
|
| 146 |
-
-
|
| 147 |
-
- π [Usage Guide](USAGE_GUIDE.md) - Technical usage documentation
|
| 148 |
|
| 149 |
**Diagnostic Tools:**
|
| 150 |
- Run `python check_env.py` - Check your environment setup
|
|
@@ -152,4 +168,4 @@ MIT License - Feel free to use for research and commercial purposes.
|
|
| 152 |
|
| 153 |
---
|
| 154 |
|
| 155 |
-
Built with β€οΈ using Gradio and state-of-the-art LLMs
|
|
|
|
| 16 |
|
| 17 |
---
|
| 18 |
|
| 19 |
+
> **β¨ NEW (Nov 2025):** Now uses **Microsoft Phi-3** - Faster, reliable, and **completely FREE** on HuggingFace!
|
| 20 |
|
| 21 |
---
|
| 22 |
|
|
|
|
| 53 |
|
| 54 |
## π§ Configuration
|
| 55 |
|
| 56 |
+
### Default: HuggingFace Free Tier (Completely FREE!)
|
| 57 |
|
| 58 |
+
**β¨ Zero configuration needed!** ConversAI works out-of-the-box on HuggingFace Spaces.
|
| 59 |
|
| 60 |
+
**Default Model:** Microsoft Phi-3-mini-4k-instruct
|
| 61 |
+
- β
**100% Free** - No API keys, no costs, ever
|
| 62 |
+
- β
**Fast** - Optimized for speed (10-30 seconds)
|
| 63 |
+
- β
**Ungated** - No approval needed, works immediately
|
| 64 |
+
- β
**Good Quality** - Suitable for professional survey work
|
| 65 |
+
- β
**Reliable** - Stable on HuggingFace Inference API
|
| 66 |
|
| 67 |
+
**Setup for PUBLIC Spaces (Recommended):**
|
| 68 |
+
- Just deploy - uses built-in `HF_TOKEN` automatically
|
| 69 |
+
- **No configuration required at all!**
|
| 70 |
|
| 71 |
+
**Setup for PRIVATE Spaces:**
|
| 72 |
1. Go to https://huggingface.co/settings/tokens
|
| 73 |
+
2. Copy your token (read permission is enough)
|
| 74 |
+
3. Add in Space Settings β Variables:
|
| 75 |
+
- Name: `HUGGINGFACE_API_KEY`
|
| 76 |
+
- Value: your_token_here
|
| 77 |
+
4. Restart Space
|
| 78 |
|
| 79 |
+
### Alternative Free Models
|
| 80 |
|
| 81 |
+
You can try different free models by setting the `LLM_MODEL` environment variable:
|
| 82 |
|
| 83 |
+
**Recommended Free Models:**
|
| 84 |
+
|
| 85 |
+
| Model | Best For | Speed | Quality | Ungated |
|
| 86 |
+
|-------|----------|-------|---------|---------|
|
| 87 |
+
| **microsoft/Phi-3-mini-4k-instruct** (default) | General use, balanced | β‘β‘ Fast | βββ Good | β
Yes |
|
| 88 |
+
| **google/flan-t5-xxl** | Fast responses, instructions | β‘β‘β‘ Very Fast | ββ Decent | β
Yes |
|
| 89 |
+
| **mistralai/Mistral-7B-Instruct-v0.2** | Best quality (slower) | β‘ Slower | ββββ Excellent | β
Yes |
|
| 90 |
+
| **google/flan-t5-xl** | Maximum speed | β‘β‘β‘ Very Fast | ββ Decent | β
Yes |
|
| 91 |
+
| **google/flan-ul2** | Long contexts | β‘β‘ Fast | βββ Good | β
Yes |
|
| 92 |
|
| 93 |
+
**To change model:**
|
| 94 |
```bash
|
| 95 |
+
# In Space Settings β Variables
|
| 96 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2
|
| 97 |
```
|
| 98 |
|
| 99 |
+
**Or in code:**
|
| 100 |
+
```python
|
| 101 |
+
import os
|
| 102 |
+
os.environ["LLM_MODEL"] = "google/flan-t5-xxl"
|
| 103 |
```
|
| 104 |
|
| 105 |
+
### Tips for Best Performance with Free Models
|
| 106 |
+
|
| 107 |
+
1. **Keep prompts concise** - Shorter outlines = faster generation
|
| 108 |
+
2. **Request fewer questions** - Start with 5-10 instead of 20+
|
| 109 |
+
3. **Translate one language at a time** - Better reliability on free tier
|
| 110 |
+
4. **Be patient on first request** - Models need to "warm up" (30-60 sec)
|
| 111 |
+
5. **Use during off-peak hours** - Less queue time, faster responses
|
| 112 |
+
6. **Try different models** - Some work better for specific tasks
|
| 113 |
|
| 114 |
## π¦ Installation
|
| 115 |
|
|
|
|
| 133 |
- **survey_translator.py** - Multi-language translation engine
|
| 134 |
- **data_analyzer.py** - Qualitative data analysis and insights
|
| 135 |
- **app.py** - Gradio-based web interface
|
| 136 |
+
- **export_utils.py** - Export to JSON, CSV, Markdown
|
| 137 |
|
| 138 |
## π Data Privacy
|
| 139 |
|
|
|
|
| 156 |
|
| 157 |
**New to ConversAI?** Start with **[USER_GUIDE.md](USER_GUIDE.md)** for a complete walkthrough.
|
| 158 |
|
|
|
|
|
|
|
| 159 |
**Quick Links:**
|
| 160 |
- π [Complete User Guide](USER_GUIDE.md) - How to use ConversAI (START HERE)
|
| 161 |
- β‘ [Quick Start for HF Spaces](QUICK_START_HF_SPACES.md) - 5-minute deployment
|
| 162 |
- π§ [Troubleshooting](TROUBLESHOOTING.md) - Common issues and solutions
|
| 163 |
+
- π [Free Models Guide](FREE_MODELS.md) - Best free models to use
|
|
|
|
| 164 |
|
| 165 |
**Diagnostic Tools:**
|
| 166 |
- Run `python check_env.py` - Check your environment setup
|
|
|
|
| 168 |
|
| 169 |
---
|
| 170 |
|
| 171 |
+
Built with β€οΈ using Gradio and state-of-the-art open-source LLMs
|
README_OLD.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: ConversAI - Qualitative Research Assistant
|
| 3 |
+
emoji: π¬
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: 5.45.0
|
| 8 |
+
app_file: app.py
|
| 9 |
+
pinned: false
|
| 10 |
+
license: mit
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# ConversAI - AI-Powered Qualitative Research Assistant
|
| 14 |
+
|
| 15 |
+
Battle the blank page, reach global audiences, and uncover insights with AI assistance.
|
| 16 |
+
|
| 17 |
+
---
|
| 18 |
+
|
| 19 |
+
> **β¨ NEW (Nov 2025):** Now uses **Microsoft Phi-3** - Faster, reliable, and **completely FREE** on HuggingFace!
|
| 20 |
+
|
| 21 |
+
---
|
| 22 |
+
|
| 23 |
+
## π Features
|
| 24 |
+
|
| 25 |
+
### π Survey Generation
|
| 26 |
+
- Generate professional surveys from simple outlines
|
| 27 |
+
- Follow industry best practices automatically
|
| 28 |
+
- Choose from qualitative, quantitative, or mixed methods
|
| 29 |
+
- Customize number of questions and target audience
|
| 30 |
+
|
| 31 |
+
### π Survey Translation
|
| 32 |
+
- Translate surveys to 18+ languages
|
| 33 |
+
- Maintain cultural appropriateness and meaning
|
| 34 |
+
- Reach global audiences effortlessly
|
| 35 |
+
- Batch translation support
|
| 36 |
+
|
| 37 |
+
### π Data Analysis
|
| 38 |
+
- AI-assisted thematic analysis
|
| 39 |
+
- Sentiment analysis and emotional insights
|
| 40 |
+
- Automatic pattern and trend detection
|
| 41 |
+
- Generate actionable insights and recommendations
|
| 42 |
+
- Export detailed analysis reports
|
| 43 |
+
|
| 44 |
+
## π Quick Start
|
| 45 |
+
|
| 46 |
+
**On HuggingFace Spaces:** Works immediately with zero configuration! Uses the free HF Inference API.
|
| 47 |
+
|
| 48 |
+
**Workflow:**
|
| 49 |
+
1. **Generate a Survey**: Start with an outline or topic description
|
| 50 |
+
2. **Translate**: Select target languages to reach global audiences
|
| 51 |
+
3. **Collect Responses**: Use the generated survey with your participants
|
| 52 |
+
4. **Analyze**: Upload responses to uncover key findings and trends
|
| 53 |
+
|
| 54 |
+
## π§ Configuration
|
| 55 |
+
|
| 56 |
+
### Default: HuggingFace Free Tier (Completely FREE!)
|
| 57 |
+
|
| 58 |
+
**β¨ Zero configuration needed!** ConversAI works out-of-the-box on HuggingFace Spaces.
|
| 59 |
+
|
| 60 |
+
**Default Model:** Microsoft Phi-3-mini-4k-instruct
|
| 61 |
+
- β
**100% Free** - No API keys, no costs, ever
|
| 62 |
+
- β
**Fast** - Optimized for speed (10-30 seconds)
|
| 63 |
+
- β
**Ungated** - No approval needed, works immediately
|
| 64 |
+
- β
**Good Quality** - Suitable for professional survey work
|
| 65 |
+
- β
**Reliable** - Stable on HuggingFace Inference API
|
| 66 |
+
|
| 67 |
+
**Setup for PUBLIC Spaces (Recommended):**
|
| 68 |
+
- Just deploy - uses built-in `HF_TOKEN` automatically
|
| 69 |
+
- **No configuration required at all!**
|
| 70 |
+
|
| 71 |
+
**Setup for PRIVATE Spaces:**
|
| 72 |
+
1. Go to https://huggingface.co/settings/tokens
|
| 73 |
+
2. Copy your token (read permission is enough)
|
| 74 |
+
3. Add in Space Settings β Variables:
|
| 75 |
+
- Name: `HUGGINGFACE_API_KEY`
|
| 76 |
+
- Value: your_token_here
|
| 77 |
+
4. Restart Space
|
| 78 |
+
|
| 79 |
+
### Alternative Free Models
|
| 80 |
+
|
| 81 |
+
You can try different free models by setting the `LLM_MODEL` environment variable:
|
| 82 |
+
|
| 83 |
+
**Recommended Free Models:**
|
| 84 |
+
|
| 85 |
+
| Model | Best For | Speed | Quality | Ungated |
|
| 86 |
+
|-------|----------|-------|---------|---------|
|
| 87 |
+
| **microsoft/Phi-3-mini-4k-instruct** (default) | General use, balanced | β‘β‘ Fast | βββ Good | β
Yes |
|
| 88 |
+
| **google/flan-t5-xxl** | Fast responses, instructions | β‘β‘β‘ Very Fast | ββ Decent | β
Yes |
|
| 89 |
+
| **mistralai/Mistral-7B-Instruct-v0.2** | Best quality (slower) | β‘ Slower | ββββ Excellent | β
Yes |
|
| 90 |
+
| **google/flan-t5-xl** | Maximum speed | β‘β‘β‘ Very Fast | ββ Decent | β
Yes |
|
| 91 |
+
| **google/flan-ul2** | Long contexts | β‘β‘ Fast | βββ Good | β
Yes |
|
| 92 |
+
|
| 93 |
+
**To change model:**
|
| 94 |
+
```bash
|
| 95 |
+
# In Space Settings β Variables
|
| 96 |
+
LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2
|
| 97 |
+
```
|
| 98 |
+
|
| 99 |
+
**Or in code:**
|
| 100 |
+
```python
|
| 101 |
+
import os
|
| 102 |
+
os.environ["LLM_MODEL"] = "google/flan-t5-xxl"
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
### Tips for Best Performance with Free Models
|
| 106 |
+
|
| 107 |
+
1. **Keep prompts concise** - Shorter outlines = faster generation
|
| 108 |
+
2. **Request fewer questions** - Start with 5-10 instead of 20+
|
| 109 |
+
3. **Translate one language at a time** - Better reliability on free tier
|
| 110 |
+
4. **Be patient on first request** - Models need to "warm up" (30-60 sec)
|
| 111 |
+
5. **Use during off-peak hours** - Less queue time, faster responses
|
| 112 |
+
6. **Try different models** - Some work better for specific tasks
|
| 113 |
+
|
| 114 |
+
## π¦ Installation
|
| 115 |
+
|
| 116 |
+
```bash
|
| 117 |
+
# Install dependencies
|
| 118 |
+
pip install -r requirements.txt
|
| 119 |
+
|
| 120 |
+
# Check environment setup (optional but recommended)
|
| 121 |
+
python check_env.py
|
| 122 |
+
|
| 123 |
+
# Run the app
|
| 124 |
+
python app.py
|
| 125 |
+
```
|
| 126 |
+
|
| 127 |
+
## ποΈ Architecture
|
| 128 |
+
|
| 129 |
+
ConversAI is built with a modular architecture:
|
| 130 |
+
|
| 131 |
+
- **llm_backend.py** - Unified LLM interface supporting multiple providers
|
| 132 |
+
- **survey_generator.py** - AI-powered survey generation
|
| 133 |
+
- **survey_translator.py** - Multi-language translation engine
|
| 134 |
+
- **data_analyzer.py** - Qualitative data analysis and insights
|
| 135 |
+
- **app.py** - Gradio-based web interface
|
| 136 |
+
- **export_utils.py** - Export to JSON, CSV, Markdown
|
| 137 |
+
|
| 138 |
+
## π Data Privacy
|
| 139 |
+
|
| 140 |
+
- All processing is done through your configured LLM provider
|
| 141 |
+
- No data is stored permanently by this application
|
| 142 |
+
- Survey data and responses remain in your control
|
| 143 |
+
- Suitable for sensitive research projects
|
| 144 |
+
|
| 145 |
+
## π€ Contributing
|
| 146 |
+
|
| 147 |
+
Contributions are welcome! This is a production-grade application designed for real-world qualitative research.
|
| 148 |
+
|
| 149 |
+
## π License
|
| 150 |
+
|
| 151 |
+
MIT License - Feel free to use for research and commercial purposes.
|
| 152 |
+
|
| 153 |
+
---
|
| 154 |
+
|
| 155 |
+
## π Documentation
|
| 156 |
+
|
| 157 |
+
**New to ConversAI?** Start with **[USER_GUIDE.md](USER_GUIDE.md)** for a complete walkthrough.
|
| 158 |
+
|
| 159 |
+
**Full Documentation Index:** See **[DOCUMENTATION_INDEX.md](DOCUMENTATION_INDEX.md)** for all available guides.
|
| 160 |
+
|
| 161 |
+
**Quick Links:**
|
| 162 |
+
- π [Complete User Guide](USER_GUIDE.md) - How to use ConversAI (START HERE)
|
| 163 |
+
- β‘ [Quick Start for HF Spaces](QUICK_START_HF_SPACES.md) - 5-minute deployment
|
| 164 |
+
- π§ [Troubleshooting](TROUBLESHOOTING.md) - Common issues and solutions
|
| 165 |
+
- π [Deployment Guide](DEPLOYMENT.md) - Detailed deployment instructions
|
| 166 |
+
- π [Usage Guide](USAGE_GUIDE.md) - Technical usage documentation
|
| 167 |
+
- π [Free Models Guide](FREE_MODELS.md) - Best free models to use
|
| 168 |
+
|
| 169 |
+
**Diagnostic Tools:**
|
| 170 |
+
- Run `python check_env.py` - Check your environment setup
|
| 171 |
+
- Run `python test_hf_backend.py` - Test HuggingFace connection
|
| 172 |
+
|
| 173 |
+
---
|
| 174 |
+
|
| 175 |
+
Built with β€οΈ using Gradio and state-of-the-art open-source LLMs
|
llm_backend.py
CHANGED
|
@@ -65,7 +65,8 @@ class LLMBackend:
|
|
| 65 |
defaults = {
|
| 66 |
LLMProvider.OPENAI: "gpt-4o-mini",
|
| 67 |
LLMProvider.ANTHROPIC: "claude-3-5-sonnet-20241022",
|
| 68 |
-
|
|
|
|
| 69 |
LLMProvider.LM_STUDIO: "google/gemma-3-27b"
|
| 70 |
}
|
| 71 |
return os.getenv("LLM_MODEL", defaults[self.provider])
|
|
@@ -77,8 +78,10 @@ class LLMBackend:
|
|
| 77 |
elif self.provider == LLMProvider.ANTHROPIC:
|
| 78 |
return "https://api.anthropic.com/v1/messages"
|
| 79 |
elif self.provider == LLMProvider.HUGGINGFACE:
|
| 80 |
-
#
|
| 81 |
-
|
|
|
|
|
|
|
| 82 |
elif self.provider == LLMProvider.LM_STUDIO:
|
| 83 |
return os.getenv("LM_STUDIO_URL", "http://192.168.1.245:1234/v1/chat/completions")
|
| 84 |
|
|
|
|
| 65 |
defaults = {
|
| 66 |
LLMProvider.OPENAI: "gpt-4o-mini",
|
| 67 |
LLMProvider.ANTHROPIC: "claude-3-5-sonnet-20241022",
|
| 68 |
+
# Using Phi-3 - smaller, faster, free, ungated
|
| 69 |
+
LLMProvider.HUGGINGFACE: "microsoft/Phi-3-mini-4k-instruct",
|
| 70 |
LLMProvider.LM_STUDIO: "google/gemma-3-27b"
|
| 71 |
}
|
| 72 |
return os.getenv("LLM_MODEL", defaults[self.provider])
|
|
|
|
| 78 |
elif self.provider == LLMProvider.ANTHROPIC:
|
| 79 |
return "https://api.anthropic.com/v1/messages"
|
| 80 |
elif self.provider == LLMProvider.HUGGINGFACE:
|
| 81 |
+
# HuggingFace endpoint - allow override via env variable
|
| 82 |
+
# Default uses old endpoint (works until Nov 1, 2025)
|
| 83 |
+
default_url = f"https://api-inference.huggingface.co/models/{self.model}"
|
| 84 |
+
return os.getenv("HF_INFERENCE_ENDPOINT", default_url)
|
| 85 |
elif self.provider == LLMProvider.LM_STUDIO:
|
| 86 |
return os.getenv("LM_STUDIO_URL", "http://192.168.1.245:1234/v1/chat/completions")
|
| 87 |
|