| @@ -11,6 +11,7 @@ using System.Threading.Tasks; | |||||
| using LLama.Exceptions; | using LLama.Exceptions; | ||||
| using LLama.Extensions; | using LLama.Extensions; | ||||
| using Microsoft.Extensions.Logging; | using Microsoft.Extensions.Logging; | ||||
| using System.Net.Http; | |||||
| namespace LLama | namespace LLama | ||||
| { | { | ||||
| @@ -154,7 +155,7 @@ namespace LLama | |||||
| { | { | ||||
| if (image.Type == ImageData.DataType.ImagePath && image.Data != null) | if (image.Type == ImageData.DataType.ImagePath && image.Data != null) | ||||
| { | { | ||||
| _imageEmbedHandles.Add(SafeLlavaImageEmbedHandle.CreateFromFileName(ClipModel.NativeHandle, Context, image.Data.ToString())); | |||||
| _imageEmbedHandles.Add(SafeLlavaImageEmbedHandle.CreateFromFileName(ClipModel.NativeHandle, Context, (string)image.Data)); | |||||
| } | } | ||||
| else if (image.Type == ImageData.DataType.ImageBytes && image.Data != null) | else if (image.Type == ImageData.DataType.ImageBytes && image.Data != null) | ||||
| { | { | ||||
| @@ -162,7 +163,13 @@ namespace LLama | |||||
| } | } | ||||
| else if (image.Type == ImageData.DataType.ImageURL && image.Data != null) | else if (image.Type == ImageData.DataType.ImageURL && image.Data != null) | ||||
| { | { | ||||
| throw new NotImplementedException(); | |||||
| using var httpClient = new HttpClient(); | |||||
| var uri = new Uri((string)image.Data); | |||||
| var imageBytes = httpClient.GetByteArrayAsync(uri).Result; | |||||
| if (imageBytes != null && imageBytes.Length > 0) | |||||
| { | |||||
| _imageEmbedHandles.Add(SafeLlavaImageEmbedHandle.CreateFromMemory(ClipModel.NativeHandle, Context, imageBytes)); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||