#455 progress update + ai/create/images + poetID
This commit is contained in:
parent
10a02fe8cc
commit
f1524378ae
@ -2114,6 +2114,7 @@ namespace RMuseum.Controllers
|
||||
/// </summary>
|
||||
/// <param name="startFrom"></param>
|
||||
/// <param name="count"></param>
|
||||
/// <param name="poetId"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
[HttpPut("ai/create/images")]
|
||||
@ -2121,11 +2122,11 @@ namespace RMuseum.Controllers
|
||||
[ProducesResponseType((int)HttpStatusCode.OK)]
|
||||
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
|
||||
[ProducesResponseType((int)HttpStatusCode.Unauthorized)]
|
||||
public async Task<IActionResult> OpenAIStartCreatingImagesForPoemsAsync(int startFrom, int count)
|
||||
public async Task<IActionResult> OpenAIStartCreatingImagesForPoemsAsync(int startFrom = 0, int count = 0, int poetId = 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _artifactService.OpenAIStartCreatingImagesForPoemsAsync(startFrom, count);
|
||||
await _artifactService.OpenAIStartCreatingImagesForPoemsAsync(startFrom, count, poetId);
|
||||
return Ok();
|
||||
}
|
||||
catch (Exception exp)
|
||||
|
||||
@ -636,12 +636,13 @@
|
||||
<param name="skipUpload"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.ArtifactController.OpenAIStartCreatingImagesForPoemsAsync(System.Int32,System.Int32)">
|
||||
<member name="M:RMuseum.Controllers.ArtifactController.OpenAIStartCreatingImagesForPoemsAsync(System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
create images for ganjoor
|
||||
</summary>
|
||||
<param name="startFrom"></param>
|
||||
<param name="count"></param>
|
||||
<param name="poetId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RMuseum.Controllers.ArtifactController.ReadOnlyMode">
|
||||
@ -15267,12 +15268,13 @@
|
||||
<param name="skipUpload"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IArtifactService.OpenAIStartCreatingImagesForPoemsAsync(System.Int32,System.Int32)">
|
||||
<member name="M:RMuseum.Services.IArtifactService.OpenAIStartCreatingImagesForPoemsAsync(System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
create images for ganjoor
|
||||
</summary>
|
||||
<param name="startFrom"></param>
|
||||
<param name="count"></param>
|
||||
<param name="poetId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IDonationService">
|
||||
|
||||
@ -604,8 +604,9 @@ namespace RMuseum.Services
|
||||
/// </summary>
|
||||
/// <param name="startFrom"></param>
|
||||
/// <param name="count"></param>
|
||||
/// <param name="poetId"></param>
|
||||
/// <returns></returns>
|
||||
Task OpenAIStartCreatingImagesForPoemsAsync(int startFrom, int count);
|
||||
Task OpenAIStartCreatingImagesForPoemsAsync(int startFrom, int count, int poetId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ using System.Drawing;
|
||||
using FluentFTP;
|
||||
using System.Threading.Tasks;
|
||||
using RMuseum.Models.GanjoorIntegration;
|
||||
using RMuseum.Models.Ganjoor;
|
||||
|
||||
namespace RMuseum.Services.Implementation
|
||||
{
|
||||
@ -23,7 +24,7 @@ namespace RMuseum.Services.Implementation
|
||||
/// </summary>
|
||||
public partial class ArtifactService : IArtifactService
|
||||
{
|
||||
public async Task OpenAIStartCreatingImagesForPoemsAsync(int startFrom, int count)
|
||||
public async Task OpenAIStartCreatingImagesForPoemsAsync(int startFrom, int count, int poetId)
|
||||
{
|
||||
string systemEmail = $"{Configuration.GetSection("Ganjoor")["SystemEmail"]}";
|
||||
var systemUserId = (Guid)(await _userService.FindUserByEmail(systemEmail)).Result.Id;
|
||||
@ -47,11 +48,14 @@ namespace RMuseum.Services.Implementation
|
||||
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, 0, "Query data");
|
||||
|
||||
List<GanjoorCat> cats = poetId == 0 ? new List<GanjoorCat>() : await context.GanjoorCategories.AsNoTracking().Where(c => c.PoetId == poetId).ToListAsync();
|
||||
|
||||
var poems =
|
||||
poetId != 0 ?
|
||||
await context.GanjoorPoems.AsNoTracking().Where(p => cats.Any(c => c.Id == p.CatId)).ToListAsync() :
|
||||
count == 0 ?
|
||||
startFrom == 0 ?
|
||||
await context.GanjoorPoems.AsNoTracking()
|
||||
.ToListAsync()
|
||||
await context.GanjoorPoems.AsNoTracking().ToListAsync()
|
||||
:
|
||||
await context.GanjoorPoems.AsNoTracking()
|
||||
.Skip(startFrom)
|
||||
@ -91,6 +95,7 @@ namespace RMuseum.Services.Implementation
|
||||
|
||||
if (!string.IsNullOrEmpty(poem.PlainText))
|
||||
{
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, i, $"{i} از {poems.Count} - {poem.FullTitle} - 1");
|
||||
//1
|
||||
bool hasStories = false;
|
||||
var hasStoriesResult = await openAiService.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
|
||||
@ -122,6 +127,7 @@ namespace RMuseum.Services.Implementation
|
||||
if (!hasStories) continue;
|
||||
|
||||
//2
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, i, $"{i} از {poems.Count} - {poem.FullTitle} - 2");
|
||||
var storyResult = await openAiService.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
|
||||
{
|
||||
Messages = new List<ChatMessage>
|
||||
@ -152,6 +158,8 @@ namespace RMuseum.Services.Implementation
|
||||
|
||||
if (string.IsNullOrEmpty(story)) continue;
|
||||
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, i, $"{i} از {poems.Count} - {poem.FullTitle} - 3");
|
||||
|
||||
//3
|
||||
var depictionResult = await openAiService.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
|
||||
{
|
||||
@ -177,6 +185,8 @@ namespace RMuseum.Services.Implementation
|
||||
|
||||
if (string.IsNullOrEmpty(prompt)) continue;
|
||||
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, i, $"{i} از {poems.Count} - {poem.FullTitle} - 4");
|
||||
|
||||
//4
|
||||
var imageCreationResult = await openAiService.Image.CreateImage(new ImageCreateRequest
|
||||
(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user