Ollama Python and JavaScript Libraries Release

Ollama has released official Python and JavaScript libraries, allowing developers to integrate LLM capabilities into their applications with a few lines of code. These libraries provide a programmatic interface that mirrors the features and functionality of the Ollama REST API.

Official Library Support for Python and JavaScript

Ollama now provides dedicated libraries for Python and JavaScript, available via GitHub. These libraries are designed to make the integration process seamless for developers using these languages.

Core Capabilities and Implementation

Both the Python and JavaScript libraries support the full set of Ollama features, including chat, text completion, and multi-modal inputs.

Chat and Basic Integration

Developers can implement a basic chat interface using the ollama.chat method. In Python, this is achieved via pip install ollama and calling the chat function with a specified model (such as llama2) and a message array.

In JavaScript, the installation is installation via npm install ollama and the use of await ollama.chat with a model and message configuration.

Advanced Use Cases

The libraries support several advanced LLM workflows:

  • Streaming: The Python library allows for real-time response generation using stream=True, enabling the output to be printed as chunks.
  • Multi-modal Inputs: Using models like llava, developers can pass image data (read as binary) within the message array to perform image analysis.
  • Text Completion: The ollama.generate method enables prompt-based text completion, which is useful for tasks such as code generation using models like stable-code.
  • Custom Model Creation: Developers can programmatically create new models using ollama.create, by defining a modelfile (e.g., specifying a base model like llama2 and a system prompt).
  • Custom Clients: The Client class allows developers to specify a custom host for the Ollama server, enabling remote connections via host='my.ollama.host'.

Ecosystem and Community Contributions

Ollama has moved its main repository and these new libraries to a new GitHub organization: ollama.

While official support is now available for Python and JavaScript, the community has developed libraries for other languages including Dart, Swift, C#, Java, PHP, and Rust. Ollama encourages community members to contribute to these libraries or submit pull requests to add new ones.

Sources

Related

  • Project
  • Dispatch
  • Dispatch
  • Dispatch
  • Project