定制 talleu/cohere-php-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

talleu/cohere-php-client

最新稳定版本:v1.0

Composer 安装命令:

composer require talleu/cohere-php-client

包简介

PHP client to interact with Cohere API

README 文档

README

PHPStan Packagist Version GitHub

Cohere PHP Client

A PHP client to interact with the Cohere® API, designed to be framework-agnostic, simple to use, and fully compatible with PSR-18.

This package provides an easy and structured way to use Cohere's powerful language models — for embeddings, chat, classification, tokenization, and more — in any PHP project.

Features 🛠️

  • ✅ Support for Cohere API v1/v2 endpoints (chat, embed, classify, tokenize, etc.)
  • ✅ Compatible with any PSR-18 HTTP Client
  • ✅ File upload and multipart support
  • ✅ Developer-friendly DTOs and response builders
  • ✅ Easily extendable with your own endpoints

Requirements ⚙️

Installation 📝

Install the library via Composer:

composer require talleu/cohere-php-client

Then install your preferred HTTP client

Using Symfony HttpClient:

composer require symfony/http-client

Using Guzzle:

composer require guzzlehttp/guzzle

Or another client implementing PSR18

Basic Usage 🎯

Minimal example

use Talleu\CohereClient\Cohere;

$client = Cohere::client('your-api-key'); 

// Call the embed endpoint
$embeds = $client->embed()->create([
      'Cohere is amazing!',
      'Let’s try embedding some text.'
  ]);

var_dump($embeds);

Or to simple chats with LLM

    $chat = $client->chat()->create([
        [
            'role' => 'user',
            'content' => 'how are you ?'
        ]
    ]);

Authentication 🔐

You can pass the API key directly in the http client:

Cohere::client('your-api-key');

Or use an environment variable (recommended):

#.env
COHERE_API_KEY=your-api-key

Available Endpoints 📚

The following endpoints are supported:

Endpoint Class Description
v2/embed Embed Generate embeddings from input text
v2/chat Chat Perform conversational chat with a LLM
v1/classify Classify Text classification based on custom labels
v1/tokenize Tokenize Token-level breakdown of input text
v1/detokenize Detokenize De-tokenify tokens to text
v1/connectors Connector Cohere connectors
v1/embed-jobs EmbedJob Async embed jobs
v2/rerank Rerank Retrieve Cohere available models
v1/models Model Produces an ordered array with text
v1/datasets Dataset Create a dataset by uploading a file, retrieve datasets
v1/finetuning FineTuning Trains, deploy, list datasets

You can access them via:

$client->embed();
$client->chat();
$client->tokenize();
$client->detokenize();
$client->classify();
$client->rerank();
$client->dataset();
$client->fineTuning();
$client->model();
$client->embedJob();
$client->connector();
// etc.

Then you can use it simple :

$connector = $client->connector()->create($name, $url, ['model' => 'command-a-03-2025']);
$connector = $client->connector()->get($id);
$connector = $client->connector()->list();

Each endpoint returns a strongly typed DTO with the result of the API call.

To send a request without using provided resources, you can use directly the CohereClient sendRequesst() method

$chat = Cohere::client()->sendRequest('GET', '/v2/chat', $body);

📚 Documentation by endpoints

Documentation 📚

Contributing 🤝

PRs are welcome! If you’d like to add support for more endpoints, improve tests or add features, feel free to open an issue or submit a PR.

统计信息

  • 总下载量: 15
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-27