There is a lot to get excited about in Ollama

Matt Williams
29 Jan 202406:07

TLDROllama 0.1.22 introduces significant updates following the release of 0.1.21, focusing on refining features and enhancing user experience. The new version supports various models and announces official libraries for Typescript, JavaScript, and Python, simplifying app development. It also improves CPU and GPU compatibility, addresses connectivity issues, and introduces settings such as the messages directive in Modelfile for better context provision. Additionally, the /save and /load commands offer ease of model management, and the /show parameters command now accurately displays settings. These enhancements aim to provide a more robust and user-friendly experience for the Ollama community.

Takeaways

  • 🚀 Ollama 0.1.22 has been released, quickly following 0.1.21, with two updates in a week.
  • 🌟 Most significant new features were introduced in version 0.1.21, while 0.1.22 focuses on refinements and improvements.
  • 🆕 The new version includes several new models such as Qwen, DuckDB NoSql, Stable Code, Nous Hermes 2 Mixtral, and Stable LM2.
  • 📚 Announcement of new official libraries in TypeScript, JavaScript, and Python to facilitate app development with Ollama.
  • 💻 Ollama now supports older CPUs without AVX instructions and newer CPUs that only support AVX2.
  • 🖥️ Improvements have been made for GPU recognition and fallback mechanisms, including better support for Nvidia GPUs in WSL.
  • 🔄 Enhancements to handle connection issues for users in regions with unstable internet, making Ollama more resilient and user-friendly.
  • 📝 Introduction of the 'messages' directive in the Modelfile for providing examples and context within the model itself.
  • 🛠️ The addition of the '/save' and '/load' commands for easy serialization and loading of model configurations.
  • 🔄 The use of '/load' to switch between models or clear the context for a fresh conversation.
  • 🔧 The '/show parameters' command now accurately displays the current settings, including the correct temperature values.

Q & A

  • What are the two recent versions of Ollama mentioned in the transcript?

    -The two recent versions of Ollama mentioned are 0.1.21 and 0.1.22.

  • What was the primary focus of version 0.1.21?

    -Version 0.1.21 primarily focused on introducing new features.

  • What was the main improvement in version 0.1.22?

    -Version 0.1.22 mainly focused on cleaning up and refining the features introduced in the previous version.

  • What are some of the new models introduced in the script?

    -The new models introduced include Qwen, DuckDB NoSql, Stable Code, Nous Hermes 2 Mixtral, and Stable LM2.

  • What is the significance of the new official Typescript and JavaScript library, and the new official Python library?

    -These libraries make it easier for developers to build high-quality applications using Ollama.

  • Why was AVX instruction support a requirement for Ollama initially?

    -AVX instruction support was a requirement because it is related to double precision floating-point arithmetic and has been available on almost every CPU for over a decade, beneficial for applications that perform a lot of vector calculations like Ollama.

  • How has Ollama improved its compatibility with older and newer CPUs?

    -Ollama now supports CPUs without AVX2 and older CPUs that are 15 years old, preventing the software from crashing on such machines.

  • What enhancements have been made for GPU support in Ollama?

    -Ollama now has better support for Nvidia GPUs, especially in WSL, and it will fallback to using only the CPU if the GPU isn't recognized.

  • How has Ollama addressed issues with poor internet connections?

    -Ollama now provides more resilient error messages when the internet connection drops during a pull or push, making the errors more understandable.

  • What is the purpose of the /save and /load commands in Ollama?

    -The /save command allows users to save their current settings to a new model, and the /load command lets users switch to a different model or clear the context of the previous conversation.

  • What is the new feature in the modelfile that allows for providing examples?

    -The new feature is the 'messages' directive, which lets users provide examples of questions and answers directly in the modelfile under specific roles like user and assistant.

  • How does the updated /show parameters command help users?

    -The updated /show parameters command now displays the correct values of the parameters, providing users with accurate information about their current settings.

Outlines

00:00

🚀 Ollama 0.1.22 Release Highlights

The Ollama 0.1.22 update, following closely on the heels of version 0.1.21, introduces several enhancements and bug fixes. The new features were primarily in the earlier release, but this version refines the software further. Notable additions include new models such as Qwen, DuckDB NoSql, Stable Code, Nous Hermes 2 Mixtral, and Stable LM2. Additionally, the introduction of official Typescript and JavaScript libraries, alongside a new official Python library, aims to simplify the app development process with Ollama. The update addresses compatibility issues with CPUs that do not support AVX instructions and older machines with 15-year-old CPUs. It also improves support for Nvidia GPUs in Windows Subsystem for Linux (WSL) and resolves issues with GPUs not being recognized, which previously caused the software to crash. Furthermore, the update tackles instances where the GPU was not supported by CUDA and provides better resilience for users in regions with unstable internet connections. The introduction of the 'messages' directive in the Modelfile allows users to include example prompts directly in the modelfile, enhancing the clarity of desired outputs. The update also introduces the '/save' and '/load' commands in the Ollama REPL, enabling users to serialize their configurations and load models with ease. These features are particularly beneficial for users looking to switch between models or clear the context of previous conversations.

05:04

🎉 Improvements and User Engagement in Ollama 0.1.22

The Ollama 0.1.22 version brings a significant improvement in the accuracy of the '/show parameters' command, which now correctly displays the values of parameters such as 'temp'. This update ensures that users have a clear understanding of the settings they have applied. The inclusion of messages in the modelfile is a feature that allows users to provide examples and context directly within the model, potentially improving the output quality and reducing the learning curve for new users. The update also encourages user engagement by inviting feedback on the new features and promoting the sharing of favorite content within the Ollama community on Discord. The update aims to cater to the diverse needs of users and enhance the overall user experience with its comprehensive set of improvements and fixes.

Mindmap

Keywords

💡Ollama

Ollama is the central subject of the video, referring to a software or application that has recently undergone updates. It is mentioned multiple times, indicating its significance. The discussion revolves around its new features, improvements, and the impact these changes will have on users. For example, the script mentions the release of versions 0.1.21 and 0.1.22, highlighting the rapid development and attention to user needs.

💡CPU

CPU, or Central Processing Unit, is a critical component of computers that performs most of the processing inside. In the context of the video, it is important because Ollama initially required CPUs with AVX instructions, which are beneficial for applications involving vector calculations. The video explains how the latest version of Ollama now supports both older and newer CPUs that may not have previously been compatible, thus expanding its user base and accessibility.

💡AVX instructions

AVX instructions refer to a set of advanced vector extensions used in computer processors to improve performance in floating-point operations. In the video, the mention of AVX instructions relates to the technical requirements of Ollama and how the software has been optimized to work with different levels of CPU support for these instructions, enhancing its compatibility and performance.

💡GPU

A GPU, or Graphics Processing Unit, is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. In the context of the video, GPU support is crucial for optimizing the performance of Ollama. The discussion includes how the software now handles situations where GPUs are not recognized and how it improves support for Nvidia GPUs in Windows Subsystem for Linux (WSL).

💡Internet connectivity

Internet connectivity refers to the quality and reliability of a device's connection to the internet. In the video, it is mentioned in the context of users in certain regions experiencing issues with slow or unstable connections. The update to Ollama aims to make the software more resilient to connection issues, ensuring that errors, if they occur, are more understandable and less disruptive to the user experience.

💡Modelfile

A Modelfile, in the context of the video, appears to be a configuration file used with Ollama to define settings and characteristics for a specific model. The video highlights a new feature where users can include messages or prompts within the Modelfile to provide examples and context for the model, enhancing its functionality and usability.

💡API

API, or Application Programming Interface, is a set of protocols and tools for building software applications. In the video, the mention of the chat endpoint being added to the API signifies an enhancement to Ollama's capabilities, making it easier for developers to integrate and use the software in their applications. This reflects the software's ongoing development and commitment to improving user experience.

💡Typescript and JavaScript library

Typescript and JavaScript are popular programming languages widely used for web development. In the video, the announcement of an official Typescript and JavaScript library for Ollama indicates a new resource for developers to build applications with the software. This library would provide pre-built code, functions, and types that can be easily integrated into projects, making the development process more efficient and accessible.

💡Python library

Python is a high-level, interpreted programming language known for its readability and ease of use. The video's reference to a new official Python library for Ollama suggests that users can now more conveniently interact with and utilize the software through Python scripts and programs. This library would contain functions and methods specifically designed for Ollama, making it simpler for Python developers to integrate the software into their projects.

💡Discord

Discord is a communication platform designed for communities, including gamers, developers, and various interest groups. In the video, Discord is mentioned as a platform where users of Ollama can gather and share their experiences, tips, and favorite content related to the software. This reflects the community aspect of software development and the importance of user feedback and collaboration.

💡Settings and commands

The terms 'settings' and 'commands' in the context of the video refer to the configurations and instructions that users can apply within the Ollama software to customize its behavior and output. The video discusses new features and improvements related to these settings and commands, such as the /save and /load commands for saving and loading model configurations, and the /show parameters command for displaying accurate settings.

Highlights

Ollama 0.1.22 has been released, following closely behind version 0.1.21.

Most of the new features were introduced in the first release, 0.1.21, while 0.1.22 focuses on refining and cleaning up the software.

The new release includes a variety of new models such as Qwen, DuckDB NoSql, Stable Code, Nous Hermes 2 Mixtral, and Stable LM2.

Announcement of new official Typescript and JavaScript libraries, as well as a new official Python library, aiming to simplify app development with Ollama.

Ollama now supports older CPUs that do not have AVX instructions, expanding its compatibility with a broader range of hardware.

Newer CPUs that support AVX2 can now take full advantage of the improvements offered by Ollama.

Ollama will now fallback to CPU-only usage if the GPU is not recognized, improving stability and user experience.

Enhanced support for Nvidia GPUs in Windows Subsystem for Linux (WSL) is now available.

A known issue where Ollama would hang after a certain number of requests has been resolved.

Ollama now provides more resilient error handling for users in regions with unstable internet connections.

The introduction of the 'messages' directive in the Modelfile allows for the inclusion of example prompts within the model itself.

The Ollama repl now allows for more configuration options through the /set commands.

A new /save command has been added, enabling users to serialize and save their configurations for future use.

The /load command allows for quick switching between models and can also be used to clear the context of previous conversations.

The /show parameters command has been updated to display the correct settings, providing more accurate feedback to users.

The release of Ollama 0.1.22 includes a range of improvements and new features that cater to a wide audience and could be particularly impactful for a subset of users.

The community is encouraged to share their thoughts on the new features, particularly the messages in the modelfile feature.