Skip to content

模型供应商开发

概述

本章节介绍如何开发自定义大模型供应商插件。

开发步骤

1. 创建 Maven 模块

xml
<project>
    <groupId>com.astrsomn</groupId>
    <artifactId>astrsomn-provider-custom</artifactId>
    <version>0.2.0-SNAPSHOT</version>
    
    <dependencies>
        <dependency>
            <groupId>com.astrsomn</groupId>
            <artifactId>astrsomn-api-runtime</artifactId>
            <version>0.2.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

2. 实现 ModelProviderHandler 接口

java
public class CustomModelProviderHandler implements ModelProviderHandler {
    
    @Override
    public String getProvider() {
        return "CUSTOM";
    }
    
    @Override
    public String chat(String modelName, String message, List<Message> history) {
        // 实现模型调用逻辑
        return "模型响应";
    }
    
    @Override
    public String chatStream(String modelName, String message, List<Message> history, 
                            Consumer<String> callback) {
        // 实现流式响应
        return "stream response";
    }
    
    @Override
    public EmbeddingResult embed(String modelName, List<String> texts) {
        // 实现嵌入向量
        return new EmbeddingResult();
    }
}

3. 配置 SPI

创建 META-INF/services/com.astrsomn.api.runtime.model.ModelProviderHandler 文件:

com.astrsomn.provider.custom.CustomModelProviderHandler

4. 创建扩展描述文件

创建 extension-custom.properties

properties
name=Custom Provider
description=自定义模型供应商
provider=CUSTOM
version=1.0.0
author=Your Name

接口规范

ModelProviderHandler

方法说明
getProvider()返回提供商标识
chat()同步调用模型
chatStream()流式调用模型
embed()获取文本嵌入向量
supports()判断是否支持指定模型
listModels()返回支持的模型列表

打包部署

bash
# 打包插件
mvn clean package

# 复制到 plugins 目录
cp target/astrsomn-provider-custom-0.2.0-SNAPSHOT.jar plugins/

相关文档