juststeveking / ollama-php
Ollama API 交互的 PHP SDK。
dev-main
2024-05-12 13:38 UTC
Requires
- php: ^8.3
- juststeveking/php-sdk: ^3.0
Requires (Dev)
- laravel/pint: ^1.15
- pestphp/pest: ^2.34
- php-http/mock-client: ^1.6
- phpstan/phpstan: ^1.10
- phpstan/phpstan-strict-rules: ^1.5
- roave/security-advisories: dev-latest
- symfony/http-client: ^7.0
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
实例。