Eric J Ma's Website

« 1 2 3 4 »

5 retrieval strategies to boost your RAG system's performance

written by Eric J. Ma on 2024-12-16 | tags: retrieval augmented generation keyword search fuzzy search vector search knowledge graph large language models

In this blog post, I provide an overview of retrieval methods for Retrieval-Augmented Generation (RAG), exploring various methods like human-curated, exact keyword search, fuzzy keyword search, vector similarity search, and knowledge graph-based retrieval. Each method is dissected to reveal its unique strengths and ideal use cases, providing insights into how they can enhance RAG systems' performance. Curious about how these strategies can be combined for even more robust results?

Read on... (1512 words, approximately 8 minutes reading time)
How LlamaBot's new agent features simplify complex task automation

written by Eric J. Ma on 2024-12-15 | tags: agents llamabot automation interface python analysis workflow

In this blog post, I explore the innovative features of LlamaBot's new AgentBot, designed to simplify complex task automation. These agents operate with goal-oriented non-determinism, decision-making flow control, and natural language interfaces, making them powerful yet user-friendly. I also provide real-world examples, including a detailed walkthrough of a stock market analysis. Curious about how these agents can streamline your workflows and enhance the flexibility of your LLM applications?

Read on... (1344 words, approximately 7 minutes reading time)
A modest proposal for data catalogues at biotechs

written by Eric J. Ma on 2024-11-22 | tags: strategy cloud adoption data catalog data discovery data scientist biotech data governance social graph

Building data platforms at biotechs often fails because we ask scientists to change their workflow and manually catalog data. This leads to poor adoption, wasted engineering effort, and continued data accessibility problems. Instead of building new systems, I propose automatically capturing data sharing patterns that already exist. This approach:

  • Reduces implementation costs by 60-80% compared to traditional platforms
  • Requires zero change in scientist behavior
  • Creates an automatically-maintained data catalog
  • Enables rapid data discovery through social connections
  • Can be implemented incrementally, showing value within 3-6 months

Read on... (2513 words, approximately 13 minutes reading time)
Deploying Ollama on Modal

written by Eric J. Ma on 2024-11-14 | tags: modal deployment open source api cloud gpu software models ollama large language models

In this blog post, I share my journey of deploying Ollama to Modal, enhancing my understanding of Modal's capabilities. I detail the script used, the setup of the Modal app, and the deployment process, which includes ensuring the Ollama service is ready and operational. I also implement an OpenAI-compatible endpoint that makes it easy to use the deployment with existing tools and libraries. This exploration not only expanded my technical skills but also created a practical solution for using open-source models in production. Curious about how this deployment could streamline your projects?

Read on... (1504 words, approximately 8 minutes reading time)
Disposable environments for ad-hoc analyses

written by Eric J. Ma on 2024-11-08 | tags: python tooling data science notebook reproducibility juv uv environment management scripts analysis

In this blog post, I explore the innovative 'juv' package, which simplifies Python environment management for Jupyter notebooks by embedding dependencies directly within the notebook file. This approach eliminates the need for separate environment files, making notebooks easily shareable and reducing setup complexity. I also discuss integrating 'juv' with 'pyds-cli' to streamline ad-hoc data analyses within organizations, enhancing reproducibility and reducing environment conflicts. Curious about how this could change your data science workflow?

Read on... (1328 words, approximately 7 minutes reading time)
Introducing new (local) LlamaBot logging features

written by Eric J. Ma on 2024-11-02 | tags: llamabot logging software development llm large language models web development version control

In this blog post, I share the latest updates to LlamaBot, including automatic logging of LLM interactions, version-controlled prompt logging, and a new web-based UI for visualizing these logs. These features enhance prompt analysis and make prompt engineering more intuitive and data-driven. Additionally, logs can now be exported in OpenAI fine-tuning format for easier sharing and integration. If you're keen on refining your LLM interactions and prompt crafting, these tools might be just what you need. Curious to see how these new features can streamline your workflow?

Read on... (595 words, approximately 3 minutes reading time)
The Human Dimension to Clean, Distributable, and Documented Data Science Code

written by Eric J. Ma on 2024-10-25 | tags: data science coding documentation readability distribution best practices cognition tool making

This blog post, which is my pyOpenSci Fall Training keynote, explores the importance of creating clean, distributable, and well-documented data science code, emphasizing the human dimension of coding practices. In it, I discuss key concepts such as readability, cognitive load, and the toolmaker's mindset, and provide practical insights on how to make code more accessible and impactful for both the creator and other users. I also touch on the role of AI in coding and documentation.

Read on... (3795 words, approximately 19 minutes reading time)
Cursor did a one-shot rewrite of a Panel app I built

written by Eric J. Ma on 2024-10-20 | tags: coding fastapi htmx automation design prototype development patterns assistance productivity

In this blog post, I share my experience using Cursor to transform a sluggish Panel app into a sleek HTMX + FastAPI application. I detail how AI-assisted coding not only sped up the process but also enhanced my understanding of web development. Despite my limited skills in this area, the AI tools helped me prototype faster and learn valuable lessons. I also reflect on the importance of critically assessing AI-generated code to improve one's coding instincts. Curious to see how it turned out and what insights I gained?

Read on... (690 words, approximately 4 minutes reading time)
Keys to effective collaborative data science

written by Eric J. Ma on 2024-10-18 | tags: data science science collaboration standardization empathy automation reproducibility reviews coding research

In this blog post, I discuss enhancing collaboration between data scientists and non-computational colleagues to ensure impactful work. I emphasize the importance of standardizing code initialization, involving non-coders in code reviews, empathetic communication across roles, and ensuring work is runnable on any computer. These practices aim to bridge gaps, reduce cognitive load, and foster mutual appreciation of challenges faced in data science projects. How can these strategies be implemented in your team?

Read on... (1626 words, approximately 9 minutes reading time)
What brings you joy at work?

written by Eric J. Ma on 2024-10-09 | tags: joy standardization mentorship building speed gatherings puzzles investment conversations standardization

In this blog post, I explore what brings me joy at work, highlighting my passion for setting high standards, mentoring, building tools, and engaging in meaningful projects at Moderna. I discuss the satisfaction derived from creating efficient solutions and the thrill of solving complex problems. Conversely, I touch on aspects of my job that are less joyful, like operational tasks and unnecessary complexity, which I strive to minimize through automation and effective processes. What brings you joy at work, and what removes joy from work for you?

Read on... (1238 words, approximately 7 minutes reading time)
« 1 2 3 4 »