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 交互的优秀社区成员——完整的列表在此——如果您构建了或正在使用某个库,请随时提交拉取请求以添加它。

特别感谢 Saul,`ollama-js` 的原始作者,以及所有为使 Ollama 更易于从不同的编程语言访问而努力工作的社区成员。