chatgpt-starter项目的升级版本,支持azure部署的OpenAI service。 同时将Function call能力封装进了sdk。
- 工程中添加依赖
<dependency> <groupId>me.zhangjh</groupId> <artifactId>openai-starter</artifactId> <version>${最新版本}</version> </dependency>
- 修改配置文件application.properties
ai.chat.model=xxx //gpt-4o ai.image.model=xxx //dall-e-3 chat.api.key=xxx chat.endpoint=xxx img.api.key=xxx img.endpoint=xxx
- 暴露的接口方法
// me.zhangjh.openai.service.OpenAiService ImageGenerateDTO generateImage(ImageGenerateRequest request); /** * 流式接口,回调函数方式 * */ void generateTextWithCb(TextGenerateRequest request, Function<String, Object> cb); /** * 支持function call的接口,不支持流式 * */ ChatCompletions generateTextWithFunctionCall(TextGenerateRequest request) throws Exception; /** * 供上层controller调用,流式返回无需自行再封装 * 能力上跟同名的有返回值的接口相同,仅返回结果通过response流式返回 * */ void generateTextStream(TextGenerateRequest request, HttpServletResponse response);
- 使用方式可以参考单元测试
// me.zhangjh.openai.AppTests
- 如果需要使用Function Call能力,需要将供Function call调用的函数添加上@Desc注解,该注解主要用来告知AI方法的作用描述