deepseek-php / deepseek-php-client
deepseek PHP client is a robust and community-driven PHP client library for seamless integration with the Deepseek API, offering efficient access to advanced AI and data processing capabilities.
Package info
github.com/deepseek-php/deepseek-php-client
pkg:composer/deepseek-php/deepseek-php-client
Requires
- php: ^8.2.0
- nyholm/psr7: ^1.8
- php-http/discovery: ^1.20.0
- php-http/multipart-stream-builder: ^1.4.2
- psr/http-client: ^1.0.3
- psr/http-client-implementation: 1.0
- psr/http-factory-implementation: *
- psr/http-message: ^1.1.0|^2.0.0
- symfony/http-client: ^6.4
Requires (Dev)
- guzzlehttp/guzzle: ^7.9.2
- guzzlehttp/psr7: ^2.7.0
- laravel/pint: ^1.18.1
- mockery/mockery: ^1.6.12
- nunomaduro/collision: ^7.11.0|^8.5.0
- pestphp/pest: ^2.36
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-type-coverage: ^2.8.7
- phpstan/phpstan: ^1.12.7
- roave/security-advisories: dev-latest
- symfony/var-dumper: ^6.4.11|^7.1.5
- dev-master
- 2.1.0
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.2
- 1.0.1
- 1.0.0.0
- dev-release/v2.2.0-additive-setters
- dev-release/v2.1.0-foundation-and-bug-fixes
- dev-feat-support-response-format-option
- dev-feat-support-pass-max-tokens-option
- dev-doc-add-function-calling-docs
- dev-doc-function-calling
- dev-alek-s-andr-master
- dev-fix-symfony-client-compatibility
- dev-add-arabic-doc
- dev-support-many-http-clients
- dev-initilize-testes
- dev-enhance-client-contract
- dev-feat-list-available-models
- dev-feat-add-tests
- dev-bugfix-with-class-name
- dev-change-namespace-with-adding-change-logs
- dev-change-default-model-to-r2
- dev-bugfix-with-enum
- dev-add-emperature-enum
- dev-omaralalwi-patch-1
- dev-bugfix/temprature-type
- dev-feat/support-temperature-option
This package is auto-updated.
Last update: 2026-05-24 22:30:36 UTC
README
DeepSeek PHP Client
โก๏ธ A community-driven, open-source PHP client for DeepSeek AI, officially listed in the DeepSeek API documentation and built for expressive, production-ready AI integrations.
Table of Contents
- โจ Features
- ๐ฆ Installation
- ๐ Quick Start
- ๐ Migration Guide
- ๐ Changelog
- ๐งช Testing
- ๐ Security
- ๐ License
โจ Features
- Seamless API Integration: PHP-first interface for DeepSeek's AI capabilities.
- Fluent Builder Pattern: Chainable methods for intuitive request building.
- Enterprise Ready: PSR-18 compliant HTTP client integration.
- Latest DeepSeek V4 Models: First-class support for
deepseek-v4-proanddeepseek-v4-flashwith 1M-token context windows and thinking / non-thinking modes. - Streaming Ready: Built-in support for real-time response handling.
- Many Http Clients: easy to use
Guzzle http client(default) , orsymfony http client. - Framework Friendly: Laravel & Symfony packages available.
Supported Models
Models::V4_PROโ flagship 1.6T/49B-active model, max 384K output tokens.Models::V4_FLASHโ fast, economical 284B/13B-active model, max 384K output tokens.Legacy
Models::CHAT,Models::CODER,Models::R1, andModels::R1Zeroare deprecated and will be removed in v3.0.0. Thedeepseek-chatanddeepseek-reasoneraliases retire from the DeepSeek API on 2026-07-24.
๐ฆ Installation
Require the package via Composer:
composer require deepseek-php/deepseek-php-client
Requirements:
- PHP 8.1+
๐ Quick Start
Basic Usage
Get started with just two lines of code:
use DeepSeek\DeepSeekClient; $response = DeepSeekClient::build('your-api-key') ->query('Explain quantum computing in simple terms') ->run(); echo $response;
๐ Defaults used:
- Model: API default (no
modelfield sent unless you callwithModel()) - Temperature: 1.3 (
TemperatureValues::GENERAL_CONVERSATION) - Max tokens: 4096
- Response format:
text
Advanced Configuration
use DeepSeek\DeepSeekClient; use DeepSeek\Enums\Models; $client = DeepSeekClient::build(apiKey:'your-api-key', baseUrl:'https://api.deepseek.com', timeout:30, clientType:'guzzle'); $response = $client ->withModel(Models::V4_PRO->value) ->withStream() ->setTemperature(1.2) ->setMaxTokens(8192) ->setResponseFormat('text') // or "json_object" with careful . ->query('Explain quantum computing in simple terms') ->run(); echo 'API Response:'.$response;
โ ๏ธ DeepSeek JSON Mode Requirement
When using:
->setResponseFormat('json_object')
Your prompt must contain the word "json" in some form. Otherwise, the API will reject the request with the following error:
"Prompt must contain the word 'json' in some form to use 'response_format' of type 'json_object'"
๐ซ Incorrect Usage
->setResponseFormat('json_object') ->query('Explain quantum computing in simple terms')
โ Correct Usage
->setResponseFormat('json_object') ->query('Respond in valid JSON format. Explain quantum computing in simple terms.')
โ Tip: For best results, also provide a JSON example or explicitly say: "Respond only in valid JSON."
Use with Symfony HttpClient
the package already built with symfony Http client, if you need to use package with symfony Http Client , it is easy to achieve that, just pass clientType:'symfony' with build function.
ex with symfony:
// with defaults baseUrl and timeout $client = DeepSeekClient::build('your-api-key', clientType:'symfony') // with customization $client = DeepSeekClient::build(apiKey:'your-api-key', baseUrl:'https://api.deepseek.com', timeout:30, clientType:'symfony'); $client->query('Explain quantum computing in simple terms') ->run();
Get Models List
use DeepSeek\DeepSeekClient; $response = DeepSeekClient::build('your-api-key') ->getModelsList() ->run(); echo $response; // { // "object": "list", // "data": [ // {"id": "deepseek-v4-pro", "object": "model", "owned_by": "deepseek"}, // {"id": "deepseek-v4-flash", "object": "model", "owned_by": "deepseek"}, // {"id": "deepseek-chat", "object": "model", "owned_by": "deepseek"}, // deprecated, retires 2026-07-24 // {"id": "deepseek-reasoner", "object": "model", "owned_by": "deepseek"} // deprecated, retires 2026-07-24 // ] // }
Function Calling
Function Calling allows the model to call external tools to enhance its capabilities.[1]
You Can check the documentation for function calling in FUNCTION-CALLING.md
๐ Framework Integration
Laravel Deepseek Package
๐ง Migration Guide
Upgrading from v1.x? Check our comprehensive Migration Guide for breaking changes and upgrade instructions.
๐ Changelog
Detailed release notes available in CHANGELOG.md
๐งช Testing
./vendor/bin/pest
Test coverage coming in v2.1.
๐โจ DeepSeek PHP Community โจ๐
Click the button bellow or join here to be part of our growing community!
Channel Structure ๐๏ธ
- ๐จ๏ธ General - Daily chatter
- ๐ก Ideas & Suggestions - Shape the community's future
- ๐ข Announcements & News - Official updates & news
- ๐ Releases & Updates - Version tracking & migration support
- ๐ Issues & Bug Reports - Collective problem-solving
- ๐ค Pull Requests - Code collaboration & reviews
๐ Security
Report Vulnerabilities: to omaralwi2010@gmail.com
๐ License
This package is open-source software licensed under the MIT License.