nivvis/eq-convos
收藏Hugging Face2026-03-19 更新2026-03-29 收录
下载链接:
https://hf-mirror.com/datasets/nivvis/eq-convos
下载链接
链接失效反馈官方服务:
资源简介:
---
license: apache-2.0
task_categories:
- text-generation
- conversational
tags:
- empathy
- emotional-intelligence
- eq
- sft
- synthetic
- multi-turn
language:
- en
size_categories:
- 1K<n<10K
---
# EQ-Convos: Synthetic Empathetic Conversations
1,774 multi-turn empathetic conversations generated turn-by-turn using multiple LLMs as independent agents. Each conversation is Elo-ranked by quality via Swiss-style tournament.
## What's in this dataset
Two perspectives of the same conversations:
- **`supporter.parquet`** — Train a model to be an empathetic supporter. System prompt is the supporter's role card; assistant turns are the supporter's responses.
- **`usersim.parquet`** — Train a model to simulate realistic users seeking emotional support. System prompt is the user's backstory; assistant turns are the user's messages.
## Quality Tiers
Every conversation has an `elo` score from tournament ranking. Higher = better quality.
| Tier | Elo | Count | Use case |
|------|-----|-------|----------|
| Gold (top 20%) | >= 1520 | ~354 | Best SFT data, DPO "chosen" source |
| Silver (20-50%) | 1500-1520 | ~533 | Good SFT data |
| Bronze (50-75%) | 1485-1500 | ~443 | Usable SFT data |
| Bottom 25% | < 1485 | ~444 | DPO "rejected" candidates |
## Fields
| Field | Description |
|-------|-------------|
| `messages` | JSON array of `{role, content}` messages (system + user + assistant) |
| `elo` | Tournament Elo rating (higher = better empathetic quality) |
| `supporter_persona` | Persona type: `warm_friend`, `peer_support`, or `therapist` |
| `opener` | User entry style: `hesitant`, `emotional`, or `deflecting` |
| `user_model` | Model that played the user role |
| `supporter_model` | Model that played the supporter role |
| `num_turns` | Total turns in the conversation |
## Usage
```python
from datasets import load_dataset
import json
ds = load_dataset("nivvis/eq-convos")
# Gold tier only
gold = [r for r in ds["train"] if r["elo"] >= 1520]
# Parse messages
for example in gold:
messages = json.loads(example["messages"])
# messages[0] is the system prompt (role card)
# Alternating user/assistant turns follow
```
## Generation Pipeline
1. Source posts ranked via Swiss-style Elo tournament using logit-probe A/B judging
2. Conversations synthesized turn-by-turn — two independent agents with separate system prompts talk to each other
3. Each role draws randomly from a model pool (Claude Sonnet 4.6, GPT-5.4, GPT-5.4-mini, Claude Opus 4.6, Qwen 35B)
4. User agent has the emotional backstory and reveals it gradually; supporter agent responds empathetically
5. All conversations tournament-ranked for quality
## Supporter Personas
Three personas, all scoring equally in tournaments:
- **warm_friend** — Jamie, a close friend. Casual, direct, uses humor and swearing naturally.
- **peer_support** — A warmline volunteer. Trained in active listening, shares own experience when it connects.
- **therapist** — Dr. Reyes, first session. Unhurried, notices what people don't say, never rushes to fix.
## Rubrics
Conversations were judged on:
- Does the person feel heard? Does trust build across turns?
- Authenticity — real human connection, not performative therapy
- Emotional movement — does the conversation go somewhere?
- Evidence-based support patterns (Rogers, NVC, MI/OARS) in any register
## Statistics
- **Conversations**: 1,774
- **Avg turns**: ~18
- **Supporter models**: Claude Sonnet 4.6 (33%), GPT-5.4 (31%), GPT-5.4-mini (31%), others (5%)
- **Personas**: evenly distributed (~591 each)
- **Elo range**: 1421 - 1577
提供机构:
nivvis



