41554 blogs · [ { "id": "01a0875f-dd24-728a-8d3b-06047d1113c2", "title": "A Fun PydanticAI Example For Automating Your Life", "url": "https://christophergs.com/blog/pydantic-ai-example-github-actions", "published_at": "2025-02-08T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047d362346", "title": "ZIRP's End Meets AI - Changing the Rules of Software Work", "url": "https://christophergs.com/blog/zirp-ai-implications", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047db5d709", "title": "Observability for Generative AI", "url": "https://christophergs.com/blog/observability-for-ai-vs-ml", "published_at": "2025-01-26T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047e11fd4f", "title": "Scaling AI with Open-Source Models - Leveraging Together AI for Enhanced Applications", "url": "https://christophergs.com/blog/scaling-ai-open-source-models-together-ai-infrastructure", "published_at": "2024-03-06T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047e39b780", "title": "The Technical User's Introduction to LLM Tokenization", "url": "https://christophergs.com/blog/understanding-llm-tokenization", "published_at": "2024-02-27T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047e49aa07", "title": "Django SEO: A Sitemap Tutorial For Humans", "url": "https://christophergs.com/blog/django-sitemap-tutorial-for-humans", "published_at": "2024-02-22T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047e5320bc", "title": "Production RAG with a Postgres Vector Store and Open-Source Models", "url": "https://christophergs.com/blog/production-rag-with-postgres-vector-store-open-source-models", "published_at": "2024-02-12T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047e7dd082", "title": "Leveraging Open Source Models for AI Evaluation with DeepEval", "url": "https://christophergs.com/blog/ai-engineering-evaluation-with-deepeval-and-open-source-models", "published_at": "2024-02-04T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047f14c8f3", "title": "Retrieval Augmented Generation (RAG) with Llama Index and Open-Source Models", "url": "https://christophergs.com/blog/ai-engineering-retrieval-augmented-generation-rag-llama-index", "published_at": "2024-01-28T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047f73f455", "title": "AI Engineering with Open-Source Models - Ultimate Tutorial", "url": "https://christophergs.com/blog/ai-engineering-ultimate-tutorial", "published_at": "2024-01-21T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06047fd4c0cb", "title": "Running Open Source LLMs In Python - A Practical Guide", "url": "https://christophergs.com/blog/running-open-source-llms-in-python", "published_at": "2024-01-21T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060480b87105", "title": "Transcribing Audio mp3 files with Python and OpenAI's Whisper Model", "url": "https://christophergs.com/blog/ai-podcast-transcription-whisper", "published_at": "2024-01-14T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048163dc53", "title": "The Technical User's Introduction to Large Language Models (LLMs)", "url": "https://christophergs.com/blog/intro-to-large-language-models-llms", "published_at": "2024-01-05T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060482313517", "title": "The FastAPI Ultimate Tutorial", "url": "https://christophergs.com/python/2021/12/04/fastapi-ultimate-tutorial/", "published_at": "2021-12-04T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604826f5cd3", "title": "FastAPI vs Flask - The Complete Guide", "url": "https://christophergs.com/python/2021/06/16/python-flask-fastapi/", "published_at": "2021-06-16T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060482c5ba2f", "title": "Python tox - Why You Should Use It and Tutorial", "url": "https://christophergs.com/python/2020/04/12/python-tox-why-use-it-and-tutorial/", "published_at": "2020-04-12T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604834cb692", "title": "Monitoring Machine Learning Models in Production", "url": "https://christophergs.com/machine%20learning/2020/03/14/how-to-monitor-machine-learning-models/", "published_at": "2020-03-14T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048380d537", "title": "First Impressions of Data Science Version Control (DVC)", "url": "https://christophergs.com/machine%20learning/2019/05/13/first-impressions-of-dvc/", "published_at": "2019-05-13T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060483e5ff31", "title": "Top 10 Software Development Fundamentals for Data Scientists", "url": "https://christophergs.com/machine%20learning/2019/04/21/software-engineering-fundamentals-for-data-scientists/", "published_at": "2019-04-21T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604845f64fc", "title": "Deploying Machine Learning Models in Shadow Mode", "url": "https://christophergs.com/machine%20learning/2019/03/30/deploying-machine-learning-applications-in-shadow-mode/", "published_at": "2019-03-30T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604853bc510", "title": "How to Deploy Machine Learning Models", "url": "https://christophergs.com/machine%20learning/2019/03/17/how-to-deploy-machine-learning-models/", "published_at": "2019-03-17T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060486275821", "title": "Elegant Flask API Development Part 1", "url": "https://christophergs.com/python/2018/09/25/elegant-flask-apis-pt-1/", "published_at": "2018-09-25T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060486874ca9", "title": "Using Python Concurrent Futures", "url": "https://christophergs.com/python/2018/03/25/python-concurrent-futures/", "published_at": "2018-03-25T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060486e1e827", "title": "RollTec Write Up", "url": "https://christophergs.com/python/2017/02/26/rolltec-paper/", "published_at": "2017-02-26T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060487d242b2", "title": "Using Python smtplib and smptd", "url": "https://christophergs.com/python/2017/01/28/python-smtp/", "published_at": "2017-01-28T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060488cc6fd1", "title": "Overview of Python Generators Part 1", "url": "https://christophergs.com/python/2017/01/21/python-generators-part-one/", "published_at": "2017-01-21T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060489c85098", "title": "Using Python errno", "url": "https://christophergs.com/python/2017/01/15/python-errno/", "published_at": "2017-01-15T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048a64a0ad", "title": "Using Python copy", "url": "https://christophergs.com/python/2017/01/07/python-copy/", "published_at": "2017-01-07T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048a9df6ff", "title": "Using Python glob", "url": "https://christophergs.com/python/2017/01/01/python-glob/", "published_at": "2017-01-01T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048b3fc67c", "title": "Using Python unittest.mock", "url": "https://christophergs.com/python/2016/12/26/python-unittest-mock/", "published_at": "2016-12-26T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048b9bf54e", "title": "Using Python datetime", "url": "https://christophergs.com/python/2016/12/18/python-datetime/", "published_at": "2016-12-18T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048c72eaff", "title": "Using Python setuptools", "url": "https://christophergs.com/python/2016/12/11/python-setuptools/", "published_at": "2016-12-11T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048d4f2b5f", "title": "Using urllib.parse in Python", "url": "https://christophergs.com/python/2016/12/03/python-urllib-parse/", "published_at": "2016-12-03T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048daa6552", "title": "Using the Python json Library", "url": "https://christophergs.com/python/2016/11/27/python-json/", "published_at": "2016-11-27T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048e1e90e2", "title": "An Overview of Cross-Site Scripting", "url": "https://christophergs.com/security/2016/09/29/xss-overview/", "published_at": "2016-09-29T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048e342a2c", "title": "MetaWear Guide Series Part 10", "url": "https://christophergs.com/iot/2016/02/29/metawear-guide-pt10/", "published_at": "2016-02-29T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048f14c6ad", "title": "MetaWear Guide Series Part 9", "url": "https://christophergs.com/iot/2016/02/28/metawear-guide-pt9/", "published_at": "2016-02-28T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06048f64c937", "title": "MetaWear Guide Series Part 8", "url": "https://christophergs.com/iot/2016/02/28/metawear-guide-pt8/", "published_at": "2016-02-28T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604901f9feb", "title": "MetaWear Guide Series Part 7", "url": "https://christophergs.com/iot/2016/02/26/metawear-guide-pt7/", "published_at": "2016-02-26T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604908d544f", "title": "MetaWear Guide Series Part 6", "url": "https://christophergs.com/iot/2016/02/22/metawear-guide-pt6/", "published_at": "2016-02-22T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-06049172fa35", "title": "MetaWear Guide Series Part 5", "url": "https://christophergs.com/iot/2016/02/07/metawear-guide-pt5/", "published_at": "2016-02-07T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060491aa2b00", "title": "MetaWear Guide Series Part 4", "url": "https://christophergs.com/iot/2016/02/06/metawear-guide-pt4/", "published_at": "2016-02-06T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604929c6a6f", "title": "MetaWear Guide Series Part 3", "url": "https://christophergs.com/iot/2016/01/31/metawear-guide-pt3/", "published_at": "2016-01-31T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-060492b23765", "title": "MetaWear Guide Series Part 2", "url": "https://christophergs.com/iot/2016/01/24/metawear-guide-pt2/", "published_at": "2016-01-24T00:00:00+00:00" }, { "id": "01a0875f-dd24-728a-8d3b-0604932fec89", "title": "MetaWear Guide Series Part 1", "url": "https://christophergs.com/iot/2016/01/17/metawear-guide-pt1/", "published_at": "2016-01-17T00:00:00+00:00" } ] posts Claim your blog
Back to christophergs.com
Blog · corpus.blog/blogs/christophergs.com/posts

christophergs.com

christophergs.com

2025

2024

2021

2020

2019

2018

2017

2016