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

MethodDescription
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:

ParameterTypeDescription
sourceDocumentDocumentThe document being checked for grammar.
optionsCheckGrammarOptionsOptional 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:

ParameterTypeDescription
modelTypeint

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:

ParameterTypeDescription
valueintThe 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:

ParameterTypeDescription
valuejava.lang.StringA URL of the model.

summarize(Document sourceDocument)

public Document summarize(Document sourceDocument)

Parameters:

ParameterTypeDescription
sourceDocumentDocument

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:

ParameterTypeDescription
sourceDocumentDocumentThe document to be summarized.
optionsSummarizeOptionsOptional 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:

ParameterTypeDescription
sourceDocumentsDocument[]

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:

ParameterTypeDescription
sourceDocumentsDocument[]An array of documents to be summarized.
optionsSummarizeOptionsOptional 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:

ParameterTypeDescription
sourceDocumentDocument
targetLanguageint

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:

ParameterTypeDescription
apiKeyjava.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:

ParameterTypeDescription
organizationIdjava.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:

ParameterTypeDescription
projectIdjava.lang.String

Returns: OpenAiModel