01Oct

What I Learned in my First 9 Months as a Freelance Data Scientist | by CJ Sullivan | Oct, 2024


Photo by Persnickety Prints on Unsplash

I can’t believe it has already been 9 months since I have been working as a freelance data scientist! I originally wrote about making the leap after I was 3 months in. Getting started my husband and I agreed that we would try it for 3 months and that we would know after 3 months if it was going to work. I am very pleased (and fortunate) to say that we knew after about a month that it looked like freelancing was going to work for us.

My original post garnered a lot of public and private questions from people facing layoffs, return-to-office mandates (which are typically layoffs in disguise), and burn out. I also have learned a lot more in the past 6 months about how to make this work. I also made some key mistakes and have learned from them on some things not to do. So I thought it was time to post an update to the original post.

I do recommend that you read my original post first because there are some important things in there that I will not cover here. Like last time, I would also like to give a shout out to Brett Trainor who has created on online community (it is mostly Gen X-ers, but applicable to most people) called The Corporate Escapees dedicated to helping people free themselves from corporate work. He also has a great presence on TikTok. Brett and the “Escapees” have been great to bounce ideas off of and provide a wealth of information on getting started and flourishing while working as a freelancer, fractional, consultant, or solopreneur.

In my original post I had laid out several things I love about having gone out on my own. These things included stuff like working on what I work on when I want to work on it and making my own rules for my company. In the past 6 months I have discovered some new ones and learned more about the ones I already knew. So I thought I would briefly describe them here.

First, I (still) get to work from home. I have been working from home since 2017, which has given me the freedom to live where I want. I am a mountain creature and so the idea of moving to some random city away from all of the outdoor activities I love is not at all appealing to me. (In fact, I left the field of my PhD so that I could take a remote job…something that was not possible in that field.) More importantly, we are seeing many companies that went remote with the pandemic issue return to office (RTO) mandates. It is well documented that many of these are layoffs in disguise. So in reality, I have more job stability as a freelancer! And those companies that are laying off still have work that needs to be done. They just don’t have the positions to do it because they have laid people off. This means that freelancing is actually going to be more stable over the long run, because these companies will need to bring in someone to do the work!

Next — and this is no small one — is that I no longer am subjected to the huge waste of time that is a performance review. I have watched coworkers turn themselves inside out writing their self assessments fretting over every single punctuation mark only to have them essentially ignored. I have written many self assessments that included jokes and laughable things that managers have never commented on or noticed because they never read them! The process of performance reviews is broken. And what is the point when the majority of the time “meets expectations” lands you a so-called raise that is less than the increase in the cost of living?

This is not to say that as a freelancer your performance doesn’t matter. It is just that you don’t have to get all anxious and waste your time listening to your boss rattle back to you some list of accomplishments, tell you that you are doing a good job, and not give you too much reward for it. Instead, the reward for a freelancer (or the management of a poorly-performing one) is done through repeat business. Does a client choose to renew or extend your contract? Are they giving your name out to their friends as a referral? If so, job well done!

One that should not be overlooked is the fact that I have control over how my company-of-one runs. This has a lot of different impacts. First, I do not have to go ask numerous managers permission to work on a thing. If I want to work on something, I work on it. Ideally, there are others who need that type of work done that I can help. Second, I determine the finances of the company and don’t need to ask permission to attend a conference, take a class, travel to meet with a prospective client, or buy a new software tool. While it might sound silly, I actually am giddy (in a geeky kind of way) that I get to pick my own computer. I greatly dislike being forced to use Windows or Mac (Pop_OS FTW!!!) or being tied into a particular type of hardware. If I think it would benefit my business by me attending or speaking at a particular conference, I go and don’t need to play “Mother May I?” to get permission to go. If I decide I need to buy a particular book for my continuing education, I don’t need to ask someone. There is great freedom in this! (And, by the way, these things are tax deductible as well!)

Networking (Image created by author using DALL-E)

Definitely the most common questions I have received since writing my initial post 6 months ago have to do with networking. When you are working as a freelancer, the old saying goes: “your network is your net worth.” There are a lot of implications to this statement and not all of them are pretty. So I am going to share some hard truths here.

First, networks are established over time. Good networks include people who tend fall into one of a few categories:

  • People you have worked with in the past and are familiar with your work
  • Other people in your field who know of your experience, skills, and interests
  • People who work for companies that have problems that you can solve

(Note that this is not an exhaustive list, but you get the point.)

When you are freelancer you are selling a brand and that brand is you. Think about it like buying a car. You are not going to buy a car that is a brand you have never heard of. Further, you are not going to buy a brand that has not made a car before just because they have an assortment of parts. People buy things they trust.

What this means is that it is really hard to be a successful freelancer — in data science or otherwise — if you have not already been working as a data scientist for some period of time. When clients hire freelancers they are trying to solve a problem. They want to know that the freelancer they are hiring knows how to solve it and has experience in doing so. This means that it is very difficult to be a successful data science freelancer as your first job out of school. Even graduate school. Real-world experience is highly valued by those who look to hire freelancers.

The good news is that the act of getting that so-called real-world experience is already a key step in developing your network (i.e. the group in the first bullet point above). Many freelancers I know have their previous employers as some of their first clients. This is also why it is really important to avoid burning bridges with those you have worked with in the past, because you never know could be your client in the future!

In my previous post I suggested things like conference attendance and speaking as ways to grow your network further. I still hold to that. However, it is also important to recognize that not everyone does well at conferences. There are some neurodivergent people who find conferences to be difficult. And that is OK! There are ways to build your network beyond conferences, especially including things like blogging here and elsewhere! What you are looking to do, whether at conferences or blogging, is to grow your brand and brand awareness. When people think of you as a data scientist, what types of things do you want them to think of? Maybe you are a whiz at forecasting. Blog about it! Maybe you really enjoy writing code to solve a certain type of problem. Create a YouTube video about it!

Increasing your brand awareness (and network) through a good portfolio

The important thing here is about creating that brand awareness of the brand that is you. This, of course, means that people need to be able to find your brand and learn about it. Particularly if your network is not large, this means that people need to be able to see your work. Here is where creating a really awesome portfolio can help. Getting your portfolio in front of people in the last category above can help you grow your network and land jobs.

There is a ton of content out there about how to create a good data science portfolio. I will just summarize some key points here.

First, your portfolio should use an interesting data set. Do not use any data set from educational forums such as the Titanic data set, MNIST, cat versus dog via imagery, etc. Kaggle, while a great learning tool, does not always reflect the real work. You want the data to be as realistic as possible. It should be noisy and messy because this is how real-world data is. It should answer an interesting question (bonus points if it is an interesting question that could make a company money or solve a big problem). And it should also be data on a subject you are interested in and knowledgeable about so you can personally identify if the answers make sense and talk people through it like a subject matter expert.

Second, you need to tell a complete story for each project in your portfolio. Do not just put up a bunch of code with no explanation for how to use it. Do not provide results from some model without an explanation of what is going on with the model and the data and what conclusions should be drawn. A good portfolio project is as much about the explanations of your work as it is about the code. Your explanations should be extensive. You need to demonstrate that you not only know how to code, but know how to walk the reader through the full start-to-finish story of problem to solution.

Your portfolio projects, when possible, should be interactive. You want people to be able to see that the code runs. I personally am a big fan of setting up an inexpensive virtual machine somewhere and running Streamlit dashboards for interactivity.

Because your portfolio is about brand awareness, think about what your brand is. For example, if you are wanting to advertise yourself as being really good with recommendation engines, don’t waste time demonstrating solutions in image analysis. You are going to be showing your future clients the types of problems you can solve for them. The more obvious you make that, the better.

Finally, whenever you make an update to your portfolio, you need to get the word out there. Make a blog post or YouTube video to go with it. Make the code publicly available on GitHub or GitLab. Post on LinkedIn links to the portfolio and point out the new content. Post another link once the blog post is published.

Image created by author with DALL-E

I love being a specialist. Many people do. I have some pretty deep knowledge in some pretty specific domains. However, being a freelancer is about solving a problem. Frequently (and especially with startups that don’t have many employees) you will be expected to know how to do more than create the small, superb solution to the problem. You will need to know how to solve the problem from beginning to end. This means that you will need to work beyond that small, niche skill.

For me, this has meant that I have been learning (an ongoing process) many skills that go beyond my favorite areas of graphs, NLP, LLMs, etc. I have had to learn a fair bit more about data engineering, MLOps/LLMOps, and cloud architecture. I am paying to take classes and go to conferences on these subjects (see above…my management approved it 😉 ). These are investments in me, which means they are investments in my business. The more I can offer clients, the more clients whose problems I can solve. It is important as a freelancer that you be able to offer as much as possible!

Image created by author with DALL-E

Early on in my freelancing I was thinking about who my dream client is. Those who know me know that work culture really matters to me. The places I have seen with the work culture that most closely resembles my values tend to be startups. I also know the types of data science problems I like to work on (graphs, natural languages processing, generative AI, geospatial). So I initially figured that I would look just for startups with those types of problems.

I was then exposed to a great book called “The Freelancer’s Bible: Everything You Need to Know to Have the Career of Your Dreams―On Your Terms” by Sara Horowitz. This opened my eyes to a different way of looking at clients with an eye towards creating a diverse pool of current and prospective clients.

If you get into this book, you will learn that the best financial stability while freelancing comes from having a variety of types of clients ranging from major clients who are steady and consistent to those who might be profitable after some work with them to those who might be long shots. It is worth noting in my case that startups, by the very fact that they are startups and especially true of early-stage startups, might not necessarily be considered “steady and consistent.” If you rely only on them then you need to be prepared for your work to be cancelled or your hours cut due to fluctuations in the cash flow and budget. And it is a bad idea to compensate for that by taking on a lot of startups (see below on taking on too much work). This also means that you need to have a good financial cushion such that if hours dry up a bit for a period of time you can still pay your bills.

In practice, it is better to have an even mix of clients from companies that have been around for some time to startups and those in between. This will make your freelancing business more resilient to when contracts end or clients have to cut back your hours. Remember the goal: steady, predictable income.

Photo by Junseong Lee on Unsplash

If you came here looking to talk about health insurance in the United States as freelancer, I would direct you to the “Mistakes I have made so far section below.” Don’t worry, I will cover that topic. But let’s hit a few other insurance topics first.

By far, one of the biggest changes in going solo has been the fact that I no longer have company-provided benefits. This has a few implications that you need to factor in as you are determining your finances for going solo. This section might be fairly US-centric since other countries offer different benefits. But it is definitely something to educate yourself on, regardless of where you live.

First, when you are working for a company it is unlikely that they are going to sue you if you do a bad job (with a few exceptions, of course). However, when you are working as a solopreneur that is not a guarantee. When I was just getting started, I didn’t really think about these things. I just figured that my clients and I would have a contract with a solid statement of work, good communication, and clear deliverables and that would take care of that. I have not been sued (and hope that I never am!), but it is naive to think that it couldn’t happen at some point in the future.

This is what professional liability insurance is for. It covers both businesses and individuals for claims that might arise out of allegations of mistakes, missed deliveries, or breach of contract. In fact, some larger organizations that you might contract with actually require that you carry it. So best to plan for this in advance. It is really easy to get online and reasonable plans cost less than $200/month.

Another insurance I had not initially considered was long-term disability insurance. Many people have disability insurance, both short- and long-term, as part of their corporate benefits package and don’t even think about it. In my specific case, I am the sole bread winner for my family for a big portion of the year (my spouse works a seasonal job). If something were to happen to me and I couldn’t work, this would be a devastating blow to my family, one we could not afford. Therefore, getting disability insurance is something you should really think about.

Generally speaking “long term” means beyond 3 months. If you sit down and price it out, you will find that the price of short-term and long-term is about the same. Therefore, we decided not to get short-term disability insurance since it is so expensive, which implies that we will make sure that we are financially able to cover 3 months of living without an income should something happen to me.

Another big benefit that corporate employers offer (at least in the United States) is that they contribute something to your retirement. Typically, this is in the form of a 401k matching contribution. As a freelancer, you can still contribute to your retirement, but you need to make the conscious decision to do so since you will no longer have an employer automatically deducting it from your paycheck. Here is where I strongly recommend you talk with a financial advisor on the best ways to save for retirement.

Image created by author with DALL-E

I have likely made the idea of working freelance sound a bit like rainbows, puppies, and unicorns. In a way, that is how I feel. But I also have made some pretty big mistakes. So please learn from me and my mistakes and go into your decision-making process with better information than I had!

Health insurance

At least in the United States this is the 800 pound gorilla in the room that keeps people tied to corporate work. There is no reasonably-priced way to get health insurance when you are working for yourself. Yes, there is the open market (AKA Obamacare), so at least that option exists (a brief moment of tribute to the freelancers who went out there before Obamacare).

As I previously said, my spouse works seasonally but is offered health insurance during the season. So it made sense that we would go on is health insurance when I left corporate. This left us trying to figure out what we would do when the season was over. We had the option of COBRA (the ability to keep your health insurance through your existing, corporate plan while paying the full monthly premiums) or to go on the open market. Because I was having surgery while he was still working, we decided to do COBRA since I would be reaching my maximum out-of-pocket (OOP) and we could then take advantage of not having to pay anything for the rest of the year.

This. Was. A. Mistake.

The problem was that we didn’t fully realize how much COBRA costs. We knew it was expensive, but we completely underestimated. For our family of 3, it came out to $3000/month. Yes, really. Yet I now know that I can get comparable packages on the open market for half that. It is still not cheap and it is tax deductible either way. If I sat down and really calculated out how much we were saving by reaching max OOP, it still would have been cheaper to go on the open market. A lesson we will not repeat next year.

Taking on too much work

I will admit that I frequently worry that I will not have enough billable hours. In the beginning of the freelancing journey, you worry that you will not make enough money, so you take on a ton of work to make sure you do. Later in the journey, you will have a contract come to and end (sometimes prematurely) or a client throttle back your hours.

My anxiety sometimes gets the better of me. In an effort to make sure that I never dip below what I made in my corporate work, I have a tendency to overcompensate and take on too many clients or too many hours. I am very fortunate to be in the situation where I can do so. Some have suggested taht I bring on additional employees into my company so I can accommodate this work load. However, this is a double-edged sword. The moment you take on additional employees you are responsible for getting them work. If I am constantly nervous one month to the next about whether I will meet my income requirements, adding additional employees to that mix is only going to make that feeling worse.

One final note on that anxiety has to do with your financial planning. In my original article I talked a fair bit about this. However, I would like to add that you can help alleviate some of that anxiety by having a good amount of savings before going into freelancing. That way, should work be light for a particular month you know that you are not going to be immediately in trouble. One bit of advice I was given was to be able to support yourself without any paying work at all for 6 months. This might sound rather extreme, but having set aside money for when the work is light is very, very important.

On the complexities of working with larger organizations

It is great to be able to work with client organizations of all sizes. As I have previous stated, I really enjoy working with smaller startups. However, like I said before, diversity of clients is also important. Thus, it is a good idea to have some larger companies that you are supporting.

This is not without its complexities though. The larger the organization, the larger the bureaucracy. What this means for the freelancer is that it takes much more time and is much harder to get them under contract. They frequently have requirements for things like proof of liability insurance (see above), registration as an entity in complicated systems, and even drug and background tests. Sometimes they expect that you will pay for those things out of pocket before they can work with you.

It is important to keep all of this in mind should you wish to work with them. Not only will your time assembling these things not be compensated (and, in fact, will cost you money since it is taking time away from other paying clients), but you might also have to spend money in the form of fees for drug and background tests, signing up for liability insurance, etc. It is up to you to decide if it is worth it. Again, I refer you to the points about diversity of clients.

Photo by Duy Pham on Unsplash

The importance of a support network when you go out on your own cannot be overstated. When you work in a corporate setting, you can always meet up (in person or virtually) with a coworker for a gripe session, to bounce ideas off of, or just for general socialization. As a freelancer, you do not have that as easily and it can get lonely.

I have been able to make my freelancing work so far due to the support of a group of people. First and foremost, without the support of my husband this would not have been possible. In fact, I think going solo without the support of your significant other if you have one is a supremely bad idea. There is nothing certain or guaranteed about freelancing and that can be challenging on a family.

Similarly, it is important to have people to bounce ideas off of who are not your clients. There are many groups of solopreneurs available online, such as The Corporate Escapees I referred to before, who are like-situated individuals. Many are not data scientists themselves, but they possess a wealth of information on the business side of things. I strongly recommend finding a group that you resonate with.

Photo by Nick Fewings on Unsplash

I am very fortunate that 9 months in things are going strong! In my original post I talked about feeling much more secure not being in the corporate world. That is even more true today. With all of the layoffs in the tech world, I hear from friends and former colleagues all the time about how hard of a time they are having at finding a new job. This is really, really sad and I truly feel for them.

I also stated in the original article that my definition of success is whether I can sustain this model long term. I have experienced having my hours throttled and clients coming and going, but each time it seems that things have worked out since I have other work that comes up to take its place. So that seems very positive to me.

My next steps, which I hope to report back on 6 months from now, involve creating diversity of income streams. Working on an hourly basis as a freelancer is nice, but now I am looking to create other types of work, whether through retainers or creation of sellable products, that will generate revenue beyond simply billing hours. Stay tuned!





Source link

30Sep

GenAI with Python: Build Agents from Scratch (Complete Tutorial) | by Mauro Di Pietro | Sep, 2024


with Ollama, LangChain, LangGraph (No GPU, No APIKEY)

Photo by Mathieu Stern on Unsplash

(All images are by the author unless otherwise noted)

Intro

Prompt Engineering is the practice of designing and refining prompts (text inputs) to enhance the behavior of Large Language Models (LLMs). The goal is to get the desired responses from the model by carefully crafting the instructions. The most used prompting techniques are:

  • Chain-of-Thought: involves generating a step-by-step reasoning process to reach a conclusion. The model is pushed to “think out loud” by explicitly laying out the logical steps that lead to the final answer.
  • ReAct (Reason+Act): combines reasoning with action. The model not only thinks through a problem but also takes actions based on its reasoning. So it’s more interactive as the model alternates between reasoning steps and actions, refining its approach iteratively. Basically, it’s a loop of “thought”, “action”, “observation”.

Let’s make an example: imagine asking an AI to “find the best laptop under $1000”.

Normal Answer: “Lenovo Thinkpad”.

– Chain-of-Thought Answer: “I need to consider factors like performance, battery life, and…



Source link

29Sep

Exploring the Link Between Sleep Disorders and Health Indicators | by Mary Ara | Sep, 2024


A Python analysis of a MIMIC-IV health data (DREAMT) to uncover insights into factors affecting sleep disorders.

Photo by Benjamin Voros on Unsplash

In this article, I will be analysing participants’ information from the DREAMT dataset in order to uncover relationships between sleep disorders like sleep apnea, snoring, difficulty breathing, headaches, Restless Legs Syndrome (RLS), snorting and participant characteristics like age, gender, Body Mass Index (BMI), Arousal Index, Mean Oxygen Saturation (Mean_SaO2), medical history, Obstructive apnea-hypopnea index (OAHI) and Apnea-Hypopnea Index (AHI).

The participants here are those who took part in the DREAMT study.

The outcome will be a comprehensive data analytics report with visualizations, insights, and conclusion.

I will be employing a Jupyter notebook with Python libraries like Pandas, Numpy, Matplotlib and Seaborn.

The data being used for this analysis comes from DREAMT: Dataset for Real-time sleep stage EstimAtion using Multisensor wearable Technology 1.0.1. DREAMT is part of the MIMIC-IV datasets hosted by PhysioNet.



Source link

28Sep

Model Deployment with FastAPI, Azure, and Docker | by Sabrine Bendimerad | Sep, 2024


A Complete Guide to Serving a Machine Learning Model with FastAPI

pixabay.com

Welcome to this third article in my MLOps series. In the first article, we explored Docker and how it simplifies application packaging. In the second article, we managed machine learning models using MLflow, Azure, and Docker. Now, in this third part, we’ll bring everything together by building a FastAPI application that serves our previously stored model on Azure. This allows us to create a prediction service that can be accessed globally!

An API is like a bridge. Whenever you interact with a library in Python, you’re using its API. It’s the public part of an application that you can interact with, while everything behind it is hidden.

APIs are commonly used to communicate with web applications, and they provide a set of URLs that return data (You send a request with some parameters and get a response back). Most often, the data comes back in formats like JSON or XML, which are easy to parse. This is different from websites that return HTML, which includes info for rendering pages. With APIs, you get just the raw data.

Some APIs are public, while others are private. When building an API, you decide what data to share, how to…



Source link

27Sep

The Role of Small Models in the LLM Era | by Cobus Greyling | Sep, 2024


LLMs are highly versatile, able to handle a wide range of tasks with only a few training examples.

In contrast, smaller models tend to be more specialised and studies show that fine-tuning them on domain-specific datasets can sometimes lead to better performance than general LLMs on specific tasks.

LLMs demand significant computational resources for both training and inference, resulting in high costs and latency, which makes them less suitable for real-time applications, such as information retrieval, or in resource-limited environments like edge devices.

In contrast, smaller models require less training data and computational power, providing competitive performance while greatly reducing resource requirements.

Smaller, simpler models are generally more transparent and easier to interpret compared to larger, more complex models.

In areas like healthcare, finance and law, smaller models are often preferred because their decisions need to be easily understood by non-experts, such as doctors or financial analysts.

Below is an insightful graphic illustrating the collaboration between Small and Large Language Models.

It highlights how Small Models frequently support or enhance the capabilities of Large Models, demonstrating their crucial role in boosting efficiency, scalability and performance.

The examples make it clear that Small Models play a vital part in optimising resource use while complementing larger systems.



Source link

27Sep

What 15 Data Scientists Say About Key Skills | by Egor Howell | Sep, 2024


Going over the main skills you need to be a “good” data scientist

Photo by Campaign Creators on Unsplash

What are the essential skills to be a “good” or even “great” data scientist?

Well, I asked 15 data scientists from multiple companies and industries what they think, and let’s say I was pretty surprised by some of the responses.

Hopefully, this article will give you better guidance on where to focus to progress in your data science career!

To avoid wasting your time, here are the top 10 skills described by the 15 data scientists summarised in a plot.

Plot generated by author using Python and ChatGPT.

What I find pretty interesting is the combination of technical skills like maths and coding and softer skills like communication and curiosity.

Personally, this makes sense. The true heart of a data scientist is to find trends and information in the data, and you need technical knowledge and tools to do this. Then, you need to convey that information easily to senior management and stakeholders so they can make informed decisions for the business.



Source link

26Sep

Small Language Model (SLM) Efficiency, Performance & Potential | by Cobus Greyling | Sep, 2024


Focusing on transformer-based, decoder-only language models with 100 million to 5 billion parameters, researchers surveyed 59 cutting-edge open-source models, examining innovations in architecture, training datasets & algorithms.

They also evaluated model abilities in areas like common-sense reasoning, in-context learning, math & coding.

To assess model performance on devices, researchers benchmarked latency and memory usage during inference.

The term “small” is inherently subjective and relative & its meaning may evolve over time as device memory continues to expand, allowing for larger “small language models” in the future.

The study established 5 billion parameters as the upper limit for small language models (SLMs). As of September 2024, 7 billion parameter large language models (LLMs) are predominantly deployed in the cloud.

Small Language Models (SLMs) are designed for resource-efficient deployment on devices like desktops, smartphones, and wearables.

The goal is to make advanced machine intelligence accessible and affordable for everyone, much like the universal nature of human cognition.

Small Language Models (SLMs) are already widely integrated into commercial devices. For example, the latest Google and Samsung smartphones feature built-in Large Language Model (LLM) services, like Gemini Nano, which allow third-party apps to access LLM capabilities through prompts and modular integrations.



Source link

24Sep

Run and Serve Faster VLMs Like Pixtral and Phi-3.5 Vision with vLLM


Understanding how much memory you need to serve a VLM

An image encoded by Pixtral — Image by the author

vLLM is currently one of the fastest inference engines for large language models (LLMs). It supports a wide range of model architectures and quantization methods.

vLLM also supports vision-language models (VLMs) with multimodal inputs containing both images and text prompts. For instance, vLLM can now serve models like Phi-3.5 Vision and Pixtral, which excel at tasks such as image captioning, optical character recognition (OCR), and visual question answering (VQA).

In this article, I will show you how to use VLMs with vLLM, focusing on key parameters that impact memory consumption. We will see why VLMs consume much more memory than standard LLMs. We’ll use Phi-3.5 Vision and Pixtral as case studies for a multimodal application that processes prompts containing text and images.

The code for running Phi-3.5 Vision and Pixtral with vLLM is provided in this notebook:

Get the notebook (#105)

In transformer models, generating text token by token is slow because each prediction depends on all previous tokens…



Source link

23Sep

AgentLite Is A Lightweight Framework for Building AI Agents | by Cobus Greyling | Sep, 2024


The study also states that LangChain is a popular library for developing applications with large language models (LLMs), offering built-in tools to create various agent types.

But says it tends to be overly complex for researchers who want to design new types of agent reasoning and architectures. Modifying LangChain for specific research needs can be difficult due to the high overhead in agent creation.

While Autogen has succeeded in building LLM agents, its agent interfaces have fixed reasoning types, making it hard to adapt for other research tasks. Additionally, its architecture is limited to multi-agent conversation and code execution, which may not fit all new scenarios or benchmarks.

Below is a recorded demonstration of the AgentLite User Interface…

Source

In AgentLite, the Individual Agent serves as the foundational agent class, built on four core modules:

  1. PromptGen,
  2. Actions,
  3. LLM, and
  4. Memory

PromptGen

PromptGen is responsible for constructing the prompts that the agent sends to the LLM to generate actions.

These prompts are made up of several components, such as the agent’s role description, instructions, constraints, actions, and relevant examples.

AgentLite includes default methods to combine these elements but also provides flexibility for developers to create custom prompts for specific tasks.



Source link

22Sep

Hands-On Numerical Derivative with Python, from Zero to Hero | by Piero Paialunga | Sep, 2024


Here’s everything you need to know (beyond the standard definition) to master the numerical derivative world

Photo by Roman Mager on Unsplash

There is a legendary statement that you can find in at least one lab at every university and it goes like this:

Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In this lab, we combine theory and practice: nothing works and nobody knows why

I find this sentence so relatable in the data science world. I say this because data science starts as a mathematical problem (theory): you need to minimize a loss function. Nonetheless, when you get to real life (experiment/lab) things start to get very messy and your perfect theoretical world assumptions might not work anymore (they never do), and you don’t know why.

For example, take the concept of derivative. Everybody who deals with complex concepts of data science knows (or, even better, MUST know) what a derivative is. But then how do you apply the elegant and theoretical concept of derivative in real life, on a noisy signal, where you don’t have the analytic…



Source link

Protected by Security by CleanTalk