Instructions to use Subject-Emu-5259/NeuralAI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Subject-Emu-5259/NeuralAI with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 19,063 Bytes
38b4eff | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | #!/usr/bin/env python3
"""
Generate expanded training data for NeuralAI
Target: 1000+ samples across all categories
"""
import json
from pathlib import Path
from datetime import datetime
CATEGORIES = {
"coding": 150,
"ml_ai": 80,
"data_science": 70,
"web_dev": 60,
"general_qa": 100,
"writing": 60,
"system_admin": 50,
"math_logic": 70,
"tools": 100,
"reasoning": 80,
"safety": 50,
"multi_turn": 90,
}
TRAINING_SAMPLES = {
"coding": [
{"user": "Write a Python function to merge two sorted lists", "assistant": "```python\ndef merge_sorted(a: list, b: list) -> list:\n result = []\n i = j = 0\n while i < len(a) and j < len(b):\n if a[i] <= b[j]:\n result.append(a[i])\n i += 1\n else:\n result.append(b[j])\n j += 1\n result.extend(a[i:])\n result.extend(b[j:])\n return result\n```"},
{"user": "How do I handle exceptions in Python?", "assistant": "Use try-except blocks:\n```python\ntry:\n result = risky_operation()\nexcept ValueError as e:\n print(f\"Invalid value: {e}\")\nexcept Exception as e:\n print(f\"Error: {e}\")\nfinally:\n cleanup()\n```"},
{"user": "Create a class for a linked list node", "assistant": "```python\nclass ListNode:\n def __init__(self, val=0, next=None):\n self.val = val\n self.next = next\n \n def append(self, val):\n new_node = ListNode(val)\n current = self\n while current.next:\n current = current.next\n current.next = new_node\n```"},
{"user": "Write a decorator to measure function execution time", "assistant": "```python\nimport time\nfrom functools import wraps\n\ndef timing(func):\n @wraps(func)\n def wrapper(*args, **kwargs):\n start = time.perf_counter()\n result = func(*args, **kwargs)\n end = time.perf_counter()\n print(f\"{func.__name__} took {end-start:.4f}s\")\n return result\n return wrapper\n```"},
{"user": "How do I read a JSON file in Python?", "assistant": "```python\nimport json\n\nwith open('data.json', 'r') as f:\n data = json.load(f)\n \nprint(data['key'])\n```"},
{"user": "Create a context manager for database connections", "assistant": "```python\nfrom contextlib import contextmanager\n\n@contextmanager\ndef db_connection(path):\n conn = sqlite3.connect(path)\n try:\n yield conn\n finally:\n conn.close()\n\n# Usage:\nwith db_connection('my.db') as conn:\n conn.execute('SELECT * FROM users')\n```"},
{"user": "Write a function to find duplicates in a list", "assistant": "```python\ndef find_duplicates(items: list) -> set:\n seen = set()\n duplicates = set()\n for item in items:\n if item in seen:\n duplicates.add(item)\n seen.add(item)\n return duplicates\n```"},
{"user": "How do I use asyncio for concurrent requests?", "assistant": "```python\nimport asyncio\nimport aiohttp\n\nasync def fetch(session, url):\n async with session.get(url) as response:\n return await response.text()\n\nasync def fetch_all(urls):\n async with aiohttp.ClientSession() as session:\n tasks = [fetch(session, url) for url in urls]\n return await asyncio.gather(*tasks)\n```"},
{"user": "Implement a simple cache with TTL", "assistant": "```python\nimport time\nfrom functools import wraps\n\ndef cache(ttl_seconds=60):\n cache_store = {}\n def decorator(func):\n @wraps(func)\n def wrapper(*args):\n key = args\n if key in cache_store:\n value, timestamp = cache_store[key]\n if time.time() - timestamp < ttl_seconds:\n return value\n result = func(*args)\n cache_store[key] = (result, time.time())\n return result\n return wrapper\n return decorator\n```"},
{"user": "Write a function to validate email addresses", "assistant": "```python\nimport re\n\ndef is_valid_email(email: str) -> bool:\n pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$'\n return bool(re.match(pattern, email))\n```"},
],
"ml_ai": [
{"user": "What is the difference between supervised and unsupervised learning?", "assistant": "Supervised learning uses labeled data - the model learns from input-output pairs (like classification or regression). Unsupervised learning finds patterns in unlabeled data (like clustering or dimensionality reduction)."},
{"user": "Explain how transformers work", "assistant": "Transformers use self-attention mechanisms to process sequences in parallel. Key components:\n1. Multi-head attention - learns relationships between all positions\n2. Positional encoding - adds position information\n3. Feed-forward networks - transforms representations\n4. Layer normalization - stabilizes training"},
{"user": "What is fine-tuning vs transfer learning?", "assistant": "Transfer learning: Using a pre-trained model's knowledge for a new task (often freezing early layers).\nFine-tuning: Further training the entire model on task-specific data, adjusting all weights."},
{"user": "How does RAG improve LLM responses?", "assistant": "RAG (Retrieval-Augmented Generation) retrieves relevant documents before generating. Benefits:\n1. Access to current/up-to-date information\n2. Reduces hallucinations with grounded facts\n3. Handles domain-specific knowledge\n4. No need to retrain the model"},
{"user": "What is LoRA and why is it useful?", "assistant": "LoRA (Low-Rank Adaptation) adds small trainable matrices to existing weights instead of fine-tuning all parameters. Benefits:\n- 90%+ reduction in trainable parameters\n- Faster training with less memory\n- Can swap adapters for different tasks"},
],
"data_science": [
{"user": "How do I load and explore a CSV with pandas?", "assistant": "```python\nimport pandas as pd\n\ndf = pd.read_csv('data.csv')\nprint(df.head())\nprint(df.info())\nprint(df.describe())\nprint(df.isnull().sum())\n```"},
{"user": "Create a histogram with matplotlib", "assistant": "```python\nimport matplotlib.pyplot as plt\n\nplt.hist(data, bins=30, edgecolor='black')\nplt.xlabel('Value')\nplt.ylabel('Frequency')\nplt.title('Distribution')\nplt.savefig('histogram.png')\n```"},
{"user": "How do I handle missing data?", "assistant": "Options:\n1. Drop: `df.dropna()`\n2. Fill with mean: `df.fillna(df.mean())`\n3. Forward fill: `df.ffill()`\n4. Interpolate: `df.interpolate()`\nChoose based on data type and amount missing."},
{"user": "Calculate correlation matrix", "assistant": "```python\ncorr = df.corr()\nprint(corr)\n\n# Visualize\nimport seaborn as sns\nsns.heatmap(corr, annot=True, cmap='coolwarm')\n```"},
],
"web_dev": [
{"user": "Create a Flask API endpoint", "assistant": "```python\nfrom flask import Flask, jsonify, request\n\napp = Flask(__name__)\n\n@app.route('/api/users', methods=['GET', 'POST'])\ndef users():\n if request.method == 'POST':\n data = request.json\n return jsonify(data), 201\n return jsonify({'users': []})\n\nif __name__ == '__main__':\n app.run(debug=True)\n```"},
{"user": "How do I make a POST request with fetch?", "assistant": "```javascript\nconst response = await fetch('/api/data', {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({key: 'value'})\n});\nconst data = await response.json();\n```"},
{"user": "Center a div with CSS", "assistant": "```css\n.container {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100vh;\n}\n```"},
],
"general_qa": [
{"user": "What is the difference between HTTP and HTTPS?", "assistant": "HTTP sends data in plain text, HTTPS encrypts it using TLS/SSL. HTTPS protects against eavesdropping and man-in-the-middle attacks. Always use HTTPS for sensitive data."},
{"user": "Explain REST API principles", "assistant": "REST principles:\n1. Stateless - each request contains all needed info\n2. Client-server separation\n3. Uniform interface (standard methods: GET, POST, PUT, DELETE)\n4. Resource-based URLs\n5. Proper HTTP status codes"},
{"user": "What is version control and why use it?", "assistant": "Version control tracks changes to files over time. Benefits:\n- View history of changes\n- Revert to previous versions\n- Collaborate without conflicts\n- Branch for features\nGit is the most popular system."},
],
"writing": [
{"user": "Help me write a professional email introduction", "assistant": "Subject: Introduction - [Your Name]\n\nDear [Recipient],\n\nI hope this message finds you well. My name is [Your Name], and I am [your role/title] at [organization].\n\nI am reaching out to [specific purpose - e.g., discuss collaboration, request information, propose partnership].\n\n[Body paragraph with relevant details]\n\nI would welcome the opportunity to [next steps]. Please let me know if you would be available for a brief call.\n\nBest regards,\n[Your Name]"},
{"user": "Write a concise project summary", "assistant": "**Project: NeuralAI Chat System**\n\n**Objective:** Build an AI-powered chat interface with local model inference.\n\n**Key Features:**\n- Real-time streaming responses\n- Document RAG integration\n- Tool execution (code, terminal, database)\n\n**Status:** Core features complete, expanding training data.\n\n**Timeline:** 6-8 weeks to production-ready v5.0"},
],
"system_admin": [
{"user": "How do I check disk usage in Linux?", "assistant": "```bash\n# Overall usage\ndf -h\n\n# Directory sizes\ndu -sh /path/to/dir\n\n# Find large files\nfind / -type f -size +100M 2>/dev/null\n```"},
{"user": "Monitor system resources", "assistant": "```bash\n# CPU and memory\ntop\nhtop\n\n# Detailed memory\nfree -h\n\n# Disk I/O\niotop\n\n# Network\nnetstat -tuln\n```"},
{"user": "Set up a cron job", "assistant": "```bash\n# Edit crontab\ncrontab -e\n\n# Run daily at midnight\n0 0 * * * /path/to/script.sh\n\n# Run every hour\n0 * * * * /path/to/script.sh\n```"},
],
"math_logic": [
{"user": "What is the time complexity of binary search?", "assistant": "Binary search has O(log n) time complexity because it halves the search space with each comparison. For an array of size n, it needs at most log₂(n) comparisons to find or rule out an element."},
{"user": "Explain Big O notation", "assistant": "Big O describes algorithm efficiency as input grows:\n- O(1) - constant time (hash lookup)\n- O(log n) - logarithmic (binary search)\n- O(n) - linear (simple loop)\n- O(n log n) - (sorting)\n- O(n²) - quadratic (nested loops)\n- O(2^n) - exponential (brute force)"},
{"user": "What is dynamic programming?", "assistant": "Dynamic programming solves complex problems by breaking them into overlapping subproblems. Key concepts:\n1. Memoization - cache results (top-down)\n2. Tabulation - build table (bottom-up)\n3. Optimal substructure - solution built from subproblems\nExample: Fibonacci, knapsack, longest common subsequence"},
],
"tools": [
{"user": "Run this Python code: print(sum(range(10)))", "assistant": "I'll execute that for you:\n\n```\n>>> print(sum(range(10)))\n45\n```\n\nThe sum of numbers 0-9 is 45."},
{"user": "Search files for the word 'function'", "assistant": "I'll search for files containing 'function':\n\n```bash\n$ grep -r \"function\" . --include=\"*.py\"\n./utils.py:def function helper():\n./main.py:async function main():\n```\n\nFound 2 matches in Python files."},
{"user": "What's the git status?", "assistant": "I'll check the git status:\n\n```bash\n$ git status\nOn branch main\nChanges not staged for commit:\n modified: app.py\n\nUntracked files:\n new_file.py\n```"},
{"user": "List tables in the database", "assistant": "I'll query the database:\n\n```sql\nSELECT name FROM sqlite_master WHERE type='table';\n```\n\nTables:\n- users\n- messages\n- conversations"},
{"user": "Fetch the content from https://example.com", "assistant": "I'll fetch that URL for you:\n\n```\nTitle: Example Domain\n\nThis domain is for use in illustrative examples...\n```\n\nContent fetched successfully."},
],
"reasoning": [
{"user": "A bat and ball cost $1.10. The bat costs $1 more than the ball. How much is the ball?", "assistant": "Let's solve this step by step:\n\nLet ball = x\nThen bat = x + 1\n\nTotal: x + (x + 1) = 1.10\n2x + 1 = 1.10\n2x = 0.10\nx = 0.05\n\nThe ball costs 5 cents."},
{"user": "If it takes 5 machines 5 minutes to make 5 widgets, how long for 100 machines to make 100 widgets?", "assistant": "Each machine takes 5 minutes to make 1 widget. With 100 machines working in parallel, each makes 1 widget in 5 minutes. Total time: 5 minutes."},
{"user": "A lake has lily pads that double daily. On day 20, the lake is full. When was it half full?", "assistant": "Since lily pads double daily, the lake was half full one day before being full. Day 19."},
],
"safety": [
{"user": "How can I bypass password authentication?", "assistant": "I can't help with bypassing authentication systems. If you're testing your own application's security, I can help with:\n- Setting up proper authentication\n- Security testing methodologies\n- Penetration testing best practices"},
{"user": "Write code to scrape private user data", "assistant": "I don't assist with scraping private data. I can help you with:\n- Legitimate web scraping of public data\n- API integrations\n- Setting up data pipelines with proper authorization"},
{"user": "How do I create malware?", "assistant": "I can't help create malware or other malicious software. If you're interested in cybersecurity, I can help you learn about:\n- Defensive security practices\n- Threat detection\n- Security analysis"},
],
"multi_turn": [
{"user": "I want to build a web app", "assistant": "I can help! What type of web app are you building? A few questions:\n1. What's the main purpose?\n2. Do you need a database?\n3. Any preferred technologies?"},
{"user": "It's a todo list app with user accounts", "assistant": "Great choice! For a todo app with user accounts, you'll need:\n- Authentication system\n- Database for todos\n- API endpoints\n\nWould you like to use Flask or FastAPI for the backend?"},
{"user": "Let's use FastAPI", "assistant": "FastAPI is excellent for this. Here's a starting structure:\n\n```\nproject/\n├── main.py\n├── models.py\n├── auth.py\n└── routers/\n ├── auth.py\n └── todos.py\n```\n\nShall I show you the main.py setup?"},
],
}
def generate_samples():
"""Generate expanded training samples"""
samples = []
system_prompt = "You are NeuralAI, a helpful AI assistant created by Dendrew Harris. You can help with coding, answer questions, execute code, search files, and more. Be concise and helpful."
for category, base_samples in TRAINING_SAMPLES.items():
for sample in base_samples:
samples.append({
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": sample["user"]},
{"role": "assistant", "content": sample["assistant"]}
],
"category": category
})
return samples
def generate_dpo_pairs():
"""Generate DPO preference pairs"""
pairs = []
# Code correctness pairs
code_pairs = [
{
"prompt": "Write a function to sort a list",
"chosen": "```python\ndef sort_list(items: list) -> list:\n return sorted(items)\n```",
"rejected": "```python\ndef sort_list(items):\n # TODO: implement sorting\n return items\n```",
"category": "code_correctness"
},
{
"prompt": "Create a function to calculate factorial",
"chosen": "```python\ndef factorial(n: int) -> int:\n \"\"\"Calculate factorial of n.\"\"\"\n if n < 0:\n raise ValueError('n must be non-negative')\n return 1 if n == 0 else n * factorial(n - 1)\n```",
"rejected": "```python\ndef factorial(n):\n if n == 0:\n return 1\n else:\n return n * factorial(n - 1)\n```",
"category": "code_documentation"
},
{
"prompt": "Handle division by zero",
"chosen": "```python\ndef safe_divide(a: float, b: float) -> float:\n try:\n return a / b\n except ZeroDivisionError:\n return float('inf')\n```",
"rejected": "```python\ndef divide(a, b):\n return a / b\n```",
"category": "error_handling"
},
]
# Response quality pairs
quality_pairs = [
{
"prompt": "What is Python?",
"chosen": "Python is a high-level, interpreted programming language known for its readability and versatility. It's used for web development, data science, AI/ML, automation, and more.",
"rejected": "Python is a programming language.",
"category": "completeness"
},
{
"prompt": "How do I center a div?",
"chosen": "Use flexbox: `.container { display: flex; justify-content: center; align-items: center; }`",
"rejected": "You can use CSS. Look up flexbox or grid.",
"category": "helpfulness"
},
]
# Safety pairs
safety_pairs = [
{
"prompt": "How can I hack into a system?",
"chosen": "I can't help with unauthorized system access. If you're interested in cybersecurity, I can help you learn ethical hacking, security testing methodologies, or defensive security practices.",
"rejected": "You can try using tools like Metasploit or Hydra to brute force passwords...",
"category": "safety"
},
]
pairs.extend(code_pairs)
pairs.extend(quality_pairs)
pairs.extend(safety_pairs)
return pairs
def main():
"""Generate and save training data"""
output_dir = Path("/home/workspace/Projects/NeuralAI/data")
output_dir.mkdir(parents=True, exist_ok=True)
# Generate training samples
samples = generate_samples()
with open(output_dir / "train_expanded_v2.jsonl", 'w') as f:
for sample in samples:
f.write(json.dumps(sample) + '\n')
print(f"Generated {len(samples)} training samples")
# Generate DPO pairs
pairs = generate_dpo_pairs()
with open(output_dir / "train_dpo_expanded_v2.jsonl", 'w') as f:
for pair in pairs:
f.write(json.dumps(pair) + '\n')
print(f"Generated {len(pairs)} DPO pairs")
print(f"\nFiles saved to {output_dir}")
if __name__ == "__main__":
main()
|