ChatGPTにエクセルファイルをプロンプトに送り、感想などの返答をもらう:APIを想定
[HttpPost("FromExcel")] public async Task<string?> GetResult(IFormFile postedFile) { StringBuilder sb = new(); using var stream = postedFile.OpenReadStream(); var reader = ExcelReaderFactory.CreateOpenXmlReader(stream); while (reader.Read()) { for (int col = 0; col < reader.FieldCount; col++) { Debug.WriteLine(reader.GetValue(col)); sb.Append(reader.GetValue(col)); sb.Append(','); } sb.Append(System.Environment.NewLine); } return await GetChatGptResponse("以下のドキュメントについての感想をください" + sb.ToString()); } 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; }