• システム開発に関わる内容をざっくりと書いていく

ChatGPTにワードファイルを読み込ませる【C#】

ChatGPTにワードファイルをプロンプトに送り、感想などの返答をもらう:APIを想定

[HttpGet]
public async Task<string?> GetFromWord(string path)
{
    using (WordprocessingDocument doc = WordprocessingDocument.Open(path, false))
    {
        string text = "";
        foreach (var para in doc.MainDocumentPart.Document.Descendants<Paragraph>())
        {
            text += para.InnerText + "\n";
        }
        System.Console.WriteLine(text);

        return await GetChatGptResponse("以下のドキュメントについての感想をください" + text);
    }
}

private async Task<string?> GetChatGptResponse(string prompt)
{
    var openAiService = new OpenAIService(new OpenAiOptions()
    {
        ApiKey = "yourApiKey"
    });
    Console.WriteLine(prompt);
    var result = await openAiService.Completions.CreateCompletion(new CompletionCreateRequest()
    {
        Prompt = prompt,
        Echo = false,
        MaxTokens = 300 // about
    }, Models.TextDavinciV3);
    if (result.Successful)
    {
        return result.Choices.Select(x => x.Text).FirstOrDefault();
    }
    else
        return null;
}