能力标签
🛠
AI工具

Prisma PHP LLM多媒体集成包

基于 PHP · 开源免费,本地部署,数据完全自主可控
英文名:prisma
⭐ 166 Stars 💻 PHP 📄 LGPL-2.1 🏷 AI 6.8分
6.8AI 综合评分
PHPLLM多媒体API轻量级
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,Prisma PHP LLM多媒体集成包 获评「推荐使用」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 6.8 分,适合有一定技术背景的用户使用。

📚 深度解析
Prisma PHP LLM多媒体集成包 是一款基于 PHP 的开源工具,在 GitHub 上收获 0k+ Star,是PHP、LLM、多媒体、API领域中的优质开源项目。开源工具的最大优势在于代码完全透明,你可以审计每一行代码的安全性,也可以根据自身需求进行二次开发和定制。

**为什么要使用开源工具而非商业 SaaS?**
对于个人开发者和有隐私需求的用户,本地部署的开源工具意味着数据不离本机,不受第三方服务商的数据政策约束。同时,开源工具通常没有使用次数限制和月度费用,一次安装即可长期使用,对于高频使用场景的总拥有成本(TCO)远低于订阅制商业工具。

**安装与环境准备**
Prisma PHP LLM多媒体集成包 依赖 PHP 运行环境。建议通过 pyenv(Python)或 nvm(Node.js)管理 PHP 版本,避免全局环境污染。对于新手用户,推荐先创建虚拟环境(python -m venv venv && source venv/bin/activate),再安装依赖,这样即使出现问题也可以随时删除虚拟环境重新开始,不影响系统稳定性。

**社区与维护**
GitHub Issue 和 Discussion 是获取帮助的最快渠道。在提问前建议先检查 Closed Issues(已关闭的问题),大多数常见问题都已有解答。遇到 Bug 时,提供 pip list 的输出、完整错误堆栈和最小可复现示例,能显著提高开发者响应速度。AI Skill Hub 将持续追踪 Prisma PHP LLM多媒体集成包 的版本更新,及时通知重要功能变化。
📋 工具概览

轻量级PHP包,专为集成多媒体相关的大型语言模型而设计。提供简洁的API接口,支持图片、音视频等多媒体内容处理,适合PHP开发者快速构建AI应用和LLM集成方案。

Prisma PHP LLM多媒体集成包 是一款基于 PHP 开发的开源工具,专注于 PHP、LLM、多媒体 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

GitHub Stars
⭐ 166
开发语言
PHP
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
LGPL-2.1
AI 综合评分
6.8 分
工具类型
AI工具
Forks
📖 中文文档
以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

轻量级PHP包,专为集成多媒体相关的大型语言模型而设计。提供简洁的API接口,支持图片、音视频等多媒体内容处理,适合PHP开发者快速构建AI应用和LLM集成方案。

Prisma PHP LLM多媒体集成包 是一款基于 PHP 开发的开源工具,专注于 PHP、LLM、多媒体 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

📌 核心特色
  • 开源免费,支持本地部署,数据完全自主可控
  • 活跃的 GitHub 开源社区,持续迭代更新
  • 提供详细文档和使用示例,新手友好
  • 支持自定义配置,灵活适配不同使用环境
  • 可作为基础组件集成进现有技术栈或进行二次开发
🎯 主要使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 克隆仓库
git clone https://github.com/aimeos/prisma
cd prisma

# 查看安装说明
cat README.md

# 按 README 完成环境依赖安装后即可使用
📋 安装步骤说明
  1. 访问 GitHub 仓库页面
  2. 按照 README 文档完成依赖安装
  3. 根据系统环境完成初始化配置
  4. 参考官方示例或文档开始使用
  5. 遇到问题可在 GitHub Issues 中查找解答
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 查看帮助
prisma --help

# 基本运行
prisma [options] <input>

# 详细使用说明请查阅文档
# https://github.com/aimeos/prisma
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# prisma 配置说明
# 查看配置选项
prisma --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export PRISMA_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 56/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

PHP Prisma

Light-weight PHP package for integrating multi-media and text related Large Language Models (LLMs) into your applications using a unified interface.

<nav> <div class="method-header"><a href="#supported-providers">Supported providers</a></div> <ul class="method-list"> <li><a href="#audio">Audio</a></li> <li><a href="#image">Image</a></li> <li><a href="#text">Text</a></li> <li><a href="#video">Video</a></li> </ul> <div class="method-header"><a href="#api-usage">API usage</a></div> <ul class="method-list"> <li><a href="#ensure">ensure</a><span>: Ensures that the provider has implemented the method</span></li> <li><a href="#has">has</a><span>: Tests if the provider has implemented the method</span></li> <li><a href="#model">model</a><span>: Use the model passed by its name</span></li> <li><a href="#withClientOptions">withClientOptions</a><span>: Add options for the Guzzle HTTP client</span></li> <li><a href="#withClientRetry">withClientRetry</a><span>: Configure automatic retry for failed HTTP requests</span></li> <li><a href="#withSystemPrompt">withSystemPrompt</a><span>: Add a system prompt for the LLM</span></li> <li><a href="#withMaxTokens">withMaxTokens</a><span>: Set the maximum number of output tokens</span></li> <li><a href="#withThinkingBudget">withThinkingBudget</a><span>: Set the thinking/reasoning budget in tokens</span></li> <li><a href="#response-objects">Response objects</a><span>: How data is returned by the API</span></li> <li><a href="#citations">Citations</a><span>: Source references from provider responses</span></li> <li><a href="#finish-reason">Finish reason</a><span>: Why generation stopped</span></li> <li><a href="#tool-steps">Tool steps</a><span>: Inspect tool call history</span></li> <li><a href="#rate-limit">Rate limit</a><span>: Rate limit information from providers</span></li> </ul> <div class="method-header"><a href="#schemas">Schemas</a></div> <ul class="method-list"> <li><a href="#building-schemas">Building schemas</a><span>: Define tool parameters using the fluent Schema builder</span></li> <li><a href="#from-arrays">From arrays</a><span>: Create schemas from JSON Schema arrays</span></li> <li><a href="#type-reference">Type reference</a><span>: Available types and their methods</span></li> </ul> <div class="method-header"><a href="#tools">Tools</a></div> <ul class="method-list"> <li><a href="#creating-tools">Creating tools</a><span>: Create tools using the Tools facade</span></li> <li><a href="#provider-tools">Provider tools</a><span>: Built-in tools executed server-side</span></li> <li><a href="#tool-state">Tool state</a><span>: Check a tool's remaining call budget</span></li> <li><a href="#error-handling">Error handling</a><span>: Customize how tool errors are returned</span></li> <li><a href="#concurrent-tools">Concurrent tools</a><span>: Run tools in parallel</span></li> <li><a href="#decorating-tools">Decorating tools</a><span>: Wrap tools with additional behavior</span></li> </ul> <div class="method-header"><a href="#audio-api">Audio API</a></div> <ul class="method-list"> <li><a href="#demix">demix</a><span>: Separate an audio file into its individual tracks</span></li> <li><a href="#denoise">denoise</a><span>: Remove noise from an audio file</span></li> <li><a href="#describe">describe</a><span>: Describe the content of an audio file</span></li> <li><a href="#revoice">revoice</a><span>: Exchange the voice in an audio file</span></li> <li><a href="#speak">speak</a><span>: Convert text to speech in an audio file</span></li> <li><a href="#transcribe">transcribe</a><span>: Converts speech of an audio file to text</span></li> </ul> <div class="method-header"><a href="#image-api">Image API</a></div> <ul class="method-list"> <li><a href="#background">background</a><span>: Replace background according to the prompt</span></li> <li><a href="#describe">describe</a><span>: Describe the content of an image</span></li> <li><a href="#detext">detext</a><span>: Remove all text from the image</span></li> <li><a href="#erase">erase</a><span>: Erase parts of the image</span></li> <li><a href="#imagine">imagine</a><span>: Generate an image from the prompt</span></li> <li><a href="#inpaint">inpaint</a><span>: Edit an image area according to a prompt</span></li> <li><a href="#isolate">isolate</a><span>: Remove the image background</span></li> <li><a href="#relocate">relocate</a><span>: Place the foreground object on a new background</span></li> <li><a href="#repaint">repaint</a><span>: Repaint an image according to the prompt</span></li> <li><a href="#uncrop">uncrop</a><span>: Extend/outpaint the image</span></li> <li><a href="#upscale">upscale</a><span>: Scale up the image</span></li> <li><a href="#vectorize">vectorize</a><span>: Creates embedding vectors from images</span></li> </ul> <div class="method-header"><a href="#text-api">Text API</a></div> <ul class="method-list"> <li><a href="#structure">structure</a><span>: Generate structured output from a prompt and schema</span></li> <li><a href="#translate">translate</a><span>: Translate texts from one language to another</span></li> <li><a href="#write">write</a><span>: Generate text from the given prompt</span></li> </ul> <div class="method-header"><a href="#video-api">Video API</a></div> <ul class="method-list"> <li><a href="#describe">describe</a><span>: Describe the content of a video</span></li> </ul> <div class="method-header"><a href="#custom-providers">Custom providers</a></div> <ul class="method-list"> <li><a href="#base-skeleton">Base skeleton</a><span>: Basic structure for a custom provider</span></li> <li><a href="#requests">Requests</a><span>: Support methods for building HTTP requests</span></li> <li><a href="#responses">Responses</a><span>: Available response types and their usage</span></li> <li><a href="#examples">Examples</a><span>: Full provider implementation examples</span></li> </ul> </nav>

Installation

composer req aimeos/prisma

Building schemas

Use the fluent Schema builder to define tool parameters:

use Aimeos\Prisma\Schema\Schema;

$schema = Schema::for( 'search', [
    'query' => Schema::string()->description( 'Search query' )->required(),
    'limit' => Schema::integer()->description( 'Max results' )->min( 1 )->max( 100 ),
] );

Schema::for() creates a named schema with an object type. The first argument is the schema name, the second is an associative array of property names to types.

Nested objects:

$schema = Schema::for( 'create_event', [
    'title' => Schema::string()->required(),
    'location' => Schema::object( [
        'city' => Schema::string()->required(),
        'country' => Schema::string(),
    ] )->required(),
] );

Arrays:

$schema = Schema::for( 'tag', [
    'tags' => Schema::array()->items( Schema::string() )->min( 1 )->max( 10 )->required(),
    'scores' => Schema::array()->items( Schema::number() ),
] );

Enums:

$schema = Schema::for( 'sort', [
    'order' => Schema::string()->enum( ['asc', 'desc'] )->required(),
] );

// Or from a BackedEnum:
$schema = Schema::for( 'sort', [
    'order' => Schema::string()->enum( SortOrder::class )->required(),
] );

Strict mode and no additional properties (for providers that support it, e.g. OpenAI):

$schema = Schema::for( 'search', [
    'query' => Schema::string()->required(),
] )->strict()->withoutAdditionalProperties();

API usage

Basic usage:

use Aimeos\Prisma\Prisma;

$image = Prisma::image()
    ->using( '<provider>', ['api_key' => 'xxx'])
    ->model( '<modelname>' ) // if model can be selected
    ->ensure( 'imagine' ) // make sure interface is implemented
    ->imagine( 'a grumpy cat' )
    ->binary();

$texts = Prisma::text()
    ->using( 'deepl', ['api_key' => 'xxx'])
    ->ensure( 'translate' )
    ->translate( ['Hello'], 'de' )
    ->texts();

withClientOptions

Add options for the Guzzle HTTP client.

public function withClientOptions( array `$options` ) : self
  • @param array&#60;string, mixed&#62; $options Associative list of name/value pairs
  • @return self Provider interface

Example:

\Aimeos\Prisma\Prisma::image()
    ->using( '<provider>', ['api_key' => 'xxx'])
    ->withClientOptions( ['timeout' => 120] );

Type reference

All types support these common methods: description(), required(), nullable(), title(), enum().

Factory methodTypeAdditional methods
Schema::string()Stringmin(), max(), pattern(), format(), default()
Schema::integer()Integermin(), max(), multipleOf(), default()
Schema::number()Number (float)min(), max(), multipleOf(), default()
Schema::boolean()Booleandefault()
Schema::array()Arrayitems(), min(), max(), unique(), default()
Schema::object()ObjectwithoutAdditionalProperties(), default()

Audio API

Image API

Most methods require an image object as input which contains a reference to the image that should be processed. This object can be created by:

use \Aimeos\Prisma\Files\Image;

$image = Image::fromUrl( 'https://example.com/image.php', 'image/png' );
$image = Image::fromLocalPath( 'path/to/image.png', 'image/png' );
$image = Image::fromBinary( 'PNG...', 'image/png' );
$image = Image::fromBase64( 'UE5H...', 'image/png' );

// Laravel only:
$image = Image::fromStoragePath( 'path/to/image.png', 'public', 'image/png' );

The last parameter of all methods (mime type) is optional. If it's not passed, the file content will be retrieved to determine the mime type if reqested.

Note: It's best to use fromUrl() if possible because all other formats (binary and base64) can be derived from the URL content but URLs can't be created from binary/base64 data.

Text API

Video API

🎯 aiskill88 AI 点评 B 级 2026-05-23

轻量级设计适合PHP生态,��注多媒体LLM集成具有差异化优势。但用户基数小,文档完整度待评。

⚡ 核心功能
👥 适合人群
AI 技术爱好者研究人员和学生开发者和工程师技术创业者
🎯 使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
⚖️ 优点与不足
✅ 优点
  • +完全开源免费,无授权费用
  • +本地部署,数据完全自主可控
  • +开发者社区支持,遇问题可查可问
⚠️ 不足
  • 安装和初始配置可能需要一定技术基础
  • 功能完整性通常不如成熟商业产品
  • 技术支持主要依赖开源社区,响应速度不稳定
⚠️ 使用须知

该工具使用 LGPL-2.1 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

⚠️ LGPL 2.1 — 弱 Copyleft,可动态链接到商业软件,但修改库本身须开源。

🔗 相关工具推荐
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合
❓ 常见问题 FAQ
文档未详细说明,建议查看官方仓库文档了解支持的具体格式
💡 AI Skill Hub 点评

AI Skill Hub 点评:Prisma PHP LLM多媒体集成包 的核心功能完整,质量良好。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

📚 深入学习 Prisma PHP LLM多媒体集成包
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 prisma
原始描述 开源AI工具:Light-weight PHP package for integrating multi-media related Large Language Mode。⭐166 · PHP
Topics PHPLLM多媒体API轻量级
GitHub https://github.com/aimeos/prisma
License LGPL-2.1
语言 PHP
🔗 原始来源
🐙 GitHub 仓库  https://github.com/aimeos/prisma 🌐 官方网站  https://php-prisma.org

收录时间:2026-05-21 · 更新时间:2026-05-23 · License:LGPL-2.1 · AI Skill Hub 不对第三方内容的准确性作法律背书。