定制 adachsoft/ai-model-list-provider-xai 二次开发

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

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

adachsoft/ai-model-list-provider-xai

最新稳定版本:v0.3.0

Composer 安装命令:

composer require adachsoft/ai-model-list-provider-xai

包简介

XAI (Grok) SPI provider for AdachSoft AI Model List.

README 文档

README

Provider implementation for adachsoft/ai-model-list using the XAI (Grok) API.

  • Provider ID: xai
  • Requires: adachsoft/ai-model-list ^0.3.0
  • Autodiscovery: enabled via resources/ai-model-list.php and composer extra.ai-model-list.entry-file
  • Default timeout: 10.0s (configurable via factory)

Proposed next release version: v0.2.0

Requirements

  • PHP >= 8.3
  • adachsoft/ai-model-list ^0.3.0
  • adachsoft/collection >= 2.1
  • guzzlehttp/guzzle ^7.8

Installation

Install the core library and this provider in your application:

composer require adachsoft/ai-model-list ^0.3.0
composer require adachsoft/ai-model-list-provider-xai

If you use the Composer plugin for autodiscovery (recommended), enable it and no manual wiring is required in runtime. This package already declares the entry file:

  • composer.jsonextra.ai-model-list.entry-file: resources/ai-model-list.php
  • resources/ai-model-list.php → registers factory AdachSoft\AIModelListProviderXai\Factory\XaiSpiProviderFactory

Refer to the plugin documentation for how to provide configuration and build providers at runtime.

Quick Start (manual wiring via Factory::create)

use AdachSoft\AIModelList\PublicApi\Builder\AiModelCatalogFacadeBuilder;
use AdachSoft\AIModelListProviderXai\Factory\XaiSpiProviderFactory;

$provider = XaiSpiProviderFactory::create($apiKey, timeout: 15.0); // timeout optional, default 10.0
$facade = (new AiModelCatalogFacadeBuilder())
    ->withSpiProvider($provider)
    ->build();

$models = $facade->listModels('xai'); // returns PublicApi\Collection\ModelDefinitionCollection

Quick Start (SPI factory make + config provider)

use AdachSoft\AIModelList\PublicApi\Builder\AiModelCatalogFacadeBuilder;
use AdachSoft\AIModelList\Spi\AiModelProvider\Collection\AiModelProviderCollection;
use AdachSoft\AIModelList\Spi\Config\InMemoryConfigurationProvider;
use AdachSoft\AIModelList\Spi\Config\KeyValueMap;
use AdachSoft\AIModelListProviderXai\Factory\XaiSpiProviderFactory;

$config = new InMemoryConfigurationProvider(new KeyValueMap([
    'api_key' => $apiKey,
    'timeout' => '12.5', // optional
]));

$provider = XaiSpiProviderFactory::make($config);

$facade = (new AiModelCatalogFacadeBuilder())
    ->withProviders(new AiModelProviderCollection([$provider]))
    ->build();

$models = $facade->listModels('xai');

CLI example

  • Create a .env file in the project root:
XAI_API_KEY=your_real_api_key
  • Run: php bin/xai-list-models

The script reads .env, builds the provider via the factory, and prints model IDs using adachsoft/console-io output.

Notes

  • Endpoint is fixed to https://api.x.ai (no configurable base URL).
  • Capabilities mapping (heuristic): CHAT for all; IMAGE when model id contains vision; AUDIO/EMBEDDING not supported.
  • Configuration DTO validates primitives in the constructor; base URL is not exposed.
  • Exception classes are not covered by unit tests per project guidelines.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固