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')

更多示例可在 GitHub 存储库中找到,分别位于 PythonJavaScript 库的示例目录。

新的 GitHub 句柄

GitHub handle

这些库以及主要的 Ollama 存储库现在都位于一个新的 GitHub 组织中:ollama!感谢所有维护库以通过 Dart、Swift、C#、Java、PHP、Rust 等与 Ollama 交互的杰出社区成员 – 完整列表请见此处 – 请随时提交拉取请求,添加您已构建或喜欢使用的库。

特别感谢 ollama-js 的原始作者 Saul,以及所有为使 Ollama 更容易从不同编程语言访问的社区库做出贡献的每个人。