samuele-martini / module-openai-gpt
OpenAI GPT 模型语言集成
Requires
- magento/framework: *
- magento/module-catalog: 104.0.*
- openai-php/client: ^0.6.2
README
以下模块将一些 OpenAI GPT 模型语言特性集成到 Magento 中
安装
composer require samuele-martini/module-openai-gpt
管理面板使用
主要功能是可以从管理面板自动生成产品和类别的描述。只需进入产品或类别的修改页面,然后点击相应的按钮。描述是通过 GPT 模型语言生成的,从产品或类别名称开始,直接翻译成所选商店视图的语言。生成的描述只是一个预览,需要修改,并且需要保存产品或类别以使其巩固。
配置
- 启用模块:启用/禁用模块提供的功能
- Open AI 组织 ID:您的 Open AI 账户 ID,在注册免费账户后可以在此链接中找到: https://beta.openai.com/account/org-settings
- Open AI Api Key:您的 Open AI 认证 API 密钥,在注册免费账户后可以在此链接中找到: https://beta.openai.com/account/api-keys
- OpenAI GPT 模型语言:GPT 应使用的自然语言模型以生成文本。列表将在填写前一个参数并保存后出现,因为列表可能因每个账户而异。要了解不同模型之间的差异并选择最合适的一个,请参阅文档: https://platform.openai.com/docs/models/overview
开发者
一些对开发者有意义的笔记
提供的 Magento 模型
模块提供了 3 个 Magento 模型
- 产品自动语言描述生成器
- 类别自动语言描述生成器
- 自动图像生成器
提供的服务
模块提供了 2 个服务
- 对于产品,使用相应的 Magento 模型,该服务提供了 3 个方法
- 基于任意文本和语言的描述生成
- 基于 SKU 和商店视图的描述生成,从这两个参数中获取产品名称和商店视图的语言,并生成翻译成该语言的连贯文本
- 基于产品 ID 和商店视图的描述生成,从这两个参数中获取产品名称和商店视图的语言,并生成翻译成该语言的连贯文本
- 对于类别,使用相应的 Magento 模型,该服务提供了 2 个方法
- 基于任意文本和语言的描述生成
- 基于类别 ID 和商店视图的描述生成,从这两个参数中获取类别名称和商店视图的语言,并生成翻译成该语言的连贯文本
尚未为图像创建服务。由于生成一致图像所需的指令复杂性和精确性,无法从简单的产品或分类名称开始生成。您可以通过提供精确的指令直接使用Magento模型。
实施和开发
Magento模型和模块提供的服务与其他功能完全透明,因此它们可用于第三方模块或通过依赖注入进行开发,用于其他用途。
例如,服务和图像模型可以在系统集成的开发中使用,在目录导入阶段自动生成产品和分类的图像和起始描述,如果ERP中的主数据没有这些内容。
另一个例子:提供的Magento模型可用于开发CMS页面或博客文章的自动生成文本,如果已安装管理它的模块。
public function __construct(
...
\SamueleMartini\GPT\Api\GenerateProductDescriptionInterface $generateProductDescription,
...
) {
...
$this->generateProductDescription = $generateProductDescription;
...
}
...
...
...
$description = $this->generateProductDescription->getProductDescription($productName, $language);
$description = $this->generateProductDescription->getProductDescriptionBySku($sku, $storeId);
$description = $this->generateProductDescription->getProductDescriptionById($productId, $storeId);
...
...
...
$product->setDescription($description);
$this->productRepository->save($product);
...
...
...
控制台命令
提供了一些控制台命令,可以从CLI执行。它们仅用于测试功能,生成的文本和图像未分配给产品和分类,也不决定它们的实际修改。
SamueleMartini_GPT模块
以下模块将OpenAI的GPT语言模型的一些功能集成到Magento中。
安装
composer require samuele-martini/module-openai-gpt
通过管理面板使用
主要功能是能够从管理面板自动生成产品和分类的描述。只需进入产品或分类的修改页面,然后点击相应的按钮。描述将通过GPT语言模型从产品或分类的名称生成,并直接翻译成所选的商店视图语言。生成的描述只是一个预览,必须进行审查,并且必须保存产品或分类以将其巩固。
配置
- 启用模块:用于启用/禁用模块提供的功能
- Open AI组织ID:您的Open AI账户ID,在免费注册账户后可在以下链接找到:[https://beta.openai.com/account/org-settings](https://beta.openai.com/account/org-settings)
- Open AI API密钥:用于认证模块向Open AI发出的请求的API密钥,在免费注册账户后可在以下链接找到:[https://beta.openai.com/account/api-keys](https://beta.openai.com/account/api-keys)
- OpenAI GPT模型语言:GPT生成文本时应使用的自然语言模型。列表仅在填写并保存前一个参数后显示,因为每个账户的列表可能不同。要了解不同模型之间的差异并选择最合适的模型,请参考文档:[https://platform.openai.com/docs/models/overview](https://platform.openai.com/docs/models/overview)
针对开发者的说明
一些针对开发者的有用注释
提供的Magento模型
该模块提供了3个Magento模型
- 产品自动生成多语言描述
- 分类自动生成多语言描述
- 自动生成图像
提供的Service
该模块提供了2个Service
- 产品服务,此服务使用相应的Magento模型,提供了3个方法
- 基于任意文本和语言生成描述
- 基于sku和店铺视图生成描述,通过这两个参数获取产品名称和店铺视图的语言,并生成翻译后的连贯文本
- 基于产品ID和店铺视图生成描述,通过这两个参数获取产品名称和店铺视图的语言,并生成翻译后的连贯文本
- 类别,此服务使用相应的Magento模型,提供了2个方法
- 基于任意文本和语言生成描述
- 基于类别ID和店铺视图生成描述,通过这两个参数获取类别名称和店铺视图的语言,并生成翻译后的连贯文本
对于图像,尚未创建服务。由于生成连贯图像所需的复杂性和精确性,无法仅从产品或类别的简单名称中生成图像。可以直接使用Magento模型,并给出精确的指令。
实施和开发
无论是Magento模型还是提供的服务,都对其他功能完全透明,因此可以通过依赖注入在模块或第三方开发中使用,以实现其他用途。
例如,图像服务及其Magento模型可以用于系统集成开发,在导入目录阶段自动生成产品和类别的图像和描述,如果ERP中的数据没有提供这些。
另一个例子:提供的服务模型可以用于开发自动生成文本的功能,甚至用于CMS页面或已安装模块的博客文章。
public function __construct(
...
\SamueleMartini\GPT\Api\GenerateProductDescriptionInterface $generateProductDescription,
...
) {
...
$this->generateProductDescription = $generateProductDescription;
...
}
...
...
...
$description = $this->generateProductDescription->getProductDescription($productName, $language);
$description = $this->generateProductDescription->getProductDescriptionBySku($sku, $storeId);
$description = $this->generateProductDescription->getProductDescriptionById($productId, $storeId);
...
...
...
$product->setDescription($description);
$this->productRepository->save($product);
...
...
...
控制台命令
提供了一些可从CLI执行的console命令。这些命令仅用于测试功能、文本和图像,生成的文本和图像不会分配给产品或类别,也不会导致实际的修改。