public abstract class AbstractAIParser extends AbstractParser
Copyright (c) 2020 xsx All Rights Reserved. x-easypdf-pdfbox is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractAIParser.ImageContent
图像消息内容
|
protected static class |
AbstractAIParser.ImageUrl
图像地址
|
protected static class |
AbstractAIParser.Message
消息
|
protected static class |
AbstractAIParser.TextContent
文本消息内容
|
Modifier and Type | Field and Description |
---|---|
protected AIParserConfig |
config
ai解析配置
|
protected String |
taskIdKey
任务id key
|
document, log
Constructor and Description |
---|
AbstractAIParser(Document document,
String ak,
String sk,
boolean isJsonResponse)
有参构造
|
Modifier and Type | Method and Description |
---|---|
protected List<Object> |
createImageMessageContents(String prompt,
BufferedImage image)
创建图像消息内容
|
protected List<AbstractAIParser.Message> |
createImageMessages(String prompt,
BufferedImage image)
创建图像消息
|
protected List<AbstractAIParser.Message> |
createTextMessages(String prompt,
String text)
创建消息
|
protected String |
getAuthorization()
获取授权
|
protected BufferedImage |
getPageImage(int pageIndex)
获取页面图像
|
protected BufferedImage |
getPageImage(int pageIndex,
int imageIndex)
获取页面图像
|
protected String |
getPageText(int beginPageIndex,
int endPageIndex)
获取页面文本
|
protected AIParseInfo |
getParseInfo(com.alibaba.fastjson2.JSONObject response)
获取解析信息
|
protected com.alibaba.fastjson2.JSONObject |
getRequestBody(String model,
List<AbstractAIParser.Message> messages)
获取请求体
|
protected okhttp3.Headers |
getRequestHeaders()
获取请求头
|
protected com.alibaba.fastjson2.JSONObject |
getResponse(String url,
String model,
List<AbstractAIParser.Message> messages)
获取响应
|
protected AIParseInfo |
parseImageInfo(List<AbstractAIParser.Message> messages)
解析图像信息
|
AIParseInfo |
parseImageWithPage(String prompt,
int pageIndex,
int imageIndex)
解析图像(页面中的图像)
|
protected AIParseInfo |
parseInfo(String url,
String model,
List<AbstractAIParser.Message> messages)
解析
|
AIParseInfo |
parsePageWithImage(String prompt,
int pageIndex)
解析页面(整个页面)
|
protected AIParseInfo |
parseTexInfo(List<AbstractAIParser.Message> messages)
解析文本信息
|
AIParseInfo |
parseTextWithDocument(String prompt)
解析文本(文档)
|
AIParseInfo |
parseTextWithPage(String prompt,
int beginPageIndex,
int endPageIndex)
解析文本(页面)
|
void |
setHttpClient(okhttp3.OkHttpClient client)
设置http客户端
|
void |
setImageModel(String model)
设置图像模型
|
void |
setImageSystemPrompt(String prompt)
设置图像系统提示词
|
void |
setIsJsonResponse(boolean flag)
是否json响应
|
void |
setTextModel(String model)
设置文本模型
|
void |
setTextSystemPrompt(String prompt)
设置文本系统提示词
|
getDocument
protected String taskIdKey
protected AIParserConfig config
public void setHttpClient(okhttp3.OkHttpClient client)
client
- 客户端public void setImageModel(String model)
model
- 模型public void setImageSystemPrompt(String prompt)
prompt
- 提示词public void setTextModel(String model)
model
- 模型public void setTextSystemPrompt(String prompt)
prompt
- 提示词public void setIsJsonResponse(boolean flag)
flag
- 标记public AIParseInfo parsePageWithImage(String prompt, int pageIndex)
注:访问大模型超时时间为1分钟
prompt
- 提示词pageIndex
- 页面索引public AIParseInfo parseImageWithPage(String prompt, int pageIndex, int imageIndex)
注:访问大模型超时时间为1分钟
prompt
- 提示词pageIndex
- 页面索引imageIndex
- 图像索引public AIParseInfo parseTextWithDocument(String prompt)
注:访问大模型超时时间为1分钟
prompt
- 提示词public AIParseInfo parseTextWithPage(String prompt, int beginPageIndex, int endPageIndex)
注:访问大模型超时时间为1分钟
prompt
- 提示词beginPageIndex
- 起始页面索引endPageIndex
- 结束页面索引protected AIParseInfo parseImageInfo(List<AbstractAIParser.Message> messages)
messages
- 消息protected AIParseInfo parseTexInfo(List<AbstractAIParser.Message> messages)
messages
- 消息protected AIParseInfo parseInfo(String url, String model, List<AbstractAIParser.Message> messages)
url
- 请求路径model
- 模型messages
- 消息protected List<AbstractAIParser.Message> createImageMessages(String prompt, BufferedImage image)
prompt
- 提示词image
- 图像protected List<Object> createImageMessageContents(String prompt, BufferedImage image)
prompt
- 提示词image
- 图像protected List<AbstractAIParser.Message> createTextMessages(String prompt, String text)
prompt
- 提示词text
- 文本protected String getAuthorization()
protected okhttp3.Headers getRequestHeaders()
protected com.alibaba.fastjson2.JSONObject getRequestBody(String model, List<AbstractAIParser.Message> messages)
model
- 模型messages
- 消息protected com.alibaba.fastjson2.JSONObject getResponse(String url, String model, List<AbstractAIParser.Message> messages)
url
- 地址model
- 模型messages
- 消息protected AIParseInfo getParseInfo(com.alibaba.fastjson2.JSONObject response)
response
- 响应protected BufferedImage getPageImage(int pageIndex)
注:页面转图像
pageIndex
- 页面索引protected BufferedImage getPageImage(int pageIndex, int imageIndex)
注:页面中指定索引的图像
pageIndex
- 页面索引protected String getPageText(int beginPageIndex, int endPageIndex)
beginPageIndex
- 起始页面索引endPageIndex
- 结束页面索引Copyright © 2025. All rights reserved.