Ok, thanks again for the reply and help!
Hello maliming,
Reopening the thread just to let you know that we had to make an adjustment to the workaround code, because we encountered another issue related to chunk storage in the Qdrant vector store implementation.
When uploading a document through AI Management Data Sources, the document is correctly chunked and embeddings are generated for all chunks. However, only the last chunk ends up being stored in Qdrant.
The issue comes from the ToPointId logic.
private static PointId ToPointId(string id)
{
if (Guid.TryParse(id, out var g)) return g;
if (id.Contains('_') && Guid.TryParse(id.Split('_', 2)[0], out var gp))
return gp;
return BitConverter.ToUInt64(
SHA256.HashData(Encoding.UTF8.GetBytes(id)), 0);
}
Chunk IDs are generated in this format: guid_0 guid_1 guid_2 ... guid_130
But the implementation extracts only the GUID part before the underscore, which means all chunks resolve to the exact same PointId.
What we did was remove that underscore special handling, so the full chunk id is preserved.
Maybe this is something that is already solved for next version as well, but maybe this helps in case it is not.
Hello maliming,
Thanks for your reply and for the workaround suggestion. We will proceed with this workaround until ABP next version is released.
Hello,
The document shared by the IA contains some valid and good points but i would still like the input from someone on the team.
Thanks alper,
Copying the access token from the host filesystem to the container was the solution in this case, i had to copy the file to the project directory and make the following addition in the dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:9.0 WORKDIR /app RUN mkdir -p /root/.abp/cli COPY access-token.bin /root/.abp/cli/access-token.bin ENTRYPOINT ["dotnet", "Upm.BioforestPoC.AuditLoggingService.dll"]