Creative Codes

Services · AI & Machine Learning

Models that work in production, not just notebooks.

Custom ML models, LLM integrations, and RAG pipelines built for production data at production volume. No science projects.

analyze.py · bashrunning
# NLP analysis: 10 000 product reviews
$ python analyze.py --input reviews.jsonl --model sentiment-v3
✓ model loaded distilbert-base (67M params)
✓ vectorstore 148 402 embeddings indexed
→ [0000/10000] processing batch…
✓ [2500/10000] acc 97.2% | 840 docs/s
✓ [5000/10000] acc 97.1% | 855 docs/s
✓ [7500/10000] acc 97.4% | 861 docs/s
✓ [10000/10000] done | 1.3s total inference
→ 1 284 positive · 8 341 neutral · 375 negative
→ 47 anomalies flagged → automation layer

What we build

Every layer of the ML stack.

Custom ML Models

Classification, regression, clustering. Trained on your data, tuned to your KPIs, served behind a FastAPI endpoint.

LLM Integration & Fine-Tuning

Connect GPT, Claude, or open-source models to your workflows. Fine-tune for domain-specific accuracy when general models fall short.

RAG Pipelines

Retrieval-augmented generation that grounds LLM responses in your actual data. Vector search, chunking strategy, and hallucination reduction.

NLP & Text Analysis

Sentiment analysis, entity extraction, document classification, and summarization. One document or 50k, same interface.

Anomaly Detection

Statistical and ML-based detection of outliers in pricing, transactions, user behavior, or equipment telemetry. Real-time or batch.

Predictive Analytics

Forecast demand, churn, pricing trends, or inventory needs. Models retrained automatically as new data flows in.

Stack

PythonClaudeOpenAI APILangChainLangGraphLlamaIndexOpenClawPyTorchHugging FaceQdrantOllamaFastAPI

How the code looks.

pipeline.py
async def process_reviews(reviews: list[str]) -> AnalysisResult:
    embeddings = model.encode(reviews, batch_size=64)
    clusters = HDBSCAN(min_cluster_size=10).fit(embeddings)

    sentiments = await asyncio.gather(*[
        analyze_sentiment(review) for review in reviews
    ])

    topics = extract_topics(embeddings, clusters.labels_)
    anomalies = detect_outliers(sentiments, threshold=2.5)

    return AnalysisResult(
        topics=topics,
        sentiment_distribution=Counter(sentiments),
        anomalies=anomalies,
        cluster_count=clusters.labels_.max() + 1
    )

model.encode(reviews, batch_size=64)

Sentence-transformer embeddings. Batching avoids OOM on large review sets. 64 is tuned for a 16GB GPU.

HDBSCAN(min_cluster_size=10)

Density-based clustering that discovers the number of clusters automatically. No need to pre-specify K.

detect_outliers(sentiments, threshold=2.5)

Z-score based anomaly detection on the sentiment distribution. 2.5σ catches ~1.2% of reviews for manual review.

After we process your data.

Insights without action are just reports. Our automation layer turns ML outputs into triggered workflows: alerts, updates, API calls, and business actions that happen without human intervention.

Have data that needs a model?

Tell us what you're trying to predict or classify.

Start a conversation