278 Commits

Author SHA1 Message Date
Marco Minerva 80dfac47e5 Delete unused setting 2024-07-19 12:49:01 +02:00
Marco Minerva 6e716f3984 Optimize delete logic 2024-07-19 11:31:54 +02:00
Marco Minerva c98a230586 Fix class declaration 2024-07-19 11:09:50 +02:00
Marco Minerva c1180d3a4f Optimize chunks retrieval 2024-07-19 11:01:44 +02:00
Marco Minerva 21b61281a7 Fix documentation 2024-07-19 10:58:56 +02:00
Marco Minerva b66e64f6a2 Fix documentation 2024-07-19 10:48:51 +02:00
Marco Minerva 0f7b0da0f0 Update Microsoft.SemanticKernel to 1.16.0
Updated the Microsoft.SemanticKernel package version from 1.15.1 to 1.16.0 in the SqlDatabaseVectorSearch.csproj file.
2024-07-17 15:06:44 +02:00
Marco Minerva 45de38d87a Enhanced document chunk handling and API
- Updated `Scripts.sql` to add a new `[Index]` column to `[dbo].[DocumentChunks]` for order tracking.
- Modified `DocumentChunk.cs` to include a new `Index` property, and introduced a new immutable record class for document chunks.
- Introduced new API endpoints in `Program.cs` for document and chunk retrieval, including embedding details, with OpenAPI documentation enhancements.
- Updated an API endpoint description in `Program.cs` to clarify document embedding handling.
- Updated `VectorSearchService.cs` to reflect schema changes in service logic, adding methods for fetching document chunks and specific embeddings.
2024-07-10 11:25:50 +02:00
Marco Minerva ad6faee370 Update package versions for project dependencies
- Updated `Microsoft.AspNetCore.OpenApi` from `8.0.6` to `8.0.7`
- Updated `Microsoft.EntityFrameworkCore.SqlServer` from `8.0.6` to `8.0.7`
- Updated `Microsoft.SemanticKernel` from `1.15.0` to `1.15.1`
- Updated `TinyHelpers` from `3.1.7` to `3.1.10`
2024-07-10 10:44:25 +02:00
Marco Minerva 01016e54e8 Refactor and update Swagger docs in Program.cs
Updated Swagger documentation title and endpoint description in Program.cs to reflect a shift towards general SQL Database usage instead of specific SQL Server implementation. Simplified the document upload endpoint by removing the `LinkGenerator` parameter and enhancing clarity in operation descriptions, emphasizing support for uploading documents to SQL databases for indexing and question answering purposes.
2024-07-02 10:48:03 +02:00
Marco Minerva f3a0ec7c31 Little refactoring 2024-07-01 09:49:34 +02:00
Marco Minerva 8ef8836075 Minor updates 2024-06-26 11:05:00 +02:00
Marco Minerva 1840a63d75 Better transaction on document save 2024-06-24 10:31:57 +02:00
Marco Minerva 7a97000c10 Update libraries 2024-06-24 09:45:05 +02:00
Marco Minerva c72ed3054b Update Semantical Kernel comment 2024-06-20 17:21:07 +02:00
Marco Minerva fa58e02709 Refactor and enhance config management
Refactored code to centralize configuration access through a single `AppSettings` instance in `ChatService` and `VectorSearchService`, improving maintainability and reducing verbosity. Introduced new configuration settings (`MaxTokensPerLine`, `MaxTokensPerParagraph`, `OverlapTokens`, `MaxChunksCount`) in `AppSettings.cs` and `appsettings.json` for enhanced flexibility in content processing. Adjusted existing settings usage (`MessageLimit`, `MessageExpiration`) to align with the new access method, and removed obsolete settings (`StoragePath`, `VectorDbPath`, `QueuePath`). These changes simplify the codebase, make the application more configurable and adaptable to different content characteristics, and allow for more controlled vector search operations.
2024-06-17 11:58:30 +02:00
Marco Minerva 7892f01f84 Refactor AskQuestionAsync in ChatService 2024-06-17 11:02:51 +02:00
Marco Minerva 6790850afe Update README.md 2024-06-14 17:56:07 +02:00
Marco Minerva 7848252fae Update README.md 2024-06-14 17:49:48 +02:00
Marco Minerva a51618fd91 Rename Script.sql to Scripts.sql 2024-06-14 17:47:46 +02:00
Marco Minerva 7251e4c902 Update README.md 2024-06-14 17:47:17 +02:00
Marco Minerva dcccdf7365 Enhanced app with Vector Search support
- Updated README.md with details on Vector Support in Azure SQL Database, application functionalities, and setup instructions.
- Removed inheritance of `Question` class from `Search` class and deleted `Search` class.
- Minor adjustment in Program.cs for endpoint description consistency.
- Simplified appsettings.Development.json by removing the empty "ConnectionStrings" section.
- Enhanced Script.sql with SQL commands to create `DocumentChunks` and `Documents` tables, including schema for identifiers, content, embeddings, document names, creation dates, and established a foreign key relationship between the two tables.
2024-06-14 17:42:37 +02:00
Marco Minerva b6c898a3f5 Refactor code and enhance API documentation
- Converted `Question.cs` and `Search.cs` records to `record class` syntax for clarity.
- Organized API endpoints with tags and added new GET and DELETE endpoints in `Program.cs`, including OpenAPI documentation improvements.
- Removed commented-out code in `Program.cs` for cleaner codebase.
- Introduced `WithTags` for better API operation categorization in Swagger UI.
- Added a TODO comment in `ChatService.cs` for future improvement on chunk length check.
- Clarified `using` directives in `VectorSearchService.cs` with namespace aliasing to improve readability.
- Refactored document deletion in `VectorSearchService.cs` to use a private helper method and expanded service capabilities with a new `GetDocumentsAsync` method.
- Introduced a new `Document` model in the `Models` namespace to support document fetching functionality.
- Simplified `appsettings.json` by removing `MaxTokens` configuration for `ChatCompletion` and `Embedding` services.
2024-06-14 17:20:21 +02:00
Marco Minerva db4646330f Enhanced app with Azure AI and vector search
- Modified `ApplicationDbContext.cs` to correct the `.IsVector()` method placement for `DocumentChunk`.
- Removed `MemoryResponse.cs` class, indicating a move away from this model.
- Enhanced `Program.cs` with Azure AI services integration for text embeddings and chat completions. Updated OpenAPI descriptions and reintroduced `/api/ask` with vector search.
- Adjusted `ChatService.cs` to improve question-asking functionality using document chunks.
- Updated `VectorSearchService.cs` with a new `AskQuestionAsync` method for advanced search and response capabilities. Made `GetContentAsync` static.
- Formatted `SqlDatabaseVectorSearch.csproj` and managed NuGet package inclusions.
- Simplified `appsettings.json` by removing unused keys.
- Added a new `Response` record class for standardized service responses.
2024-06-14 12:59:09 +02:00
Marco Minerva 9284ae5377 Initial commit 2024-06-14 11:47:00 +02:00
Marco Minerva 246bf56955 Update README.md 2024-06-14 11:44:31 +02:00
Marco Minerva 3fff089947 Update README.md 2024-06-14 11:38:12 +02:00
Marco Minerva 318f73455b Initial commit 2024-06-14 11:37:55 +02:00