juststeveking/ollama-php

Ollama API 交互的 PHP SDK。

资助包维护!
JustSteveKing

安装: 19

依赖: 0

建议者: 0

安全性: 0

星标: 16

关注者: 1

分支: 1

类型:package

dev-main 2024-05-12 13:38 UTC

This package is auto-updated.

Last update: 2024-09-13 12:36:47 UTC


README

Ollama PHP SDK 为将 Ollama 与您的 PHP 项目集成提供最简单的方法。

入门

composer require juststeveking/ollama-php

用法

要开始使用 Ollama SDK for PHP,首先您需要创建一个新的 SDK 实例。您可以手动进行,也可以通过 DI 容器注入 SDK 实例。

use JustSteveKing\Ollama\SDK;

$sdk = (new SDK(
    apiToken: '',
    url: 'https://api.your-api-instance.test/',
))->setup();

// Now you can interact with the Ollama SDK.

API

您可以在 SDK 上调用一些方法,这些方法可以直接与 Ollama API 交互。

  • chat:使用提供的模型生成聊天中的下一个消息。这是一个流式端点,因此会有一系列响应。可以通过设置 "stream": false 来禁用流式传输。最终的响应对象将包括请求的统计信息和附加数据。
  • create:从 Modelfile 创建模型。建议将 modelfile 设置为 Modelfile 的内容,而不是仅设置路径。这是远程创建的要求。远程模型创建还必须使用 Create Blob 和响应中指示的路径的值,明确使用服务器创建任何文件块、字段,如 FROM 和 ADAPTER。
  • generate:使用提供的模型对给定的提示生成响应。这是一个流式端点,因此会有一系列响应。最终的响应对象将包括请求的统计信息和附加数据。
  • pull:从 ollama 库下载模型。取消的提取将从上次停止的地方恢复,并且多个调用将共享相同的下载进度。
  • push:将模型上传到模型库。需要先注册 ollama.ai 并添加公钥。
  • delete:删除模型及其数据。
  • list:列出本地可用的模型。
  • embeddings:从模型生成嵌入

与提供的模型聊天

use JustSteveKing\Ollama\SDK;
use JustSteveKing\Ollama\Enums\Role;
use JustSteveKing\Ollama\Requests\Chat;

$sdk = (new SDK(
    apiToken: '',
    url: 'https://api.your-api-instance.test/',
))->setup();

$sdk->chat(Chat::make([
  'model' => 'llama3',
  'messages' => [
    [
      'role' => Role::System,
      'content' => 'This is your system prompt.'
    ],
    [
      'role' => Role::User,
      'content' => 'This is your prompt.',
    ]
  ],
]));

这将返回一个 ChatResponse 实例。

从 Modelfile 创建模型

use JustSteveKing\Ollama\SDK;
use JustSteveKing\Ollama\Requests\CreateRequest;

$sdk = (new SDK(
    apiToken: '',
    url: 'https://api.your-api-instance.test/',
))->setup();

$sdk->create(CreateRequest::make([
  'model' => 'name of the model',
  'path' => 'Optional path to the modelfile',
  'modelfile' => 'String contents of the modelfile.',
  'stream' => false // Stream the response.
]));

这将返回一个 StatusResponse 实例。

使用提供的模型为给定的提示生成响应

use JustSteveKing\Ollama\SDK;
use JustSteveKing\Ollama\Requests\Prompt;

$sdk = (new SDK(
    apiToken: '',
    url: 'https://api.your-api-instance.test/',
))->setup();

$sdk->generate(Prompt::make([
  'model' => 'llama3',
  'prompt' => 'This is your prompt',
]));

这将返回一个 GenerateResponse 实例。