Python 和 JavaScript 库

2024 年 1 月 23 日

Python & JavaScript Libraries

Ollama Python 和 JavaScript 库的初始版本现已推出

这两个库可以让您在几行代码内将新旧应用程序与 Ollama 集成,并共享 Ollama REST API 的功能和体验。

入门

Python

pip install ollama
import ollama
response = ollama.chat(model='llama2', messages=[
  {
    'role': 'user',
    'content': 'Why is the sky blue?',
  },
])
print(response['message']['content'])

JavaScript

npm install ollama
import ollama from 'ollama'

const response = await ollama.chat({
  model: 'llama2',
  messages: [{ role: 'user', content: 'Why is the sky blue?' }],
})
console.log(response.message.content)

用例

这两个库都支持 Ollama 的全部功能。以下是一些 Python 示例

流式

for chunk in chat('mistral', messages=messages, stream=True):
  print(chunk['message']['content'], end='', flush=True)

多模态

with open('image.png', 'rb') as file:
  response = ollama.chat(
    model='llava',
    messages=[
      {
        'role': 'user',
        'content': 'What is strange about this image?',
        'images': [file.read()],
      },
    ],
  )
print(response['message']['content'])

文本完成

result = ollama.generate(
  model='stable-code',
  prompt='// A c function to reverse a string\n',
)
print(result['response'])

创建自定义模型

modelfile='''
FROM llama2
SYSTEM You are mario from super mario bros.
'''

ollama.create(model='example', modelfile=modelfile)

自定义客户端

ollama = Client(host='my.ollama.host')

更多示例可在 PythonJavaScript 库的 GitHub 存储库中找到。

新的 GitHub 句柄

GitHub handle

这些库和主要的 Ollama 存储库现在位于一个新的 GitHub 组织中:ollama!感谢所有维护通过 Dart、Swift、C#、Java、PHP、Rust 等与 Ollama 交互的库的社区成员 - 全部列表可在 此处 找到 - 请随时提交拉取请求以添加您构建或喜欢的库。

特别感谢 Saulollama-js 的最初作者,以及所有为使 Ollama 能够从不同的编程语言中更方便地访问而努力的社区成员。