<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <title>Tinz Twins Hub</title>
    <link>https://steady.page/tinztwins-hub</link>
    <description>Your knowledge Hub for AI engineering. Learn all about agentic AI, data science, and software engineering. </description>
    <image>
      <url>https://assets.steadyhq.com/production/publication/eedbc21a-9c90-4b58-9559-7232d503367f/logo/1696533250?auto=format&amp;h=1400&amp;w=1400&amp;fit=crop&amp;fm=jpg&amp;crop=faces</url>
      <title>Tinz Twins Hub</title>
      <link>https://steady.page/tinztwins-hub</link>
    </image>
    <atom:link type="application/rss+xml" rel="self" href="https://steady.page/tinztwins-hub/rss"/>
    <item>
      <title><![CDATA[Our Ultimate Local AI Coding Setup in VS Code]]></title>
      <description><![CDATA[AI coding agents have become an essential part of a modern developer’s workflow. But have you ever felt unwell about sending your proprietary code, company secrets, or…]]></description>
      <content:encoded><![CDATA[<h1>Offline and Lightning-Fast: Our Ultimate Local AI Coding Setup in VS Code</h1><img src="https://assets.steadyhq.com/production/post/49d0662f-7724-411d-96a9-bed5b293d1f3/uploads/images/huaxxmdkwq/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt=""/><p>AI coding agents have become an essential part of a modern developer’s workflow. But have you ever felt unwell about sending your proprietary code, company secrets, or sensitive customer data to external cloud servers?</p><p>Understandable. More and more companies are limiting the use of cloud-based AI for exactly these data privacy reasons. What if you could get the same—or even better—performance <strong>completely free </strong>and running <strong>locally on your computer</strong>?</p><p>There’s a way to run an extremely powerful AI coding setup right on your local machine—completely offline, no account required, and fully GDPR-compliant.</p><p>Whether you’re on a train, on a plane, or in the middle of nowhere with no signal, your coding AI always runs at full power with zero lag from bad internet.</p><p>In this guide, we’ll show you how to set up Continue.dev in VS Code and how we use it in our development workflow on our MacBook Pro M4 Max with 48 GB of Unified Memory.</p><p>By the way: Our productivity has skyrocketed.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>What Is Continue.dev?</strong></p></li><li><p><strong>Top Features of Continue.dev</strong></p></li><li><p><strong>Step-by-Step Guide: Our 100% Local Setup</strong></p></li><li><p><strong>How the M4 Max Performs in Everyday Use</strong></p></li><li><p><strong>Cloud vs. Local: The Direct Comparison</strong></p></li><li><p><strong>Conclusion: The Era of Cloud-Dependent AI Is Over</strong></p></li></ul><p><strong>💡 PLUS: Our exact config.yaml configuration.</strong></p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/49d0662f-7724-411d-96a9-bed5b293d1f3">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/49d0662f-7724-411d-96a9-bed5b293d1f3/uploads/images/huaxxmdkwq/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/49d0662f-7724-411d-96a9-bed5b293d1f3</link>
      <guid isPermaLink="false">49d0662f-7724-411d-96a9-bed5b293d1f3</guid>
      <pubDate>Fri, 29 May 2026 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[How to Expose Agno Agents Using the A2A Protocol]]></title>
      <description><![CDATA[AI agents offer a unique opportunity to automate and enhance complex processes. But to maximize the full potential of agentic AI, it is crucial that AI agents are able…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/23e357f9-ab87-47f0-b0d4-c726833020bb/uploads/images/t2ssodkkpt/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Abstract digital illustration featuring interconnected data bubbles on a blue background, symbolizing modern communication and information exchange, with tinztwinshub.com branding visible."/><p>AI agents offer a unique opportunity to automate and enhance complex processes. But to maximize the full potential of agentic AI, it is crucial that AI agents are able to collaborate within a dynamic multi-agent ecosystem.</p><p>Agents need to be able to work together seamlessly, even if they were developed by different vendors or built on different frameworks. This increases the autonomy of these systems and reduces costs in the long run.</p><p>This is where the Agent2Agent (A2A) protocol comes into play. It’s an open standard designed for seamless communication and collaboration between AI agents.</p><p>This guide introduces the fundamentals of the A2A protocol and demonstrates how to use it with the Agno framework.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>What is Agent2Agent (A2A) Protocol?</strong></p><ul><li><p>Problems that A2A Solves</p></li><li><p>Key Concepts and Components</p></li><li><p>How A2A and MCP Work Together</p></li></ul></li><li><p><strong>Technical Requirements</strong></p></li><li><p><strong>Expose Agno Agents via the A2A Protocol</strong></p></li><li><p><strong>Connect an A2A Client to A2A Servers</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/23e357f9-ab87-47f0-b0d4-c726833020bb">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/23e357f9-ab87-47f0-b0d4-c726833020bb/uploads/images/t2ssodkkpt/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/23e357f9-ab87-47f0-b0d4-c726833020bb</link>
      <guid isPermaLink="false">23e357f9-ab87-47f0-b0d4-c726833020bb</guid>
      <pubDate>Tue, 27 Jan 2026 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Turn Your Agno AgentOS Into a Powerful MCP Server: Here’s How]]></title>
      <description><![CDATA[AI agents are becoming increasingly autonomous and complex. The trend is moving toward Agentic AI—systems that not only respond but also take independent actions, plan…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec/uploads/images/b3n6cpujlm/agentos-mcp.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Illustration of an AgentOS as an MCP Server"/><p>AI agents are becoming increasingly autonomous and complex. The trend is moving toward Agentic AI—systems that not only respond but also take independent actions, plan tasks, and interact with other agents.</p><p>This requires a platform that reliably manages this autonomy. The solution is an AgentOS, which orchestrates, monitors, and controls these agents.</p><p>Agno’s AgentOS is a production-ready runtime that can run entirely within your own infrastructure. It serves as a central hub for your AI agents and provides a unified API for execution, monitoring, and management.</p><p>In this detailed guide, we show you how to expose an AgentOS as an MCP server for external clients that can handle MCP-compatible applications.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Why Use MCP (Model Context Protocol)</strong></p></li><li><p><strong>Technical Requirements</strong></p></li><li><p><strong>Implementation: AgentOS as an MCP Server</strong></p><ul><li><p>Set Up the Database With Docker</p></li><li><p>Create the Agent Logic Using Ollama</p></li><li><p>Set Up the AgentOS With MCP Enabled</p></li><li><p>Overview of Available MCP Tools</p></li></ul></li><li><p><strong>Implementation of an MCP Client</strong></p></li><li><p><strong>Testing AgentOS MCP</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec/uploads/images/b3n6cpujlm/agentos-mcp.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec</link>
      <guid isPermaLink="false">08fe1c15-2a57-41a4-8ae2-a1dec5e15aec</guid>
      <pubDate>Tue, 30 Dec 2025 16:00:01 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[This Is What You Can Expect at Tinz Twins Hub]]></title>
      <description><![CDATA[Discover our comprehensive collection of practical guides covering various topics such as Generative AI, Large Language Models, Agentic AI, Python in Finance ...]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/3e94f36b-5860-43bb-80af-da10b06da42b/uploads/images/a4g5ofha7h/header-img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Illustration of text files"/><p><em>Updated: May 30, 2026</em></p><p>Our AI Engineering Hub is a guide-based learning platform. You can work through each guide independently.</p><p>Discover our comprehensive collection of practical guides covering various topics such as Generative AI, Large Language Models, Agentic AI, Python in Finance, Machine Learning methods, and more. Enjoy learning!</p><p><a href="https://steady.page/en/tinztwins-hub/about">Become a member</a></p><h2><strong>😉 Insights</strong></h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/insights/our-journey-to-become-a-data-scientist/">Our Journey to Become a Data Scientist</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/insights/the-democratization-of-ai-and-finance-must-go-hand-in-hand/">DSBoost Interview</a></p></li></ul><hr aria-hidden="true"/><h2>🐍 Python in Finance</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/openbb-platform/">A Beginner’s Guide to the OpenBB</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/b44778fa-c089-4afd-924f-96fe4766f80d">EDGAR Tools: Python Package to Get SEC Filings</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/mastering-bollinger-bands-a-comprehensive-guide-with-python-and-openbb/">Bollinger Bands: A Guide with Python and OpenBB</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/e2285963-962d-4588-b079-3f4db811608f">DateTimeIndex in Pandas for Time Series Analysis</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/93854785-dbff-4f9a-b638-651e89ac80db">Stock Market Data: Time Resampling with OpenBB and Pandas</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/time-shifting-in-pandas-using-the-time-series-data-from-tesla-stock/">Time Shifting in Pandas Using Stock Market Data</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/5b096798-90e3-40c9-816b-592e09daeb30">Portfolio Allocation: Analyze a Stock Portfolio Using Python</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/96c185af-b3be-423b-89c0-21193b8c7ee9">Mastering the Capital Asset Pricing Model (CAPM) Using Python</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/9aa29849-33a7-46e1-a697-4eea805b4cc7">Portfolio Optimization Using the Markowitz Model in Python</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/eeed2bc0-4732-4125-a015-0e84bc265d7e">Build a Segmented Revenues API for Public Companies</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/bec5f568-3315-4056-9def-e4307010fd85">Visualize financial data with beautiful Sankey diagrams</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/d9346fca-20b5-4126-a584-f58f0fbf80b8">Convert a Time Series into a Classification Problem</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/c987d5c6-7f9f-4788-ac5c-e3a71f0f2a6d">Detection of Credit Card Fraud with an Autoencoder</a></p></li></ul><hr aria-hidden="true"/><h2>🧠 Machine Learning Methods</h2><ul><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/a396881e-8208-424a-b965-0000f68c212f">Linear Regression: Theory and Practice</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/b9bde64f-fb09-4752-b220-969c0648f063">A Visual Guide to Ensemble Methods + Practical Example</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/a-beginners-guide-to-developing-an-artificial-neural-network-from-zero/">Artificial Neural Network from Scratch</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/beginners-guide-to-convolutional-neural-networks-using-tensorflow-and-keras/">Convolutional Neural Networks: A Beginner Guide</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/99e05074-34ea-4f17-9022-5d48f6ec4c11">Basic Concepts Of Explainable Artificial Intelligence</a></p></li></ul><hr aria-hidden="true"/><h2><strong>📈 Statistics</strong></h2><ul><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/172e2ed6-c4fd-4d7a-8696-78562adfa330">Univariate Discrete Distributions</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/exploring-the-fundamentals-of-the-statistical-bootstrap-approach/">Bootstrap Method: An Introduction With a Python Example</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/easy-to-understand-guide-to-cross-validation-for-beginners/">An Introduction to Cross-Validation</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/effectively-distributing-your-funds-among-various-investment-options/">Return Correlation in the Portfolio Example</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/8982f30b-f124-4303-ab20-7b5a7441b487">Time Series Analysis: A Beginner’s Guide with statsmodels</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/945f422d-5d27-47aa-b6fa-8d75f33872f1">Introduction to ARIMA Models for Newbies</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/f8ea5ab5-4da2-4282-9632-808a3e2204c6">An Introduction to ETS Models</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/59332cbf-1004-4c9d-96b4-f55cf427f501">Time Series Analysis: Exponentially Weighted Moving Average</a></p></li></ul><hr aria-hidden="true"/><h2><strong>🤖 GenAI, LLMs, and RAG</strong></h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/data-science/run-genai-models-locally-with-docker-model-runner/">Run GenAI Models locally with Docker Model Runner</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/build-a-local-rag-app-to-chat-with-earnings-reports/">Build a Local RAG App to Chat with Earnings Reports</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/build-a-local-chatbot-in-minutes-with-chainlit/">Build a Local Chatbot in Minutes with Chainlit</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/3776f18b-8753-457a-91b0-8312a2ef04d7">LangChain: A Beginner Guide</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/6de9da0b-c875-4e1e-8eb6-7a7697e64648">LangChain: Chat with Earnings Reports of Companies</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/0a28bfa3-cae7-46cf-ae62-8f57b4d132f3">LangChain: Chat with an Earnings Call on YouTube</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/91e54763-958f-4701-9edf-1663dc1d699e">Prompt Engineering for Developers: A Practical Guide</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/a4d23aca-06a7-4cae-a403-b72f4c2d605e">Build an OpenAI-Compatible API for Open-Source LLMs from Scratch</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/84f9ee10-532a-4a36-a279-b740b32c875b">Responsible Development of an LLM Application</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/630fd0a8-c583-4c76-a186-2c2c84f0b047">Keyword Search and LLMs</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/255aed88-5dd0-4982-9283-eeb6c5dcca6e">Lamini: Fine-Tune a Large Language Model</a></p></li></ul><hr aria-hidden="true"/><h2>↔️ Agent Protocol Stack</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/data-science/an-introduction-to-anthropic-model-context-protocol-mcp-with-python/">Anthropic’s Model Context Protocol (MCP) with Python</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/how-to-expose-your-agno-agent-as-an-ag-ui-compatible-app/">Expose an Agno Agent as an AG-UI Compatible App</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec">Turn Your Agno AgentOS Into a Powerful MCP Server</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/23e357f9-ab87-47f0-b0d4-c726833020bb">How to Expose Agno Agents Using the A2A Protocol</a></p></li></ul><hr aria-hidden="true"/><h2>✨ Agentic AI Systems</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/every-ai-engineer-is-talking-about-agno/">Agent Engineering with Agno</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/build-an-ai-finance-agent-team-with-phidata/">Build an AI Finance Agent Team</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/build-an-ai-investment-agent-with-chainlit-and-phidata/">Build an AI Investment Agent with Chainlit</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/build-a-local-ai-agent-to-chat-with-financial-charts-using-agno/">Build a Local AI Agent to Chat with Financial Charts Using Agno</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/build-a-local-ai-agent-with-memory-using-agno-and-gpt-oss/">Build a Local AI Agent with Memory Using Agno</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/build-a-local-ai-agent-with-knowledge-and-storage-using-agno/">Build a Local AI Agent with Knowledge and Storage Using Agno</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/investment-research/build-a-multi-agent-stock-market-analyst-to-compare-stock-price-performance/">Build a Multi-Agent Stock Market Analyst to Compare Stock Price Performance</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/create-an-agent-os-with-agno/">Create a Local AgentOS with Agno</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/08fe1c15-2a57-41a4-8ae2-a1dec5e15aec">Turn Your Agno AgentOS Into a Powerful MCP Server</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/9a00a226-c474-4aea-9f46-094c0cd400b5">Build a financial multi-agent system with AG2 and Ollama</a></p></li></ul><hr aria-hidden="true"/><h2>👨🏽‍💻 Programming Best Practices</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/data-science/7-hidden-python-tips-for-2024/">7 Hidden Python Tips</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/boost-your-numpy-code-efficiency/">Speed Up your NumPy Code with NumExpr</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/improve-your-r-skills-for-better-performance/">Tips and Tricks to Improve Your R Skills</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/discover-pythons-strength-top-tips-for-language-mastery/">Unlock the Full Potential of Python</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/boost-your-python-expertise-with-ease/">Speed Up your Python Skills</a></p></li></ul><hr aria-hidden="true"/><h2>🖥️ Web Development</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/rest-api-the-key-player-in-modern-web-development/">REST API: The Hero of Modern Web Development</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/say-goodbye-to-slow-apis-with-fastapi/">An Introduction to FastAPI</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/understand-service-workers-of-a-pwa-part-1/">Understand Service Workers of a PWA (Part 1)</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/understand-the-offline-functionality-of-a-pwa-part-2/">Understand the Offline Functionality of a PWA (Part 2)</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/8033a6e7-c603-421e-be69-2a26a3bb8382">Build a Chatbot with Plotly Dash</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/8e58df70-5aa1-4850-851f-657336632aef">Build Enterprise-Level Apps with Plotly Dash</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/build-web-apps-with-reflex-in-minutes-using-pure-python/">Build Web Apps with Reflex in Minutes Using Pure Python</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/f1583996-9a30-4975-905e-e761749a9f9b">Build a Stock Dashboard with Reflex and OpenBB</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/e6522ade-8f62-4a60-bed1-08324581cfd7">Build Full-Stack Chatbot App in Python Using Reflex and Agno</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/233201df-dfd8-4edc-afe9-eddee8d96f2f">Deploy a Plotly Dash App to Hugging Face Using Docker</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/deploying-a-web-application-using-docker-on-render-at-no-cost/">Deploy a Web App With Docker on Render</a></p></li></ul><hr aria-hidden="true"/><h2>📊 Data Visualization</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/data-science/develop-engaging-charts-using-plotly-express-in-python/">Create Impressive Charts Using Plotly Express in Python</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/bec5f568-3315-4056-9def-e4307010fd85">Visualize financial data with beautiful Sankey diagrams</a></p></li></ul><hr aria-hidden="true"/><h2><strong>💻 Development and Operations</strong></h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/homebrew-package-manager/">Homebrew - Package Manager for Mac</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/miniconda-on-apple-silicon-macbook/">Using Miniconda x86_64 &amp; Apple Silicon Side-by-Side</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/docker-basics/">A beginner-friendly introduction to Docker</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/mistrals-codestral-create-a-local-ai-coding-assistant-for-vscode/">Create a local AI Coding Assistant for VSCode</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/49d0662f-7724-411d-96a9-bed5b293d1f3">Our Ultimate Local AI Coding Setup in VS Code</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/b07b8c02-1724-42e3-8bb2-4eb3dfb21c42">Poetry: Python Dependency Management</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/0810ac24-455e-4b7b-b20b-50af14fe1930">Pytest: Efficient Testing of Python Code</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/set-up-a-postgresql-database-with-docker/">Set Up a PostgreSQL Database With Docker</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/working-with-time-series-data-using-postgres/">Working with Time Series Data Using Postgres</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/setting-up-gitlab-on-premise-using-docker-in-just-7-minutes/">Set Up a GitLab Server with Docker</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/7cb415b3-63c5-4ac2-aa5d-e7e0488df56a">Set up a Docker-based SFTP server</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/7435284e-2301-44c6-9c6c-0db4e10c7677">MLflow Workspace On-Premise with Docker</a></p></li></ul><hr aria-hidden="true"/><h2>📱 Project Management</h2><ul><li><p>🆓 <a href="https://tinztwinshub.com/software-engineering/design-impressive-documentation-for-your-plotly-dash-application-using-mkdocs/">Code Documentation with MkDocs</a></p></li><li><p>🆓 <a href="https://tinztwinshub.com/data-science/a-beginners-overview-of-crisp-dm/">CRISP-DM: CRoss Industry Standard Process for Data Mining</a></p></li><li><p>🔒 <a href="https://steady.page/en/tinztwins-hub/posts/18e06ed8-e4e0-4c37-837c-d74f65a4d22b">Efficient Use of KPIs in Data Science Projects</a></p></li></ul>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/3e94f36b-5860-43bb-80af-da10b06da42b/uploads/images/a4g5ofha7h/header-img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/3e94f36b-5860-43bb-80af-da10b06da42b</link>
      <guid isPermaLink="false">3e94f36b-5860-43bb-80af-da10b06da42b</guid>
      <pubDate>Tue, 23 Dec 2025 21:58:30 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[How to Build a Segmented Revenues API for Public Companies with Python]]></title>
      <description><![CDATA[In a world full of AI agents, data is the most valuable asset. That’s the reason why it’s essential to have access to high-quality data. But how do you get access to…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/eeed2bc0-4732-4125-a015-0e84bc265d7e/uploads/images/2pnygkvynz/header_img.drawio.webp?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="How to Build a Segmented Revenues API for Companies with Python"/><p>In a world full of AI agents, data is the most valuable asset. That’s the reason why it’s essential to have access to high-quality data. But how do you get access to this data? With an API.</p><p>You can access an API either by paying for it or by creating your own. Most APIs are expensive and often fail to provide all the necessary data for a specific application, particularly in the investment industry.</p><p>A custom API lets you customize data sources, formats, and features to meet your exact needs. You can integrate specific financial data (e.g., stock prices, balance sheet data, segmented revenues) that are relevant to your application or analysis.</p><p>In addition, you can adapt your API flexibly to new requirements, such as integrating new markets or asset classes. The mission of this article is to build a Segmented Revenues API based on the official company reports.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Business understanding and data modeling</strong></p><ul><li><p>Revenue segmentation logic and structure</p></li><li><p>Entity-relationship diagram</p></li></ul></li><li><p><strong>Setting up the database with Docker</strong></p><ul><li><p>Adminer and TimescaleDB</p></li><li><p>Overview of the Docker stack</p></li><li><p>Creating and configuring the database schema</p></li></ul></li><li><p><strong>Data preparation</strong></p><ul><li><p>Downloading and cleaning 10-K filings</p></li><li><p>Inserting data into the database</p></li></ul></li><li><p><strong>Building the Segmented Revenues API with FastAPI</strong></p><ul><li><p>Set up a basic FastAPI endpoint</p></li><li><p>Designing the API endpoint</p></li><li><p>Querying segmented revenue data</p></li></ul></li><li><p><strong>Testing the API</strong></p><ul><li><p>Sample request</p></li><li><p>Creating a Python client</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p>So we’ve no time to waste. Let’s build a segmented revenues API from scratch! 🚀</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/eeed2bc0-4732-4125-a015-0e84bc265d7e">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/eeed2bc0-4732-4125-a015-0e84bc265d7e/uploads/images/2pnygkvynz/header_img.drawio.webp?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/eeed2bc0-4732-4125-a015-0e84bc265d7e</link>
      <guid isPermaLink="false">eeed2bc0-4732-4125-a015-0e84bc265d7e</guid>
      <pubDate>Sat, 23 Aug 2025 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Building a beautiful-looking Stock Dashboard with Reflex and OpenBB]]></title>
      <description><![CDATA[Have you ever wondered if you can build production-ready analytics apps in pure Python? Then, the open-source framework Reflex might be perfect for you! With Reflex, you…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/f1583996-9a30-4975-905e-e761749a9f9b/uploads/images/6js5wuc7rp/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Stock Dashboard"/><p>Have you ever wondered if you can build production-ready analytics apps in pure Python? Then, the open-source framework Reflex might be perfect for you!</p><p>With Reflex, you can build the frontend and backend of your app in Python - no Javascript required. It supports over 60+ built-in components and allows you to wrap any React component. Additionally, everything is fully responsive, ensuring your app looks great on any device. </p><p>In this step-by-step guide, you’ll learn how to build a stunning stock dashboard app using real-world data with the Python package openbb. In addition, we’ll show you how to structure the app effectively to keep it easy to maintain over time.</p><p><strong>Sneak Peak 👇🏽</strong></p><a href="https://youtu.be/dU-LyJYqGSs">https://youtu.be/dU-LyJYqGSs</a><p>We’ll discuss the following points:</p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Initialization of the app</strong></p><ul><li><p>App Initial Setup</p></li><li><p>Project Structure</p></li><li><p>Styles for the App</p></li></ul></li><li><p><strong>App Components</strong></p><ul><li><p>Card</p></li><li><p>Navbar</p></li><li><p>Sidebar</p></li></ul></li><li><p><strong>Models</strong></p></li><li><p><strong>App Pages</strong></p><ul><li><p>Page Template</p></li><li><p>Dashboard</p></li><li><p>Settings</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p>So we’ve no time to waste. Let’s build a beautiful-looking stock dashboard from scratch! 🚀</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/f1583996-9a30-4975-905e-e761749a9f9b">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/f1583996-9a30-4975-905e-e761749a9f9b/uploads/images/6js5wuc7rp/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/f1583996-9a30-4975-905e-e761749a9f9b</link>
      <guid isPermaLink="false">f1583996-9a30-4975-905e-e761749a9f9b</guid>
      <pubDate>Mon, 30 Jun 2025 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Building a Full-Stack Chatbot App in Python Using Reflex and Agno]]></title>
      <description><![CDATA[More and more companies are integrating intelligent chatbots into their apps and websites. The advantage of chatbots is that they are available 24/7. This allows…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/e6522ade-8f62-4a60-bed1-08324581cfd7/uploads/images/35h6zivuck/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Building a Full-Stack Chatbot App in Python Using Reflex and Agno"/><p>More and more companies are integrating intelligent chatbots into their apps and websites. The advantage of chatbots is that they are available 24/7. That allows companies to save time and money.</p><p>In the next few years, almost every app will have a chat user interface. Most people are already familiar with this interface from apps like WhatsApp. Meta, Google, and Microsoft have already begun integrating intelligent chat interfaces into their products.</p><p>The intelligent chatbots of the future will not only be able to output text but also offer widgets and other interaction options. For this reason, it makes sense to learn how to create custom chat interfaces.</p><p>In this guide, we’ll explain how to build a well-structured chat app using Reflex. We’ll also use Agno as a multi-agent framework.</p><p><strong>Sneak Peak 👇🏽</strong></p><a href="https://youtu.be/XuwhtTLpKQc">https://youtu.be/XuwhtTLpKQc</a><p>We’ll discuss the following points:</p><ul><li><p><strong>Why does a custom chat interface make sense?</strong></p></li><li><p><strong>Tech Stack</strong></p><ul><li><p>Web App Framework Reflex</p></li><li><p>Multi-Agent Framework Agno</p></li></ul></li><li><p><strong>Model View Controller Pattern</strong></p><ul><li><p>Advantages</p></li><li><p>Disadvantages</p></li></ul></li><li><p><strong>Setup of the development environment</strong></p></li><li><p><strong>Best Practices: Project Structure of the Chat App</strong></p></li><li><p><strong>Implementation of the Chat App</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p>So we’ve no time to waste. Let’s build a full-stack chatbot app in pure Python from scratch! 🚀</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/e6522ade-8f62-4a60-bed1-08324581cfd7">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/e6522ade-8f62-4a60-bed1-08324581cfd7/uploads/images/35h6zivuck/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/e6522ade-8f62-4a60-bed1-08324581cfd7</link>
      <guid isPermaLink="false">e6522ade-8f62-4a60-bed1-08324581cfd7</guid>
      <pubDate>Wed, 25 Jun 2025 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Mastering the Capital Asset Pricing Model (CAPM) Using Python]]></title>
      <description><![CDATA[The analysis of historical financial market data can reveal interesting patterns and insights. This information can help to build a strong portfolio. When creating a…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/96c185af-b3be-423b-89c0-21193b8c7ee9/uploads/images/b3ypkc4zot/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Mastering the Capital Asset Pricing Model (CAPM) Using Python"/><p>The analysis of historical financial market data can reveal interesting patterns and insights. This information can help to build a strong portfolio. When creating a portfolio, two key variables play a significant role: diversification and the risk-return ratio.</p><p>The diversification of a portfolio can be easily implemented by adding different assets from various sectors. However, many retail investors overlook the evaluation of the risk-return ratio.</p><p>In this guide, we will explain how to apply and use the Capital Asset Pricing Model (CAPM). The CAPM is a theoretical model used to analyze the risk and return of securities. The model’s goal is to determine expected returns based on the risk involved.</p><p>We will discuss the following points:</p><ul><li><p><strong>Introduction to the Capital Asset Pricing Model</strong></p></li><li><p><strong>Difference between systematic and unsystematic risk</strong></p></li><li><p><strong>CAPM Calculation with a simple example</strong></p></li><li><p><strong>Advantages and disadvantages of the CAPM</strong></p></li><li><p><strong>Example with Python</strong></p><ul><li><p>Technical requirements</p></li><li><p>Download stock market data with OpenBB</p></li><li><p>Exploratory analysis</p></li><li><p>Application of the CAPM</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/96c185af-b3be-423b-89c0-21193b8c7ee9">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/96c185af-b3be-423b-89c0-21193b8c7ee9/uploads/images/b3ypkc4zot/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/96c185af-b3be-423b-89c0-21193b8c7ee9</link>
      <guid isPermaLink="false">96c185af-b3be-423b-89c0-21193b8c7ee9</guid>
      <pubDate>Fri, 30 May 2025 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Comprehensive Guide: Portfolio Optimization Using the Markowitz Model]]></title>
      <description><![CDATA[Portfolio optimization focuses on selecting the optimal combination of assets to maximize return and minimize risk. That involves determining the most appropriate…]]></description>
      <content:encoded><![CDATA[<h1>Comprehensive Guide: Portfolio Optimization Using the Markowitz Model in Python</h1><img src="https://assets.steadyhq.com/production/post/9aa29849-33a7-46e1-a697-4eea805b4cc7/uploads/images/6z5nthxpko/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Portfolio Optimization Title Picture"/><p>Portfolio optimization focuses on selecting the optimal combination of assets to maximize return and minimize risk. That involves determining the most appropriate weights for each asset.</p><p>The historical performance of the assets, their correlations with each other, and other relevant factors are considered. The goal is to create a well-diversified portfolio with a balanced relationship between risk and return.</p><p>In this guide, you’ll learn how portfolio optimization works using the Markowitz model with the Sharpe Ratio. We’ve already explained the <a href="https://steadyhq.com/de/tinztwins-hub/posts/5b096798-90e3-40c9-816b-592e09daeb30">Sharpe Ratio in detail in another article</a>, which we highly recommend you read first.</p><p>Here’s an overview of the topics:</p><ul><li><p><strong>How do you optimize a portfolio?</strong></p></li><li><p><strong>Data access and creating a demo portfolio</strong></p></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Metrics and Exploratory Data Analysis</strong></p></li><li><p><strong>Portfolio Optimization from Scratch</strong></p></li><li><p><strong>Portfolio Optimization using SciPy</strong></p></li><li><p><strong>Calculate the Efficient Frontier</strong></p></li><li><p><strong>Portfolio performance against a benchmark</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p>Let’s get started to find the optimal portfolio allocation using the Markowitz Model. 😃</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/9aa29849-33a7-46e1-a697-4eea805b4cc7">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/9aa29849-33a7-46e1-a697-4eea805b4cc7/uploads/images/6z5nthxpko/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/9aa29849-33a7-46e1-a697-4eea805b4cc7</link>
      <guid isPermaLink="false">9aa29849-33a7-46e1-a697-4eea805b4cc7</guid>
      <pubDate>Mon, 28 Apr 2025 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Portfolio Allocation: How to Analyze a Stock Portfolio Using Python]]></title>
      <description><![CDATA[Many retail investors worldwide invest their money in the stock market and build a stock portfolio. Wouldn’t it be helpful if you could create a risk-adjusted portfolio?…]]></description>
      <content:encoded><![CDATA[<a href="https://tinztwinshub.com/"><img src="https://assets.steadyhq.com/production/post/5b096798-90e3-40c9-816b-592e09daeb30/uploads/images/6caacasha3/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Portfolio Allocation: How to Analyze a Stock Portfolio Using Python"/></a><p>Many retail investors worldwide invest their money in the stock market and build a stock portfolio. Wouldn’t it be helpful if you could create a risk-adjusted portfolio? In other words, more return with less risk!</p><p>Sounds this good for you. Then this article is right for you. We examine a stock portfolio with Python and calculate some important portfolio statistics, including the popular Sharpe Ratio. In this article, you’ll learn how to analyze your portfolio in terms of risk.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>What is a Stock Portfolio?</strong></p></li><li><p><strong>Portfolio Statistics</strong></p></li><li><p><strong>What is the Sharpe Ratio?</strong></p></li><li><p><strong>Evaluation of a Portfolio with Python</strong></p><ul><li><p>Load Stock Data with OpenBB</p></li><li><p>Portfolio Allocation</p></li><li><p>Portfolio Performance</p></li><li><p>Risk Evaluation</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/5b096798-90e3-40c9-816b-592e09daeb30">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/5b096798-90e3-40c9-816b-592e09daeb30/uploads/images/qzgfktwty5/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/5b096798-90e3-40c9-816b-592e09daeb30</link>
      <guid isPermaLink="false">5b096798-90e3-40c9-816b-592e09daeb30</guid>
      <pubDate>Thu, 27 Mar 2025 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Build an OpenAI-Compatible API for Open-Source LLMs from Scratch]]></title>
      <description><![CDATA[New and powerful open-source AI models are entering the market every few months. DeepSeek R1 was released a few weeks ago, and the AI world was excited. According to…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/a4d23aca-06a7-4cae-a403-b72f4c2d605e/uploads/images/vgu6tqiuij/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Build an OpenAI-Compatible API for Open-Source LLMs from Scratch"/><p>New and powerful open-source AI models are entering the market every few months. DeepSeek R1 was released a few weeks ago, and the AI world was excited. According to DeepSeek, the model was much cheaper to train and performed better than OpenAI’s o1 model in several benchmarks.</p><p>Open-source models like DeepSeek or Llama 3 provide many benefits for developers. For example, you can fine-tune them on-premise to create large language models (LLMs) for your specific use cases. However, there’s also the challenge of how to combine the strengths of different models in one application efficiently. The solution is to build your own REST API.</p><p>With a REST API, you can host various open-source models customized for your applications. So, you can use the different strengths of each model. In addition, an own API is more cost-efficient in the long term and ensures data privacy.</p><p>Many Python libraries support the API schema of OpenAI. For this reason, it makes sense to build an OpenAI-compatible API. To do this, we’ve followed the official <a href="https://platform.openai.com/docs/api-reference/chat">OpenAI API reference</a>.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Benefits of an own API</strong></p></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Create a Chat Completion API</strong></p><ul><li><p>Simple REST API with FastAPI</p></li><li><p>Q&amp;A Endpoint without Streaming</p></li><li><p>Q&amp;A Endpoint with Streaming</p></li><li><p>Tool Use Support</p></li></ul></li><li><p><strong>Example: Web Search Tool with AG2</strong></p><ul><li><p>Configuration</p></li><li><p>Definition of the Tool</p></li><li><p>Definition of the Agents</p></li><li><p>Registration of the Agents</p></li><li><p>Testing the Web Search Tool</p></li></ul></li><li><p><strong>Conclusion</strong></p></li><li><p><strong>Appendix: Full API Code</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/a4d23aca-06a7-4cae-a403-b72f4c2d605e">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/a4d23aca-06a7-4cae-a403-b72f4c2d605e/uploads/images/vgu6tqiuij/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/a4d23aca-06a7-4cae-a403-b72f4c2d605e</link>
      <guid isPermaLink="false">a4d23aca-06a7-4cae-a403-b72f4c2d605e</guid>
      <pubDate>Mon, 17 Feb 2025 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Visualize financial data with beautiful Sankey diagrams]]></title>
      <description><![CDATA[The analysis of financial data can quickly become very complex. This is where smart data visualization is helpful. It makes understanding the data easier. Sankey…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/bec5f568-3315-4056-9def-e4307010fd85/uploads/images/ksqc7ufyy3/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Visualize financial data with beautiful Sankey diagrams"/><p>The analysis of financial data can quickly become very complex. This is where smart data visualization is helpful. It makes understanding the data easier.</p><p>Sankey diagrams are a special type of flowchart, typically used to visualize the flow of measurable resources. They draw the reader’s attention because they explain complex data clearly. An intelligent choice of colors allows the reader to understand different flow quantities intuitively.</p><p>In this guide, we will show you how to create beautiful Sankey diagrams using Plotly. These diagrams are often used in the financial industry and are very helpful for visualizing financial statements.</p><p>We guide you through the entire process, from retrieving data to creating impressive Sankey diagrams. This way, you can create Sankey diagrams like the one shown in the example below.</p><figure><img src="https://assets.steadyhq.com/production/post/bec5f568-3315-4056-9def-e4307010fd85/uploads/images/336qf27pkf/sankey_apple.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Sankey Diagram: Apple FY24 Income Statement"/><figcaption>Sankey Diagram: Apple FY24 Income Statement (Image by authors)</figcaption></figure><p>We will discuss the following points:</p><ul><li><p><strong>What is a Sankey diagram?</strong></p><ul><li><p>Key Terms</p></li><li><p>Strengths and weaknesses of Sankey diagrams</p></li><li><p>Use Cases</p></li></ul></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Interactive Sankey diagrams with Plotly</strong></p></li><li><p><strong>Create a Sankey diagram of Apple&#39;s income statement</strong></p><ul><li><p>10-K filing: Data Access in Python</p></li><li><p>Extract Apple’s financial data from the 10-K filing</p></li><li><p>Sankey diagram “How Apple Makes Money?“</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/bec5f568-3315-4056-9def-e4307010fd85">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/bec5f568-3315-4056-9def-e4307010fd85/uploads/images/ksqc7ufyy3/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/bec5f568-3315-4056-9def-e4307010fd85</link>
      <guid isPermaLink="false">bec5f568-3315-4056-9def-e4307010fd85</guid>
      <pubDate>Wed, 29 Jan 2025 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Build a financial multi-agent system with AG2 (formerly AutoGen) and…]]></title>
      <description><![CDATA[The big tech companies say the future belongs to AI agents. And we think the same. Multi-agent collaboration will soon be an essential part of every software. Microsoft…]]></description>
      <content:encoded><![CDATA[<h1>Build a financial multi-agent system with AG2 (formerly AutoGen) and Ollama</h1><img src="https://assets.steadyhq.com/production/post/9a00a226-c474-4aea-9f46-094c0cd400b5/uploads/images/npsuorv2io/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Build a financial multi-agent system with AG2 (formerly AutoGen) and Ollama"/><p>The big tech companies say the future belongs to AI agents. And we think the same. Multi-agent collaboration will soon be an essential part of every software.</p><p>Microsoft <a href="https://news.tinztwinshub.com/microsoft-wants-to-transform-every-business-process-with-ai-agents/#-microsoft-wants-to-transform-every-business-process-with-ai-agents">recently announced</a> a swarm of new agents for 2025 in its products at the Ignite conference. As data scientists and software engineers, it is essential to understand how AI agents work and how you can use them efficiently.</p><p>In our view, the companies of the future will be driven by AI agents, which will give these companies an economic advantage over other companies. Therefore, it&#39;s time to take a closer look at multi-agent systems.</p><p>But what is the best way to start? 🤔</p><p>We have spent months with several frameworks for multi-agent systems, and we struggle with the complexity of it all. Then we came across AG2 (formerly AutoGen), and it offers exactly what we need.</p><p>AG2 offers features like conversation patterns, support for tool use, and human-in-the-loop workflows. In short, this framework simplifies the process of developing production-ready multi-agent applications.</p><p>In this article, we build a multi-agent system to perform a financial analysis of the Tesla stock. Best of all, we run it locally, so you don&#39;t have any API costs.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>What is AG2?</strong></p></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Agents in AG2</strong></p><ul><li><p>Conversable Agent</p></li><li><p>Assistant Agent</p></li><li><p>User Proxy Agent</p></li><li><p>Group Chat Manager</p></li></ul></li><li><p><strong>What are Conversation Patterns?</strong></p><ul><li><p>Two-Agent Chat</p></li><li><p>Sequential Chat</p></li><li><p>Group Chat</p></li><li><p>Nested Chat</p></li></ul></li><li><p><strong>What are Agentic Design Patterns?</strong></p><ul><li><p>Reflection</p></li><li><p>Tool Use</p></li><li><p>Planning</p></li><li><p>Multi-Agent Collaboration</p></li></ul></li><li><p><strong>Perform a multi-agent financial analysis of Tesla stock</strong></p><ul><li><p>Configuration</p></li><li><p>Definition of the Task</p></li><li><p>Definition of the Agents</p></li><li><p>Build a Group Chat</p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p>So we’ve no time to waste. Let’s dive in!</p><h2>What is AG2?</h2><p>When you are searching for &quot;AutoGen&quot; online, you might feel confused at first. There are two frameworks that are related to AutoGen: AG2 (formerly AutoGen) and Microsoft’s AutoGen.</p><p>AG2 continues the original AutoGen framework and is maintained by its original creators. The original creators left Microsoft and rebranded the framework. It is now hosted under the &quot;AG2ai&quot; organization. AG2 focuses on a community-driven approach with open governance.</p><p>Microsoft continues to develop the framework AutoGen independently of AG2. In addition, Microsoft has introduced major updates, including a complete rewrite of version 0.4. In this context, Microsoft wants to adapt the framework so it better fits Microsoft programming interfaces.</p><p>In this article, we use the framework AG2. It is an open-source framework designed for building AI agents and enabling multi-agent collaboration to solve tasks. The framework simplifies the orchestration and automation of complex LLM workflow. It’s like PyTorch for building AI agents.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/9a00a226-c474-4aea-9f46-094c0cd400b5">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/9a00a226-c474-4aea-9f46-094c0cd400b5/uploads/images/npsuorv2io/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/9a00a226-c474-4aea-9f46-094c0cd400b5</link>
      <guid isPermaLink="false">9a00a226-c474-4aea-9f46-094c0cd400b5</guid>
      <pubDate>Sat, 28 Dec 2024 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Introduction to ARIMA Models for Newbies]]></title>
      <description><![CDATA[ARIMA (short for AutoRegressive Integrated Moving Average) is a technique for time series analysis and forecasting. It is one of the most widely used approaches for time…]]></description>
      <content:encoded><![CDATA[<a href="https://tinztwinshub.com/blog"><img src="https://assets.steadyhq.com/production/post/945f422d-5d27-47aa-b6fa-8d75f33872f1/uploads/images/2xqm3aqbhe/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Introduction to ARIMA Models for Newbies"/></a><p>ARIMA (short for <strong>A</strong>uto<strong>R</strong>egressive <strong>I</strong>ntegrated <strong>M</strong>oving <strong>A</strong>verage) is a technique for time series analysis and forecasting. It is one of the most widely used approaches for time series forecasts. There are seasonal and non-seasonal ARIMA models, depending on the type of time series data.</p><p>ARIMA models are often used in the financial industry. They are fundamental to understanding time series analysis. In addition, ARIMA models can be very complex, which means that they are not always easy to understand.</p><p>In this tutorial, we would like to give you an easy-to-understand and visual introduction to ARIMA models.</p><p>We’ll discuss the following topics:</p><ul><li><p><strong>Introduction to ARIMA</strong></p><ul><li><p><strong>Components of an ARIMA model</strong></p></li><li><p><strong>Stationary vs. Non-Stationary</strong></p></li><li><p><strong>Differentiation</strong></p></li></ul></li><li><p><strong>Autocorrelation Plots</strong></p></li><li><p><strong>Practical example: ARIMA with statsmodels</strong></p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Use Case and Dataset</strong></p></li><li><p><strong>Time series visualization</strong></p></li><li><p><strong>Stationarity check</strong></p></li><li><p><strong>Autocorrelation Plots</strong></p></li><li><p><strong>Create ARIMA model</strong></p></li><li><p><strong>Forecasting with ARIMA</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/945f422d-5d27-47aa-b6fa-8d75f33872f1">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/945f422d-5d27-47aa-b6fa-8d75f33872f1/uploads/images/2xqm3aqbhe/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/945f422d-5d27-47aa-b6fa-8d75f33872f1</link>
      <guid isPermaLink="false">945f422d-5d27-47aa-b6fa-8d75f33872f1</guid>
      <pubDate>Sun, 17 Nov 2024 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Time Series Analysis: The Power of Exponentially Weighted Moving…]]></title>
      <description><![CDATA[The Exponentially Weighted Moving Average (EWMA) is a statistical tool for modeling or describing a time series. It is commonly used in the financial industry to…]]></description>
      <content:encoded><![CDATA[<h1>Time Series Analysis: The Power of Exponentially Weighted Moving Average</h1><img src="https://assets.steadyhq.com/production/post/59332cbf-1004-4c9d-96b4-f55cf427f501/uploads/images/s25mrpj4fh/header_img.jpg?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="The Power of Exponentially Weighted Moving Average"/><p>The Exponentially Weighted Moving Average (EWMA) is a statistical tool for modeling or describing a time series. It is commonly used in the financial industry to evaluate the risk of securities or portfolios.</p><p>In this article, we will introduce you to the mathematical basics of the EWMA. We will also show you how to use EWMA models in Python using practical examples.</p><p>Understanding how EWMA works is essential for a data scientist or quantitative analyst, as it is widely used in the financial industry. You can immediately apply the knowledge from this article in your daily work.</p><p>Here’s an overview of the topics:</p><ul><li><p><strong>What is the Exponentially Weighted Moving Average (EWMA)?</strong></p></li><li><p><strong>Applications of the EWMA</strong></p><ul><li><p><strong>Technical Analysis</strong></p></li><li><p><strong>Risk Management</strong></p></li></ul></li><li><p><strong>Practical examples with Python</strong></p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Use Case and Dataset</strong></p></li><li><p><strong>Weaknesses of the Simple Moving Average (SMA)</strong></p></li><li><p><strong>Exponentially Weighted Moving Average</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/59332cbf-1004-4c9d-96b4-f55cf427f501">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/59332cbf-1004-4c9d-96b4-f55cf427f501/uploads/images/s25mrpj4fh/header_img.jpg?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/59332cbf-1004-4c9d-96b4-f55cf427f501</link>
      <guid isPermaLink="false">59332cbf-1004-4c9d-96b4-f55cf427f501</guid>
      <pubDate>Mon, 21 Oct 2024 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Mastering Time Series Analysis: An Introduction to ETS Models]]></title>
      <description><![CDATA[Python is one of the most popular programming languages for applied finance and machine learning. In the financial sector, a lot of data is available as time series. For…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/f8ea5ab5-4da2-4282-9632-808a3e2204c6/uploads/images/3k36flrlik/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Mastering Time Series Analysis: An Introduction into ETS Models"/><p>Python is one of the most popular programming languages for applied finance and machine learning. In the financial sector, a lot of data is available as time series.</p><p>For data scientists or quant scientists, it is therefore essential to master time series analysis techniques. Time series data have unique properties and need different algorithms.</p><p>We have written an <a href="https://steadyhq.com/en/tinztwins-hub/posts/8982f30b-f124-4303-ab20-7b5a7441b487">introduction article on time series analysis</a>. In this article, you learn everything you need to know about time series analysis with statsmodels.</p><p>There are several time series models, but in this tutorial, we will focus on ETS models. As a data scientist in the financial sector, it is essential to know these models.</p><p>We’ll discuss the following topics:</p><ul><li><p><strong>Theory of Error-Trend-Seasonality (ETS) models</strong></p></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Practical Use Case</strong></p><ul><li><p><strong>Description of the Use Case</strong></p></li><li><p><strong>Working with a financial API in Python</strong></p></li><li><p><strong>Data Preparation</strong></p></li><li><p><strong>Data Visualization</strong></p></li></ul></li><li><p><strong>ETS models with Python</strong></p><ul><li><p><strong>Time Series decomposition</strong></p></li><li><p><strong>Simple exponential smoothing</strong></p></li><li><p><strong>Holt-Winters Method</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/f8ea5ab5-4da2-4282-9632-808a3e2204c6">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/f8ea5ab5-4da2-4282-9632-808a3e2204c6/uploads/images/3k36flrlik/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/f8ea5ab5-4da2-4282-9632-808a3e2204c6</link>
      <guid isPermaLink="false">f8ea5ab5-4da2-4282-9632-808a3e2204c6</guid>
      <pubDate>Fri, 27 Sep 2024 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Time Series Analysis: A Beginners Guide with statsmodels]]></title>
      <description><![CDATA[Time series analysis is a powerful statistical method used in many industries, such as finance, healthcare, energy, and marketing. It involves identifying patterns,…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/8982f30b-f124-4303-ab20-7b5a7441b487/uploads/images/cqo6rjfpoa/header_img.drawio.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Time Series Analysis: A Beginners Guide with statsmodels"/><p><em>Last updated: September 23, 2024</em></p><p>Time series analysis is a powerful statistical method used in many industries, such as finance, healthcare, energy, and marketing. It involves identifying patterns, trends, seasonality, and irregularities in data observed over different time periods. These methods are useful for understanding the underlying structure and patterns in the data.</p><p>In this guide, we will go into the details of time series analysis. In addition to the basic concept, we introduce popular time series techniques. We also demonstrate how to perform a time series analysis with a practical example.</p><p>As a data scientist, it&#39;s essential to dive into the world of time series data! Our guide will take you on this exciting journey.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>What is Time Series Analysis?</strong></p></li><li><p><strong>Time Series Basics</strong></p><ul><li><p><strong>Elements of Time Series Data</strong></p></li><li><p><strong>Important Time Series Concepts &amp; Terms</strong></p></li></ul></li><li><p><strong>Time Series Analysis Methods</strong></p></li><li><p><strong>Limitations of Time Series Analysis</strong></p></li><li><p><strong>Use Cases for Time Series Analysis</strong></p></li><li><p><strong>Introduction to statsmodels</strong></p><ul><li><p><strong>Setup and technical requirements</strong></p></li><li><p><strong>Practical Example with economic data</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8982f30b-f124-4303-ab20-7b5a7441b487">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/8982f30b-f124-4303-ab20-7b5a7441b487/uploads/images/cqo6rjfpoa/header_img.drawio.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8982f30b-f124-4303-ab20-7b5a7441b487</link>
      <guid isPermaLink="false">8982f30b-f124-4303-ab20-7b5a7441b487</guid>
      <pubDate>Tue, 27 Aug 2024 15:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[A Visual Guide to Ensemble Methods + Practical Example]]></title>
      <description><![CDATA[Ensemble methods are a powerful approach in machine learning that combines multiple models to create a more robust and accurate model. Many beginners struggle to…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/b9bde64f-fb09-4752-b220-969c0648f063/uploads/images/pubgnrqnts/header.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Ensemble Methods Visually Explained"/><p>Ensemble methods are a powerful approach in machine learning that combines multiple models to create a more robust and accurate model. Many beginners struggle to understand how ensemble methods work, so we want to explain the concepts behind ensemble methods visually. No math today!</p><p>The primary idea behind ensemble methods is that the aggregation of multiple models helps reduce the weaknesses of each model.</p><p>This assumption is based on the idea that each model has its own strengths. By combining them, we can create a more complete and reliable model.</p><p>As a Data Scientist, it is essential to understand how the basic strategies behind ensemble methods work.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Motivation behind it</strong></p></li><li><p><strong>Strategies for ensembles</strong></p><ul><li><p><strong>Boosting - How it works?</strong></p></li><li><p><strong>Bagging - How it works?</strong></p></li><li><p><strong>Stacking - How it works?</strong></p></li></ul></li><li><p><strong>Real-world example with stock market data</strong></p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Business Understanding</strong></p></li><li><p><strong>Data Understanding and Preparation</strong></p></li><li><p><strong>Modeling</strong></p></li><li><p><strong>Evaluation</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><strong>+ Bonus: At the end of the article, you‘ll get a high-resolution cheat sheet with all the important aspects of ensemble methods.</strong></p><p>So we’ve no time to waste. Let’s dive in!</p><h2>Motivation behind it</h2><p>The motivation behind ensemble methods:</p><ul><li><p><strong>Reducing the variance:</strong> One of the primary goals of ensemble methods is to reduce the variance in the results. By aggregating the predictions of multiple models, the overall output becomes less dependent on the dataset.</p></li><li><p><strong>Reducing the bias:</strong> Another important motivation for ensemble methods is to reduce the bias in the model. When we combine different models, each with its unique strengths and weaknesses, the resulting ensemble can learn different classes more effectively than individual models.</p></li></ul><p>🎯 Goal: Variance reduction without sacrificing bias!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b9bde64f-fb09-4752-b220-969c0648f063">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/b9bde64f-fb09-4752-b220-969c0648f063/uploads/images/pubgnrqnts/header.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b9bde64f-fb09-4752-b220-969c0648f063</link>
      <guid isPermaLink="false">b9bde64f-fb09-4752-b220-969c0648f063</guid>
      <pubDate>Tue, 13 Aug 2024 05:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Struggling with Linear Regression? - Theory and Practice Clearly…]]></title>
      <description><![CDATA[Linear Regression is a simple statistical regression method, making it perfect for beginners in predictive analysis. It is a straightforward method, but some aspiring…]]></description>
      <content:encoded><![CDATA[<h1>Struggling with Linear Regression? - Theory and Practice Clearly explained</h1><img src="https://assets.steadyhq.com/production/post/a396881e-8208-424a-b965-0000f68c212f/uploads/images/fzr4bbsjzw/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Linear Regression (Image by authors)"/><p><strong>Linear Regression</strong> is a simple statistical regression method, making it perfect for beginners in predictive analysis. It is a straightforward method, but some aspiring data scientists struggle to understand the mathematical aspects.</p><p>Terms like intercept or residuals occur? We want to bring light into the darkness!</p><p>There are many resources on the internet that try to explain this method. However, these explanations often use incorrect variable names or forget some indices on the variables.</p><p>Our goal is that you understand linear regression visually, mathematically, and practically. First, we explain the intuition of the linear regression visually. Then, we go deeper into the mathematical explanation. Finally, we look at a practical example from the economy. To get our data, we use the Python package OpenBB.</p><p>As a Data Scientist, it is essential to understand how this basic statistical method works. Always keep in mind, that you can often solve tasks with simple statistical methods before you need to use advanced ML models. For this reason, you should always try to solve problems with simple methods like linear regression before you use advanced ML methods.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Visual Explanation</strong></p></li><li><p><strong>Mathematical Explanation</strong></p></li><li><p><strong>How can we calculate the Residuals?</strong></p></li><li><p><strong>How can we calculate the Intercept and the Slope?</strong></p></li><li><p><strong>Assumptions of a Linear Regression</strong></p></li><li><p><strong>Common Evaluation Metrics</strong></p></li><li><p><strong>Real-world example with economic data</strong></p><ul><li><p><strong>Set up the environment</strong></p></li><li><p><strong>Data Understanding and Preparation</strong></p></li><li><p><strong>Modeling</strong></p></li><li><p><strong>Evaluation</strong></p></li></ul></li><li><p><strong>Conclusion</strong></p></li></ul><p><strong>+ Bonus: At the end of the article, you‘ll get a high-resolution cheat sheet with all the important aspects of linear regression.</strong></p><p>So we’ve no time to waste. Let’s dive in!</p><h2>Visual Explanation</h2><p>You can perform linear regression with multiple variables or just one. For the explanation, we’ll focus on using a single variable, so it’s easier to grasp. 😊</p><p>This form of linear regression is known as simple linear regression or univariate linear regression. In simple linear regression, we use one independent variable to predict a dependent variable.</p><p>The goal is to find the best-fit line that represents the trend in the data. For example, you can recognize trends in stocks or house prices.</p><p>In addition, you can use linear regression to understand the relationship between the two variables. It examines how the change in an independent variable influences the change in a dependent variable.</p><p>In the following, you can see the intuition of a simple linear regression:</p><img src="https://assets.steadyhq.com/production/post/a396881e-8208-424a-b965-0000f68c212f/uploads/images/esfcknosb5/lr_visual_explanation.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Linear Regression - Visual Explanation (Image by authors)"/><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/a396881e-8208-424a-b965-0000f68c212f">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/a396881e-8208-424a-b965-0000f68c212f/uploads/images/fzr4bbsjzw/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/a396881e-8208-424a-b965-0000f68c212f</link>
      <guid isPermaLink="false">a396881e-8208-424a-b965-0000f68c212f</guid>
      <pubDate>Fri, 03 May 2024 13:17:03 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Tesla's Stock Market data: Mastering Time Resampling with OpenBB and…]]></title>
      <description><![CDATA[In the financial sector, we often deal with time series data that have a DateTimeIndex on a specific time scale, like every day or every hour. Sometimes, it's necessary…]]></description>
      <content:encoded><![CDATA[<h1>Tesla&#39;s Stock Market data: Mastering Time Resampling with OpenBB and Pandas</h1><img src="https://assets.steadyhq.com/production/post/93854785-dbff-4f9a-b638-651e89ac80db/uploads/images/pgraz5e32e/header.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Tesla&#39;s Stock Market data: Mastering Time Resampling with OpenBB and Pandas"/><p>In the financial sector, we often deal with time series data that have a DateTimeIndex on a specific time scale, like every day or every hour. Sometimes, it&#39;s necessary to aggregate this data based on frequency, such as monthly or quarterly. You might think that a simple groupby could solve this challenge. However, a groupby can only tackle part of the issue. For instance, it doesn&#39;t have the capability to understand business quarters.</p><p>This is where Pandas&#39; time resampling feature becomes invaluable. In this tutorial, we delve into using this feature to analyze Tesla&#39;s stock market data. We&#39;ll showcase how to effectively manipulate time series data for insightful analysis.</p><p>We&#39;ll cover the following points:</p><ul><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Load time series data with OpenBB</strong></p></li><li><p><strong>Explore time series data</strong></p></li><li><p><strong>Time Resampling</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/93854785-dbff-4f9a-b638-651e89ac80db">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/93854785-dbff-4f9a-b638-651e89ac80db/uploads/images/pgraz5e32e/header.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/93854785-dbff-4f9a-b638-651e89ac80db</link>
      <guid isPermaLink="false">93854785-dbff-4f9a-b638-651e89ac80db</guid>
      <pubDate>Fri, 01 Mar 2024 20:41:45 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Demystifying DateTimeIndex in Pandas for Time Series Analysis]]></title>
      <description><![CDATA[Time series are everywhere in the financial sector! When processing time series, there are so many points to consider. In this article, we dive right in and show you how…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/e2285963-962d-4588-b079-3f4db811608f/uploads/images/wmwvgkaz3y/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Demystifying DateTimeIndex in Pandas for Time Series Analysis"/><p>Time series are everywhere in the financial sector! When processing time series, there are so many points to consider. In this article, we dive right in and show you how to work with time series data using Pandas! We&#39;ll explore what a time series is and how to master the DatetimeIndex in Pandas. So, whether you&#39;re a data scientist or a beginner stepping into the thrilling world of data analysis, this article is packed with valuable insights you won&#39;t want to miss!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/e2285963-962d-4588-b079-3f4db811608f">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/e2285963-962d-4588-b079-3f4db811608f/uploads/images/wmwvgkaz3y/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/e2285963-962d-4588-b079-3f4db811608f</link>
      <guid isPermaLink="false">e2285963-962d-4588-b079-3f4db811608f</guid>
      <pubDate>Fri, 16 Feb 2024 16:00:01 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Unlock the Blackbox: Demystifying Machine Learning Explainability!]]></title>
      <description><![CDATA[Machine learning (ML) has great potential for improving processes and products. A challenge is to explain the predictions of the ML algorithms. Trust and transparency…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/99e05074-34ea-4f17-9022-5d48f6ec4c11/uploads/images/f7uceyma3j/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Unlock the Blackbox: Demystifying Machine Learning Explainability!"/><p><strong>Machine learning (ML)</strong> has great potential for improving processes and products. A challenge is to explain the predictions of the ML algorithms. Trust and transparency are central arguments for the explainability of decision findings by an ML model.</p><p>In this article, we introduce the basic concepts of Explainable Artificial Intelligence (XAI). Furthermore, we present the properties or requirements of an explanation. In the context of this article, we use the terms interpretable and explainable synonymously.</p><p><a href="https://steady.page/en/tinztwins-hub/newsletter/sign_up">Subscribe to newsletter</a></p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/99e05074-34ea-4f17-9022-5d48f6ec4c11">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/99e05074-34ea-4f17-9022-5d48f6ec4c11/uploads/images/f7uceyma3j/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/99e05074-34ea-4f17-9022-5d48f6ec4c11</link>
      <guid isPermaLink="false">99e05074-34ea-4f17-9022-5d48f6ec4c11</guid>
      <pubDate>Tue, 21 Nov 2023 16:00:01 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Set up a Docker-based SFTP server. It's open-source and secure!]]></title>
      <description><![CDATA[Do you need a secure server? In this article, you will learn how to set up an SFTP server with Docker. An SFTP server is a secure FTP server. You can store your data on…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/7cb415b3-63c5-4ac2-aa5d-e7e0488df56a/uploads/images/gec57ydsw5/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Set up a Docker-based SFTP server. It&#39;s open-source and secure!"/><p><strong>Do you need a secure server?</strong> In this article, you will learn how to set up an SFTP server with Docker. An SFTP server is a secure FTP server. You can store your data on an SFTP server, and the data transfer is encrypted. In this post, we will introduce the basics of SFTP and show how to set up a server with Docker.</p><p>The steps are the following:</p><ol><li><p><strong>Technical requirements</strong></p></li><li><p><strong>SFTP Basics</strong></p></li><li><p><strong>Set up an SFTP server with Docker</strong></p></li><li><p><strong>Conclusion</strong></p></li><li><p><strong>References and useful links</strong></p></li></ol><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/7cb415b3-63c5-4ac2-aa5d-e7e0488df56a">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/7cb415b3-63c5-4ac2-aa5d-e7e0488df56a/uploads/images/gec57ydsw5/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/7cb415b3-63c5-4ac2-aa5d-e7e0488df56a</link>
      <guid isPermaLink="false">7cb415b3-63c5-4ac2-aa5d-e7e0488df56a</guid>
      <pubDate>Sat, 18 Nov 2023 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Responsible Development of an LLM Application + Best Practices]]></title>
      <description><![CDATA[Do you know how to build an LLM application in a responsible way? No, then you should check out this article. We will cover some peculiarities we have learned in the…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/84f9ee10-532a-4a36-a279-b740b32c875b/uploads/images/2ljsboqd4c/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Responsible Development of an LLM Application + Best Practices"/><p><strong>Do you know how to build an LLM application in a responsible way? No, then you should check out this article. We will cover some peculiarities we have learned in the last couple of months. You will take away some exciting facts from this article.</strong></p><p>In our article, we will show you best practices for building complex applications using ChatGPT API. First, you will learn that LLMs like ChatGPT don’t see words. They work with tokens and this can lead to undesirable behavior during development. We will show a practical example of this. In addition, it is essential to check the user input for problematic content, such as hateful speech.</p><p>Further, your LLM system should also identify what type of query the user inputs. Such systems need multiple internal steps that are invisible to the end-user. In this way, you can teach your LLM to think in categories. The LLM decides which category was requested by the user. With this, you can significantly simplify internal processes. We will discuss an example that shows how it works.</p><p>We’ll cover the following points:</p><ul><li><p><strong>Setup the environment</strong></p></li><li><p><strong>How does Large Language models work?</strong></p></li><li><p><strong>Think in categories</strong></p></li><li><p><strong>OpenAI’s Moderation API</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p>Let’s start!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/84f9ee10-532a-4a36-a279-b740b32c875b">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/84f9ee10-532a-4a36-a279-b740b32c875b/uploads/images/2ljsboqd4c/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/84f9ee10-532a-4a36-a279-b740b32c875b</link>
      <guid isPermaLink="false">84f9ee10-532a-4a36-a279-b740b32c875b</guid>
      <pubDate>Tue, 14 Nov 2023 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Convert a Time Series into a Classification Problem]]></title>
      <description><![CDATA[This article describes an example project in the context of stock trading. Can we predict with an AI model whether a stock goes up or down the next day? It is precisely…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/d9346fca-20b5-4126-a584-f58f0fbf80b8/uploads/images/yvc5cm3e4o/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Convert a Time Series into a Classification Problem"/><p>This article describes an example project in the context of stock trading. <strong>Can we predict with an AI model whether a stock goes up or down the next day?</strong> It is precisely the issue that we examine in this article. In this context, we compare the classification algorithms XGBoost, Random Forest and Logistic Classifier. In addition, the focus of the article is on data preparation. How can we transform the data so that the models can process it?</p><p>But before we start, we have to think about the problem statement and the financial data we need. In this article, we will follow the CRISP-DM process model so that we have a structured approach to solving the business case. CRISP-DM is particularly suitable for potential analyses and is often used in industry to structure data science projects.</p><p>As a data scientist, the first question you should ask yourself is, where do I get my data from? We will use the Python package openbb. The package bundles some data sources from the financial sector in a convenient way.</p><p>So let’s get started!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/d9346fca-20b5-4126-a584-f58f0fbf80b8">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/d9346fca-20b5-4126-a584-f58f0fbf80b8/uploads/images/yvc5cm3e4o/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/d9346fca-20b5-4126-a584-f58f0fbf80b8</link>
      <guid isPermaLink="false">d9346fca-20b5-4126-a584-f58f0fbf80b8</guid>
      <pubDate>Tue, 07 Nov 2023 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Efficient Use of KPIs in Data Science Projects]]></title>
      <description><![CDATA[Project controlling is essential in data science projects, as the time required and costs are often difficult to estimate. Clients want to implement their use cases…]]></description>
      <content:encoded><![CDATA[<img src="https://assets.steadyhq.com/production/post/18e06ed8-e4e0-4c37-837c-d74f65a4d22b/uploads/images/lzlhf75cly/header_img.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Efficient Use of KPIs in Data Science Projects"/><p><strong>Project controlling</strong> is essential in data science projects, as the time required and costs are often difficult to estimate. Clients want to implement their use cases efficiently and successfully with machine learning methods. You can positively influence consistent project control with meaningful <strong>key performance indicators (KPIs)</strong>. According to some <a href="https://designingforanalytics.com/resources/failure-rates-for-analytics-bi-iot-and-big-data-projects-85-yikes/">studies</a>, 85% of all data science projects fail, which requires early identification of obstacles.</p><p>In classical IT projects, many KPIs exist for project controlling, but these are not sufficient for data science projects. For this reason, in this article we present basic KPIs for IT projects and analyse them with regard to data science projects. As a result, we will see that specific KPIs can make the project controlling of data science projects more transparent.</p><p>The article first deals with the basics of project controlling and presents some KPIs from the software industry. Next, we use the presented KPIs and analyse them regarding data science projects using the process model CRISP-DM (<strong>CR</strong>oss-<strong>I</strong>ndustry <strong>S</strong>tandard <strong>P</strong>rocess for <strong>D</strong>ata <strong>M</strong>ining). The analysis also includes personal project experiences from data science projects.</p><h2>Project controlling</h2><p>Project control is a central component of project management and is used to support project decisions. It has the following objectives (cf. [1], p. 334):</p><ul><li><p>Coordination of project objectives</p></li><li><p>Supporting project management and identifying deviations from the plan and their causes</p></li><li><p>Evaluation of risks and initiation of measures to control or reduce risks.</p></li></ul><p>The project controllers use instruments to control the project, including a cockpit. IT projects are usually managed on the basis of a project order. A project description usually defines the scope of the project and the expected project goals on the part of the client. However, the project description often only contains rough descriptions, which is why refinement is necessary.</p><p>Finally, we need to derive a roadmap with milestones and resource and cost planning. The milestones are essential in project controlling because they determine the timing of reviews and thus facilitate the classification of the work status in the overall project.</p><p>The KPIs to support project controlling are the main focus of this article. Experienced project managers usually rely on clearly defined and easily interpretable KPIs. In the next section we present a concept for deriving meaningful KPIs for IT projects.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/18e06ed8-e4e0-4c37-837c-d74f65a4d22b">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets.steadyhq.com/production/post/18e06ed8-e4e0-4c37-837c-d74f65a4d22b/uploads/images/lzlhf75cly/header_img.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/18e06ed8-e4e0-4c37-837c-d74f65a4d22b</link>
      <guid isPermaLink="false">18e06ed8-e4e0-4c37-837c-d74f65a4d22b</guid>
      <pubDate>Tue, 31 Oct 2023 16:01:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Learn How Keyword Search Works and How Language Models can Improve…]]></title>
      <description><![CDATA[Search is everywhere! We all use search engines like Google, Bing, or You.com every day. Moreover, we search for information in apps like YouTube or X.]]></description>
      <content:encoded><![CDATA[<h1>Learn How Keyword Search Works and How Language Models can Improve it!</h1><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AGYLAs0oH-5GYiaaU4mzz1w.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=66777f195a71170fe3d994149fbc1456" alt="Learn how keyword search works and how language models can improve it!"/><p><strong>Search is everywhere!</strong> We all use search engines like Google, Bing, or <a href="http://you.com/">You.com</a> every day. Moreover, we search for information in apps like YouTube or X. It’s hard to imagine our everyday lives without searching. Companies also use search systems to search their internal documents. Keyword Search is the most commonly used technique to build search systems. </p><p>We’ll discuss the following points:</p><ul><li><p><strong>How does the keyword search work?</strong></p></li><li><p><strong>How do you use a keyword search system in Python?</strong></p></li><li><p><strong>How can language models improve Search Systems?</strong></p></li></ul><p>We have no time to waste. Let’s get started.</p><h2>How does the keyword search work?</h2><p>First, we want to introduce the high-level concept behind keyword search. The following figure shows a simple example.</p><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AvXt6gNLkAGagvsU18oYDTQ.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=fc717eabfaca118115e0e25e818b1db9" alt="Example: Keyword Search (Inspired by [1])"/><p><em>Example: Keyword Search (Inspired by [1])</em></p><p>Let’s say we have the query “<strong>What does the abbreviation EPS stand for in the financial industry?</strong>”. We are searching a very small archive that contains four sentences. We can compare how many words match between the query and the archive. The first sentence contains two words that are common to the query. The second sentence has the word “The”, which also contains the query. In the third sentence, no word is equal. The last sentence contains four words from the query. In the figure, you can see the number of words for each sentence on the right side. In addition, you can see that the fourth sentence has the most words in common with the query. A keyword search might retrieve that as the answer.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/630fd0a8-c583-4c76-a186-2c2c84f0b047">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AGYLAs0oH-5GYiaaU4mzz1w.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=0fe0cf9f7c9eebcb33dbdea8d0802ded" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/630fd0a8-c583-4c76-a186-2c2c84f0b047</link>
      <guid isPermaLink="false">630fd0a8-c583-4c76-a186-2c2c84f0b047</guid>
      <pubDate>Fri, 27 Oct 2023 08:21:17 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Univariate Discrete Distributions: An Easy-to-Understand Explanation…]]></title>
      <description><![CDATA[Do you know this? You want to learn something new, but you don’t know where to start. This is how we felt when we wanted to understand distributions mathematically. Yes,…]]></description>
      <content:encoded><![CDATA[<h1>Univariate Discrete Distributions: An Easy-to-Understand Explanation with Visuals</h1><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AlS1t1jLVfV2yQLPffNSlCg.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=51135b07613ab016e7539ec061f8fb93" alt="Univariate Discrete Distributions: An Easy-to-Understand Explanation"/><p><strong>Do you know this? You want to learn something new, but you don’t know where to start. This is how we felt when we wanted to understand distributions mathematically. Yes, our professor explained all these distributions to us, but only mathematically, with formulas! Our professor didn’t explain it in an easy-to-understand way with visuals.</strong></p><p>That’s why we wrote this article about the most important univariate discrete distributions. We want to explain you these distributions mathematically and visually. Our goal is that you understand the relationship between the maths and the distribution plot. In addition, we also present you an example for each distribution.</p><p>As a Data Scientist, it is important to understand how distributions work. Distribution assumptions are the backbone for some ML algorithms and are essential to solving statistical questions, for example in the insurance industry.</p><p>We’ll discuss the following distributions:</p><ul><li><p><strong>Bernoulli Distribution</strong></p></li><li><p><strong>Binomial Distribution</strong></p></li><li><p><strong>Geometric Distribution</strong></p></li><li><p><strong>Poisson Distribution</strong></p></li><li><p><strong>Uniform Distribution</strong></p></li></ul><p>Let’s dive in!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/172e2ed6-c4fd-4d7a-8696-78562adfa330">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AlS1t1jLVfV2yQLPffNSlCg.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=f1566a3bdd41e351c3649a65df19bc4b" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/172e2ed6-c4fd-4d7a-8696-78562adfa330</link>
      <guid isPermaLink="false">172e2ed6-c4fd-4d7a-8696-78562adfa330</guid>
      <pubDate>Fri, 20 Oct 2023 19:56:16 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[How to Deploy Your Plotly Dash App to Hugging Face Using Docker, It’s…]]></title>
      <description><![CDATA[Do you want to deploy your Plotly Dash App? Yeah, then this article is for you. You probably know the following situation. You create a great app and want to share it…]]></description>
      <content:encoded><![CDATA[<h1>How to Deploy Your Plotly Dash App to Hugging Face Using Docker!</h1><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AbqgdPre1GOfRtG9ko7r1BQ.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=5689e78f4a65ffc82da6c73d69ac04fe" alt="How to Deploy Your Plotly Dash App to Hugging Face Using Docker? It’s free!"/><p><strong>Do you want to deploy your Plotly Dash App?</strong> Yeah, then this article is for you. You probably know the following situation. You create a great app and want to share it with your colleagues or clients. There are two options: You can show it to them locally or you can deploy your app. The second option is much more convenient. You only need to send a link to your colleagues and clients.</p><p>You can easily deploy a Dash App using Docker in a few steps. And the best is it’s free. <strong>No credit card is required! </strong>We show you how you can do it.</p><p>What are you waiting for? Let’s get started!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/233201df-dfd8-4edc-afe9-eddee8d96f2f">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F1600%2F1%2AbqgdPre1GOfRtG9ko7r1BQ.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=ff64a03a10f68ea1670f33a3fa8c67fa" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/233201df-dfd8-4edc-afe9-eddee8d96f2f</link>
      <guid isPermaLink="false">233201df-dfd8-4edc-afe9-eddee8d96f2f</guid>
      <pubDate>Fri, 13 Oct 2023 19:03:00 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Lamini: Fine-Tune Your Large Language Models with Just 3 Lines of…]]></title>
      <description><![CDATA[Everyone has been talking about Prompt Engineering! But it has several limitations! For example, the model always decides based on the training data (often a large…]]></description>
      <content:encoded><![CDATA[<h1>Lamini: Fine-Tune Your Large Language Models with Just 3 Lines of Code</h1><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe9e9ec85-a93e-40ae-9829-11287c7648d4_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=754cf9d4a81b144ad2965579bddf48c2" alt="Lamini: Fine-Tune Your Large Language Models with 3 Lines of Code"/><p><strong>Everyone has been talking about Prompt Engineering! But it has several limitations! For example, the model always decides based on the training data (often a large amount of data from the Internet). Most models use general data. They are not specific to particular use cases. If you want to create large language models (LLMs) for specific use cases, you should think about fine-tuning.</strong></p><p>In this article, we look at the LLM platform Lamini. Lamini is a platform for developers to build private and fine-tuned models. According to Lamini, you can fine-tune your LLM in <strong>three lines of code</strong>. Wow, that sounds incredible!</p><p>In our article, we’ll show you practical examples of when you should fine-tune your LLM. We also highlight the pros and cons of prompt engineering and fine-tuning. Be curious! You will learn many new things.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Setup of the environment</strong></p></li><li><p><strong>What is Fine-Tuning?</strong></p></li><li><p><strong>Prompt Engineering vs. Fine-Tuning</strong></p></li><li><p><strong>Fine-tuned LLM vs. Non-fine-tuned LLM</strong></p></li><li><p><strong>Procedure for Fine-Tuning</strong></p></li><li><p><strong>Fine-Tuning in practice with Lamini</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/255aed88-5dd0-4982-9283-eeb6c5dcca6e">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe9e9ec85-a93e-40ae-9829-11287c7648d4_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=e2a6eff3598a66229f5a49e9b068b631" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/255aed88-5dd0-4982-9283-eeb6c5dcca6e</link>
      <guid isPermaLink="false">255aed88-5dd0-4982-9283-eeb6c5dcca6e</guid>
      <pubDate>Sun, 08 Oct 2023 07:59:55 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Mastering LangChain: A Beginner Guide]]></title>
      <description><![CDATA[Since the release of ChatGPT, large language models (LLMs) are becoming more and more popular. New LLM-powered tools come on the market almost every day. You can also…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd7f82864-926e-4fa1-8286-90ad61dd6e55_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=3caadc5bdabd78ae8526e64866e0537a" alt="Mastering LangChain: A Beginner Guide"/><p>Since the release of ChatGPT, large language models (LLMs) are becoming more and more popular. New LLM-powered tools come on the market almost every day. You can also build some cool stuff with LLMs, such as Chatbots or document analysis. And the best, you don’t need to train LLMs from scratch. You can use pre-trained LLMs. </p><blockquote><p>LLMs have the potential to change many industries from the ground up. — Tinz Twins</p></blockquote><p><a href="https://steady.page/en/tinztwins-hub/newsletter/sign_up">Subscribe to newsletter</a></p><p>In the last months, many LLM frameworks for developers entered the market. LangChain is one of these new frameworks. Many developers use LangChain to build impressive applications. Take a look at the Github star history of the LangChain project.</p><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd533b238-7b31-4842-8b69-d682e8548911_1600x1114.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=85186dfb43a1617a470af9ade8852e1c" alt="Growth of LangChain, impressive! (Image by star-history.com)"/><p><em>Growth of LangChain, impressive! (Image by </em><a href="https://star-history.com/#langchain-ai/langchain&amp;Date"><em>star-history.com</em></a><em>)</em></p><p>Today, we introduce you to the basics of LangChain. This article is for those who have never used LangChain but want to learn it. We show you the basic concepts in a few minutes. Let’s dive in!</p><h2>What is LangChain?</h2><p>LangChain is a framework for building applications with the power of LLMs. The framework consists of components that are modular and easy to use. The components are abstractions for working with LLMs, whether you use the rest of the framework or not. Moreover, LangChain contains Off-the-shelf chains. You use these chains to combine several components. This approach makes it easy to develop complex applications.</p><p>LangChain has a lot of functionalities, and it’s hard to keep track as a beginner. The framework currently contains six main modules, and in this article, we want to explain the core features of each module. This approach helps you to understand the framework from the ground up in an easy way. </p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/3776f18b-8753-457a-91b0-8312a2ef04d7">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd7f82864-926e-4fa1-8286-90ad61dd6e55_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=f5bb517db14e517c6b2d7154a2a0d814" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/3776f18b-8753-457a-91b0-8312a2ef04d7</link>
      <guid isPermaLink="false">3776f18b-8753-457a-91b0-8312a2ef04d7</guid>
      <pubDate>Sat, 07 Oct 2023 17:03:48 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Exploring Prompt Engineering for Developers: A Practical Guide]]></title>
      <description><![CDATA[On the Internet, you can often find PDFs or websites titled “The 100 Best Prompts to Boost Your Productivity.” These prompts are mostly for tools like ChatGPT to…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F11df81df-3d14-4c45-96e7-94f97aab7ee5_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=7d37ab0d9c91c60c04ae352daf7f491f" alt="Exploring Prompt Engineering for Developers: A Practical Guide"/><p><strong>On the Internet, you can often find PDFs or websites titled “The 100 Best Prompts to Boost Your Productivity.” These prompts are mostly for tools like ChatGPT to optimize simple repetitive tasks. Most of the time, you still need to customize these prompts to your individual use case, because each use case is different. That’s why you should learn to write effective prompts yourself, especially as a software developer. That’s exactly what this article covers.</strong></p><p>Many software developers are not yet aware of the power of Large Language Models (LLMs) in software development. Prompt engineering, in combination with production-ready LLMs, will simplify software development massively in the future. LLMs make it possible for any developer to design AI-powered applications very quickly. It’s exciting to see how LLMs have become a kind of <strong>Swiss Army knife</strong> in the development of AI applications.</p><p>In this article, we’ll show you what you can do with LLMs and how you can control LLMs with prompting. In addition, you’ll learn the best practices for developing clear and specific prompts. </p><p>We’ll discuss the following points:</p><ul><li><p><strong>Initial Setup</strong></p></li><li><p><strong>Types of LLMs</strong></p></li><li><p><strong>Approaches for Good Prompts</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/91e54763-958f-4701-9edf-1663dc1d699e">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F11df81df-3d14-4c45-96e7-94f97aab7ee5_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=5b251e546d9992e13d5e2bc49752ad90" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/91e54763-958f-4701-9edf-1663dc1d699e</link>
      <guid isPermaLink="false">91e54763-958f-4701-9edf-1663dc1d699e</guid>
      <pubDate>Sat, 07 Oct 2023 16:47:06 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[LangChain: Chat with Tesla’s Q2 Earnings Call on YouTube]]></title>
      <description><![CDATA[Don’t have enough time to watch a complete earnings call of a company? Maybe you have only a few questions. Then, it’s not necessary to listen to the whole earnings…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0dc1a673-a2c3-4407-84f5-39e9e7c9414d_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=8be1ea6f09f5fa06c662e588b3b72b14" alt="LangChain: Chat with Tesla’s Q2 Earnings Call on YouTube"/><p>Don’t have enough time to watch a complete earnings call of a company? Maybe you have only a few questions. Then, it’s not necessary to listen to the whole earnings call. An AI chatbot can assist you by analyzing the YouTube video and answering your questions. This way, you can save time and still be well-informed.</p><p>In this tutorial, we implement an AI assistant with the framework LangChain, a very user-friendly framework for working with LLMs. And the best, you can follow the tutorial with basic Python knowledge. <br/>In addition, we’ll analyze the YouTube video of Tesla’s Q2 earnings call. But you can also use another YouTube video. Our approach works with all YouTube videos, you just need to enter the URL to your video.</p><p>Now, we’ve no time to waste. Let’s start with what you can expect in this tutorial.</p><h2>What can you expect?</h2><p>First, we’ll give you a technical overview. The overview guides you through the components that we need for our chatbot. In addition, we explain the loading of videos, the data preparation, and the retrieval process with LangChain.</p><p>Are you interested in what the finished application looks like? Here’s a demo of the final chatbot:</p><img src="https://assets.steadyhq.com/production/post/0a28bfa3-cae7-46cf-ae62-8f57b4d132f3/uploads/images/mr4jzrfsf4/chat_with_earnings_call.gif?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Chatbot: Tesla’s Q2 Earnings Call"/><p>Impressive or? We’ve implemented this beautiful-looking web UI with Plotly Dash. The article focuses on the LangChain implementation and not on the web UI. Next, we jump into the setup process!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/0a28bfa3-cae7-46cf-ae62-8f57b4d132f3">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0dc1a673-a2c3-4407-84f5-39e9e7c9414d_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=68fffe1222ac9c38b0dddfdf92c2d80c" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/0a28bfa3-cae7-46cf-ae62-8f57b4d132f3</link>
      <guid isPermaLink="false">0a28bfa3-cae7-46cf-ae62-8f57b4d132f3</guid>
      <pubDate>Sat, 07 Oct 2023 15:22:17 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Poetry: Python Dependency Management Like a Pro]]></title>
      <description><![CDATA[Do you often have problems with dependencies in your Python projects? Then, Poetry offers a solution for you. Poetry is a dependency management and packaging tool for…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb9d66738-2c10-499d-b0c8-c00ff6786762_1800x1200.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=9c865056bcaec0ec7d691cc242d62cc7" alt="Poetry: Python Dependency Management Like a Pro"/><p>Do you often have problems with dependencies in your Python projects? Then, <strong>Poetry</strong> offers a solution for you. Poetry is a dependency management and packaging tool for Python. Dependency management is a fundamental aspect of Python projects. Good dependency management helps maintain projects and fix security issues.</p><p>Poetry addresses these points by managing the dependencies (install/update). It makes dependency problems a thing of the past, as it always finds a solution if one exists.</p><p>First, let’s look at why dependency management is so important. Then we install Poetry and look at the basics. In the last step, we integrate Poetry into an existing project. Let’s get started.</p><h2>Why is dependency management so important?</h2><p>Dependency management is crucial in software development. The following points list the advantages of dependency management:</p><ul><li><p><strong>Code Stability:</strong> Managing dependencies ensures that the software works reliably and consistently. Effective dependency management avoids conflicts, incompatibilities and unexpected errors in the code.</p></li><li><p><strong>Collaboration with colleagues:</strong> Dependency management is critical when multiple developers work on the same project. It ensures that all team members use the same versions of dependencies, avoiding compatibility issues.</p></li><li><p><strong>Maintainability:</strong> Dependency management tools simplify the installation, update and removal of dependencies. This automation saves developers time, and the project is always up to date.</p></li><li><p><strong>Extensibility:</strong> Managing dependencies becomes increasingly difficult in large projects. With automated dependency management, you can integrate new libraries seamlessly into the existing code base.</p></li><li><p><strong>Continuous integration and deployment:</strong> With appropriate dependency management, you can realise automated pipelines for testing and deployment much faster.</p></li></ul><p>These points show that appropriate dependency management is essential for software projects. Next, we look at the tool Poetry.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b07b8c02-1724-42e3-8bb2-4eb3dfb21c42">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb9d66738-2c10-499d-b0c8-c00ff6786762_1800x1200.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=7a5e2fccfba6f15b1c6cf87ef76856e8" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b07b8c02-1724-42e3-8bb2-4eb3dfb21c42</link>
      <guid isPermaLink="false">b07b8c02-1724-42e3-8bb2-4eb3dfb21c42</guid>
      <pubDate>Sat, 07 Oct 2023 14:48:28 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Efficient Testing of Your Python Code With Pytest]]></title>
      <description><![CDATA[Do you often look for errors in software components that could prevent with a better testing strategy? Sometimes you or a colleague change a small thing in existing…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7ab2f474-5249-4273-b3df-ccbe1db9f97e_1800x1200.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=c222b711f6cd116c1638ded72b78451a" alt="Efficient Testing of Your Python Code With Pytest"/><p><strong>Do you often look for errors in software components that could prevent with a better testing strategy?</strong> Sometimes you or a colleague change a small thing in existing software, and a few weeks later, you realize that a certain functionality no longer works. It is frustrating and tedious to find the old bugs. You can avoid all this by testing the functions and classes of your code. When you make changes to the code, your tests immediately show whether the old functionality still works correctly.</p><p>Every developer makes mistakes, so you should test your code early. You should test new functionalities or changes to the code directly by writing a corresponding test. In Python, you can use the <strong>pytest</strong> package for testing. This article shows you how to write tests for functions and classes with pytest. We will also explain how to interpret the output of the pytest package so that you can quickly fix errors in your code.</p><p>We will discuss the following:</p><ul><li><p><strong>Basics of pytest</strong></p></li><li><p><strong>Testing of functions</strong></p></li><li><p><strong>Testing of classes</strong></p></li></ul><p>Let’s start with the basics!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/0810ac24-455e-4b7b-b20b-50af14fe1930">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7ab2f474-5249-4273-b3df-ccbe1db9f97e_1800x1200.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=8504c052000d3c83c5507edd49feb77f" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/0810ac24-455e-4b7b-b20b-50af14fe1930</link>
      <guid isPermaLink="false">0810ac24-455e-4b7b-b20b-50af14fe1930</guid>
      <pubDate>Sat, 07 Oct 2023 13:31:55 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Build a beautiful-looking GPT Chatbot with Plotly Dash]]></title>
      <description><![CDATA[ChatGPT has impressively demonstrated the potential of AI chatbots. In the next few years, such AI chatbots will revolutionise many areas of the economy. Frameworks like…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0835f545-7f17-4b3a-b8ce-f1aa452a0d23_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=bfcfd45213e90fc766b350eacfeb605e" alt="Build a beautiful-looking GPT Chatbot with Plotly Dash"/><p>ChatGPT has impressively demonstrated the potential of AI chatbots. In the next few years, such AI chatbots will revolutionise many areas of the economy. Frameworks like LangChain make chatbot development accessible to everyone. But with these frameworks, you only develop the logic of the AI chatbot. The user interface is missing. A web interface is an elegant way to make a chatbot available for everyone.</p><p><strong>But how do you create a custom web-based interface?</strong> Answering this question is the core of this tutorial.</p><p>Here’s a demo of the final GPT chatbot app.</p><img src="https://assets.steadyhq.com/production/post/8033a6e7-c603-421e-be69-2a26a3bb8382/uploads/images/hbca2bbo7x/example_gif.gif?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp" alt="Demo of the AI Chatbot (GIF by authors)"/><p><em>Demo of the AI Chatbot (GIF by authors)</em></p><p>We’ll discuss the following topics:</p><ul><li><p><strong>Why Plotly Dash?</strong></p></li><li><p><strong>Technical requirements</strong></p></li><li><p><strong>Project Structure</strong></p></li><li><p><strong>Implementation of the AI Chatbot</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><h2>Why Plotly Dash?</h2><p>Dash is written on top of Plotly.js, Flask and React.js. The open-source framework is licensed under the permissive MIT license. With Plotly Dash, you can build and deploy web apps with customised User Interface (UI) in pure Python. The framework abstracts the protocols and technologies needed to create a full-stack web app. This approach allows you to create data apps in a few minutes. From our point of view, Plotly Dash is the best choice to build web apps with Python. Do you like to learn more about the power of Dash and how to build Enterprise level web apps with Dash and Docker? Yes, then you can read our <a href="https://steadyhq.com/de/tinztwins-hub/posts/8e58df70-5aa1-4850-851f-657336632aef">article about Enterprise-level Plotly Dash Apps</a>.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8033a6e7-c603-421e-be69-2a26a3bb8382">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0835f545-7f17-4b3a-b8ce-f1aa452a0d23_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=2146e687f250093d45f31c1b55d162c8" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8033a6e7-c603-421e-be69-2a26a3bb8382</link>
      <guid isPermaLink="false">8033a6e7-c603-421e-be69-2a26a3bb8382</guid>
      <pubDate>Fri, 06 Oct 2023 15:13:09 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[EDGAR Tools: An Awesome Python Package to Get SEC Filings]]></title>
      <description><![CDATA[Today, we’re talking about the best EDGAR library we have ever seen! We’ve tested many EDGAR libraries in the last year, and none of them have met our requirements. The…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fac3f4b25-45c1-471a-83ef-c03ec808aa1f_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=c54734d2e9c202e15813f4d88bdc40d2" alt="EDGAR Tools: An Awesome Python Package to Get SEC Filings (It’s Free)"/><p><strong>Today, we’re talking about the best EDGAR library we have ever seen! We’ve tested many EDGAR libraries in the last year, and none of them have met our requirements. The libraries often have low functionality or have not worked properly. In addition, the libraries often had poor documentation. This article shows you a library that has convinced us!</strong></p><p>Maybe you’re wondering what EDGAR even is. EDGAR stands for Electronic Data Gathering, Analysis, and Retrieval, and it is a database for legally required reports of all reportable companies. The United States Securities and Exchange Commission (SEC) manages this database. The filed reports are called SEC filings.</p><p>In this article, we look at the Python package <strong>edgartools</strong>, a very well-structured EDGAR library. We have tested the library, and it is very comprehensive. In addition, it is very powerful and easy to use. And the best, you don’t need an API key from the SEC. With this package, you can filter, query and select every filing since 1994. Furthermore, you can view the filing’s html, xml and text.</p><p>For instance, you can get Tesla’s current balance sheet with two lines of code:</p><figure><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_lossy%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9462a2b3-4767-4f9e-8930-93a0c74e3a9c_1077x867.gif?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=350b610b988181a8ed03069d48af771f" alt="Request Tesla’s balance sheet (GIF by authors)"/><figcaption>Request Tesla’s balance sheet (GIF by authors)</figcaption></figure><p>Awesome! Now, let’s jump into the setup!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b44778fa-c089-4afd-924f-96fe4766f80d">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fac3f4b25-45c1-471a-83ef-c03ec808aa1f_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=b669b0fb81ab4643fe056db54e8e39cc" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/b44778fa-c089-4afd-924f-96fe4766f80d</link>
      <guid isPermaLink="false">b44778fa-c089-4afd-924f-96fe4766f80d</guid>
      <pubDate>Fri, 06 Oct 2023 14:33:35 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[LangChain: Use the Power of GPT to Chat with Earnings Reports of…]]></title>
      <description><![CDATA[Do you want to compare many quarterly reports of public companies? It’s tedious to look through all the quarterly reports by hand. An assistant would be very helpful,…]]></description>
      <content:encoded><![CDATA[<h1>LangChain: Use the Power of GPT to Chat with Earnings Reports of Companies</h1><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F72cc515b-530f-46a8-8d1b-bdb4c4430157_1600x1067.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=e53e439931c14c22f077d2baa3646bdd" alt="LangChain: Use the Power of GPT to Chat with Earnings Reports of Companies"/><p><strong>Do you want to compare many quarterly reports of public companies?</strong> It’s tedious to look through all the quarterly reports by hand. An assistant would be very helpful, wouldn’t it? That’s our motivation to build an AI assistant for comparing different earnings reports. <strong>Be curious!</strong></p><p>We implement the assistant with the frameworks LangChain and Plotly Dash in Python. If you want to learn more about Plotly Dash, we recommend our article “<a href="https://steadyhq.com/de/tinztwins-hub/posts/8e58df70-5aa1-4850-851f-657336632aef">A Comprehensive Guide to Building Enterprise-Level Plotly Dash Apps</a>”. This article shows you how to build a production-ready web app with Plotly Dash and Docker. If you are a LangChain beginner, we recommend our introduction article about LangChain.</p><a href="https://tinztwinshub.com/software-engineering/constructing-a-chatgpt-like-app-using-langchain-and-plotly-dash/">https://tinztwinshub.com/software-engineering/constructing-a-chatgpt-like-app-using-langchain-and-plotly-dash/</a><p>The article is a perfect starting point for understanding the basics of LangChain, and it’s essential for understanding the concepts in this article.</p><p>Now let’s start with what you can expect in this article.</p><h2>What can you expect?</h2><p>In this article, we’ll analyse the Q1–2023 earnings reports of Tesla, Mercedes Benz and BMW. First, we’ll give you a technical overview. The overview shows you the individual components which we need. Furthermore, we explain the loading of the PDF documents (earnings reports), the data preparation and how agents in LangChain work.</p><p>Do you want to know what the finished app looks like? Here’s a demo of the final web app:</p><figure><img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_lossy%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F27af7745-6920-46d5-9092-d15f71027fd0_800x384.gif?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=0ad539fef4f16df34a186a830fcdc61f" alt="LangChain: Chat with earnings reports demo (GIF by authors)"/><figcaption>LangChain: Chat with earnings reports demo (GIF by authors)</figcaption></figure><p>We’ve no time to waste. Let’s jump into the setup!</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/6de9da0b-c875-4e1e-8eb6-7a7697e64648">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F72cc515b-530f-46a8-8d1b-bdb4c4430157_1600x1067.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=60b3aa720906a7d247a237ef91f04b2e" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/6de9da0b-c875-4e1e-8eb6-7a7697e64648</link>
      <guid isPermaLink="false">6de9da0b-c875-4e1e-8eb6-7a7697e64648</guid>
      <pubDate>Fri, 06 Oct 2023 14:02:32 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Detection of Credit Card Fraud with an Autoencoder]]></title>
      <description><![CDATA[Do you want to know how to create an anomaly detector using Python and TensorFlow? Then this article is for you. Credit card companies use anomaly detectors to detect…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb35bd8c4-e593-4254-b748-f52d9738caa3_1800x1200.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=2916700ff5984bb986904fb191e7ab70" alt="Detection of Credit Card Fraud with an Autoencoder"/><p><strong>Do you want to know how to create an anomaly detector using Python and TensorFlow?</strong> Then this article is for you. Credit card companies use anomaly detectors to detect fraudulent transactions. It is important to identify fraudulent transactions so that customers do not have to pay for something they did not buy.</p><p>Many credit card transactions take place every day, but very few transactions are fraudulent. The fraudulent transactions are anomalies. The article presents an implementation of an autoencoder model to detect these fraudulent transactions. </p><p>We’ll discuss the following points:</p><ul><li><p><strong>Anomaly detection in general</strong></p><ul><li><p><strong>Anomaly definition</strong></p></li><li><p><strong>Types of anomalies</strong></p></li><li><p><strong>Anomaly detection</strong></p></li></ul></li><li><p><strong>Autoencoder concept</strong></p></li><li><p> <strong>Credit Card Fraud Detection Implementation</strong></p></li><li><p><strong>Data Preparation</strong></p></li><li><p><strong>Modeling</strong></p></li><li><p><strong>Evaluation</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/c987d5c6-7f9f-4788-ac5c-e3a71f0f2a6d">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb35bd8c4-e593-4254-b748-f52d9738caa3_1800x1200.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=9ece1808e669050e356442d45a13307d" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/c987d5c6-7f9f-4788-ac5c-e3a71f0f2a6d</link>
      <guid isPermaLink="false">c987d5c6-7f9f-4788-ac5c-e3a71f0f2a6d</guid>
      <pubDate>Fri, 06 Oct 2023 13:40:47 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[A Comprehensive Guide to Building Enterprise-Level Plotly Dash Apps]]></title>
      <description><![CDATA[Data Science projects always need some kind of visualisation. For the initial analysis, data scientists usually use Jupyter Notebooks and libraries like matplotlib or…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7c2a5294-179e-4715-8a4a-4502b2a2fd72_1800x1200.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=b5bf6e37970af6d1c1b61ac165f36b5c" alt="A Comprehensive Guide to Building Enterprise-Level Plotly Dash Apps"/><p>Data Science projects always need some kind of visualisation. For the initial analysis, data scientists usually use Jupyter Notebooks and libraries like <a href="https://matplotlib.org/">matplotlib</a> or <a href="https://seaborn.pydata.org/">seaborn</a>. In exploratory data analysis, data scientists use histograms, and scatter plots or make statistical evaluations. For the first insights, this approach is very well suited. However, interactive dashboards are more appropriate for presenting the results. Many clients want exactly that! Interactive dashboards are a proven approach to explaining results in an understandable and comprehensible way.</p><p>But creating an interactive dashboard is not a trivial task. In our view, Plotly Dash is the best choice for creating impressive diagrams. For a production-ready dashboard application, you must consider further aspects (e.g. deployment with Docker).</p><p>In this article, we want to share our best practices for building a well structured dashboard application with Plotly Dash. In addition, we show how to deploy a Dash App cleanly with Docker.</p><p>We’ll discuss the following points:</p><ul><li><p><strong>Why Plotly Dash?</strong></p><ul><li><p><strong>Advantages</strong></p></li><li><p><strong>Disadvantages</strong></p></li></ul></li><li><p><strong>Why Docker?</strong></p></li><li><p><strong>Model View Controller Pattern</strong></p><ul><li><p><strong>Advantages</strong></p></li><li><p><strong>Disadvantages</strong></p></li></ul></li><li><p><strong>Best Practices: Project Structure for Dash Apps</strong></p></li><li><p><strong>Local Development</strong></p></li><li><p><strong>Dockerize the Dash App (Production Environment)</strong></p></li><li><p><strong>Conclusion</strong></p></li></ul><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8e58df70-5aa1-4850-851f-657336632aef">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7c2a5294-179e-4715-8a4a-4502b2a2fd72_1800x1200.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=91878f3af0e36d238784f1a2f60054f6" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/8e58df70-5aa1-4850-851f-657336632aef</link>
      <guid isPermaLink="false">8e58df70-5aa1-4850-851f-657336632aef</guid>
      <pubDate>Fri, 06 Oct 2023 13:25:51 +0000</pubDate>
    </item>
    <item>
      <title><![CDATA[Deploy Your Own MLflow Workspace On-Premise with Docker]]></title>
      <description><![CDATA[MLflow is an open source platform to manage the lifecycle of ML models end to end. It tracks the code, data and results for each ML experiment, which means you have a…]]></description>
      <content:encoded><![CDATA[<img src="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F273be04e-dfb3-46e5-9303-5f25203e3be1_1800x1200.png?auto=compress&amp;w=800&amp;fit=max&amp;dpr=2&amp;fm=webp&amp;s=ca02bb1dec8755837e906fc3a0e1d9e0" alt="Deploy Your Own MLflow Workspace On-Premise with Docker"/><p><a href="https://mlflow.org/">MLflow</a> is an <strong>open source platform</strong> to manage the lifecycle of ML models end to end. It tracks the code, data and results for each ML experiment, which means you have a history of all experiments at any time. A dream for every Data Scientist. Moreover, MLflow is <strong>library-agnostic</strong>, which means you can use all ML libraries like TensorFlow, PyTorch or scikit-learn. All MLflow functions are available via a <a href="https://mlflow.org/docs/latest/rest-api.html#rest-api">REST API</a>, <a href="https://mlflow.org/docs/latest/cli.html">CLI</a>, <a href="https://mlflow.org/docs/latest/python_api/index.html">Python API</a>, <a href="https://mlflow.org/docs/latest/R-api.html">R API</a> and <a href="https://mlflow.org/docs/latest/java_api/index.html">Java API</a>.</p><p>As a Data Scientist, you spend a lot of time optimizing ML models. The best models often depend on an optimal hyperparameter or feature selection, and it is challenging to find an optimal combination. Also, you have to remember all experiments, which is very time-consuming. MLflow is an efficient platform to address these challenges.</p><p>In this post, we briefly introduce the basics of MLflow and show how to set up an MLflow workspace on-premise. We set up the MLflow environment in a Docker stack so that we can run it on all systems. In this context, we have the services Postgres database, SFTP server, JupyterLab and MLflow tracking server UI. Let’s start.</p><p><a href="https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/7435284e-2301-44c6-9c6c-0db4e10c7677">Continue reading on Steady</a></p>]]></content:encoded>
      <media:content type="image/jpeg" url="https://assets-proxy.steadyhq.com/https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2Fw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F273be04e-dfb3-46e5-9303-5f25203e3be1_1800x1200.png?auto=format&amp;h=787&amp;w=1400&amp;fit=fill&amp;fm=jpg&amp;crop=faces&amp;s=47e1e2f325dc254ab11256758b669501" medium="image"/>
      <link>https://steady.page/eedbc21a-9c90-4b58-9559-7232d503367f/posts/7435284e-2301-44c6-9c6c-0db4e10c7677</link>
      <guid isPermaLink="false">7435284e-2301-44c6-9c6c-0db4e10c7677</guid>
      <pubDate>Fri, 06 Oct 2023 12:46:37 +0000</pubDate>
    </item>
  </channel>
</rss>