OpenAiModel
Inheritance: java.lang.Object, com.aspose.words.AiModel
All Implemented Interfaces: com.aspose.words.IAiModelText
public abstract class OpenAiModel extends AiModel implements IAiModelText
An abstract class representing the integration with OpenAI’s large language models within the Aspose.Words.
Examples:
Shows how to use self-hosted AI model based on OpenAiModel.
public void selfHostedModel() throws Exception
{
Document doc = new Document(getMyDir() + "Big document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI generative language models.
AiModel model = new CustomAiModel().withApiKey(apiKey);
model.setUrl("https://my.a.com/");
Document translatedDoc = model.translate(doc, Language.RUSSIAN);
translatedDoc.save(getArtifactsDir() + "AI.SelfHostedModel.docx");
}
///
/// Custom self-hosted AI model.
///
static class CustomAiModel extends OpenAiModel
{
///
/// Gets model name.
///
protected String getName() { return "my-model-24b"; }
}
Shows how to summarize text using OpenAI and Google models.
Document firstDoc = new Document(getMyDir() + "Big document.docx");
Document secondDoc = new Document(getMyDir() + "Document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI or Google generative language models.
AiModel model = ((OpenAiModel)AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey)).withOrganization("Organization").withProject("Project");
SummarizeOptions options = new SummarizeOptions();
options.setSummaryLength(SummaryLength.SHORT);
Document oneDocumentSummary = model.summarize(firstDoc, options);
oneDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.One.docx");
options.setSummaryLength(SummaryLength.LONG);
Document multiDocumentSummary = model.summarize(new Document[] { firstDoc, secondDoc }, options);
multiDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.Multi.docx");
Methods
| Method | Description |
|---|---|
| checkGrammar(Document sourceDocument, CheckGrammarOptions options) | Checks grammar of the provided document. |
| create(int modelType) | |
| getTimeout() | Gets the number of milliseconds to wait before the request to AI model times out. |
| getUrl() | Gets a URL of the model. |
| setTimeout(int value) | Sets the number of milliseconds to wait before the request to AI model times out. |
| setUrl(String value) | Sets a URL of the model. |
| summarize(Document sourceDocument) | |
| summarize(Document sourceDocument, SummarizeOptions options) | Generates a summary of the specified document, with options to adjust the length of the summary. |
| summarize(Document[] sourceDocuments) | |
| summarize(Document[] sourceDocuments, SummarizeOptions options) | Generates summaries for an array of documents, with options to control the summary length and other settings. |
| translate(Document sourceDocument, int targetLanguage) | |
| withApiKey(String apiKey) | Sets a specified API key to the model. |
| withOrganization(String organizationId) | Sets a specified Organization to the model. |
| withProject(String projectId) | Sets a specified Project to the model. |
checkGrammar(Document sourceDocument, CheckGrammarOptions options)
public Document checkGrammar(Document sourceDocument, CheckGrammarOptions options)
Checks grammar of the provided document. This operation leverages the connected AI model for checking grammar of document.
Examples:
Shows how to check the grammar of a document.
Document doc = new Document(getMyDir() + "Big document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI generative language models.
AiModel model = AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey);
CheckGrammarOptions grammarOptions = new CheckGrammarOptions();
grammarOptions.setImproveStylistics(true);
Document proofedDoc = model.checkGrammar(doc, grammarOptions);
proofedDoc.save(getArtifactsDir() + "AI.AiGrammar.docx");
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocument | Document | The document being checked for grammar. |
| options | CheckGrammarOptions | Optional settings to control how grammar will be checked. |
Returns: Document - A new Document with checked grammar.
create(int modelType)
public static AiModel create(int modelType)
Parameters:
| Parameter | Type | Description |
|---|---|---|
| modelType | int |
Returns: AiModel
getTimeout()
public int getTimeout()
Gets the number of milliseconds to wait before the request to AI model times out. The default value is 100,000 milliseconds (100 seconds).
Examples:
Shows how to change model default timeout.
String apiKey = System.getenv("API_KEY");
AiModel model = AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey);
// Default value 100000ms.
model.setTimeout(250000);
Returns: int - The number of milliseconds to wait before the request to AI model times out.
getUrl()
public String getUrl()
Gets a URL of the model. The default value is “https://api.openai.com/".
Returns: java.lang.String - A URL of the model.
setTimeout(int value)
public void setTimeout(int value)
Sets the number of milliseconds to wait before the request to AI model times out. The default value is 100,000 milliseconds (100 seconds).
Examples:
Shows how to change model default timeout.
String apiKey = System.getenv("API_KEY");
AiModel model = AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey);
// Default value 100000ms.
model.setTimeout(250000);
Parameters:
| Parameter | Type | Description |
|---|---|---|
| value | int | The number of milliseconds to wait before the request to AI model times out. |
setUrl(String value)
public void setUrl(String value)
Sets a URL of the model. The default value is “https://api.openai.com/".
Parameters:
| Parameter | Type | Description |
|---|---|---|
| value | java.lang.String | A URL of the model. |
summarize(Document sourceDocument)
public Document summarize(Document sourceDocument)
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocument | Document |
Returns: Document
summarize(Document sourceDocument, SummarizeOptions options)
public Document summarize(Document sourceDocument, SummarizeOptions options)
Generates a summary of the specified document, with options to adjust the length of the summary. This operation leverages the connected AI model for content processing.
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocument | Document | The document to be summarized. |
| options | SummarizeOptions | Optional settings to control the summary length and other parameters. |
Returns: Document - A summarized version of the document’s content.
summarize(Document[] sourceDocuments)
public Document summarize(Document[] sourceDocuments)
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocuments | Document[] |
Returns: Document
summarize(Document[] sourceDocuments, SummarizeOptions options)
public Document summarize(Document[] sourceDocuments, SummarizeOptions options)
Generates summaries for an array of documents, with options to control the summary length and other settings. This method utilizes the connected AI model for processing each document in the array.
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocuments | Document[] | An array of documents to be summarized. |
| options | SummarizeOptions | Optional settings to control the summary length and other parameters |
Returns: Document - A summarized version of the document’s content.
translate(Document sourceDocument, int targetLanguage)
public Document translate(Document sourceDocument, int targetLanguage)
Parameters:
| Parameter | Type | Description |
|---|---|---|
| sourceDocument | Document | |
| targetLanguage | int |
Returns: Document
withApiKey(String apiKey)
public AiModel withApiKey(String apiKey)
Sets a specified API key to the model.
Examples:
Shows how to summarize text using OpenAI and Google models.
Document firstDoc = new Document(getMyDir() + "Big document.docx");
Document secondDoc = new Document(getMyDir() + "Document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI or Google generative language models.
AiModel model = ((OpenAiModel)AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey)).withOrganization("Organization").withProject("Project");
SummarizeOptions options = new SummarizeOptions();
options.setSummaryLength(SummaryLength.SHORT);
Document oneDocumentSummary = model.summarize(firstDoc, options);
oneDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.One.docx");
options.setSummaryLength(SummaryLength.LONG);
Document multiDocumentSummary = model.summarize(new Document[] { firstDoc, secondDoc }, options);
multiDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.Multi.docx");
Parameters:
| Parameter | Type | Description |
|---|---|---|
| apiKey | java.lang.String |
Returns: AiModel
withOrganization(String organizationId)
public OpenAiModel withOrganization(String organizationId)
Sets a specified Organization to the model.
Examples:
Shows how to summarize text using OpenAI and Google models.
Document firstDoc = new Document(getMyDir() + "Big document.docx");
Document secondDoc = new Document(getMyDir() + "Document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI or Google generative language models.
AiModel model = ((OpenAiModel)AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey)).withOrganization("Organization").withProject("Project");
SummarizeOptions options = new SummarizeOptions();
options.setSummaryLength(SummaryLength.SHORT);
Document oneDocumentSummary = model.summarize(firstDoc, options);
oneDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.One.docx");
options.setSummaryLength(SummaryLength.LONG);
Document multiDocumentSummary = model.summarize(new Document[] { firstDoc, secondDoc }, options);
multiDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.Multi.docx");
Parameters:
| Parameter | Type | Description |
|---|---|---|
| organizationId | java.lang.String |
Returns: OpenAiModel
withProject(String projectId)
public OpenAiModel withProject(String projectId)
Sets a specified Project to the model.
Examples:
Shows how to summarize text using OpenAI and Google models.
Document firstDoc = new Document(getMyDir() + "Big document.docx");
Document secondDoc = new Document(getMyDir() + "Document.docx");
String apiKey = System.getenv("API_KEY");
// Use OpenAI or Google generative language models.
AiModel model = ((OpenAiModel)AiModel.create(AiModelType.GPT_4_O_MINI).withApiKey(apiKey)).withOrganization("Organization").withProject("Project");
SummarizeOptions options = new SummarizeOptions();
options.setSummaryLength(SummaryLength.SHORT);
Document oneDocumentSummary = model.summarize(firstDoc, options);
oneDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.One.docx");
options.setSummaryLength(SummaryLength.LONG);
Document multiDocumentSummary = model.summarize(new Document[] { firstDoc, secondDoc }, options);
multiDocumentSummary.save(getArtifactsDir() + "AI.AiSummarize.Multi.docx");
Parameters:
| Parameter | Type | Description |
|---|---|---|
| projectId | java.lang.String |
Returns: OpenAiModel