- A small Windows Presentation Foundation (WPF) application that interacts with OpenAI GPT-3.5 Turbo API
- Based on .NET6 and written in C#.
Create an Open AI account to obtain an API key (free): https://platform.openai.com/account/api-keys
You can use the key as a command line parameter (without compiling the project):
- Click Booger.exe under Releases on the right side of this page
- Download Booger.zip
- Unzip the file and run Booger.exe and enter the key obtained above (Booger.exe /sk-Ih...WPd) in the settings tab
Build Booger.sln with Visual Studio 2022 (Community version okay). This app is targeted for .NET 6 and 8. If you don't have .NET 8 installed, remove net8.0-windows in Booger.csproj.
- Static - other tools available.
- Converters - various conversions.
- Behaviors - behaviors for the styles.
- Enumerations - enumerations used by Booger.
- Services - chat gpt services.
- Extensions - extension methods.
- Models - classes for prompting and training.
- UI - classes for the user interface and related functionality.
- ColorModes - light and dark modes.
- Styles - other look and feel stuff.
- Resources- images, documents, files, etc
- Federal Appropriations - vectorized dataset of federal appropriations available for fine-tuning learning models
- Federal Regulations - vectorized dataset of federal finance regulations available for fine-tuning learning models
- User Guide - how to use Booger.
- Compilation Guide - instructions on how to compile Booger.
- Configuration Guide - information for the Booger configuration file.
- Distribution Guide - distributing Booger.
Pre-built and binaries (setup, portable and archive) are available on the with install instructions (e.g. silent install).
- VisualStudio 2022
- Based on .NET8 and WPF
$ git clone https://github.com/is-leeroy-jenkins/Booger.git
$ cd Booger
Run Booger.sln
You can build the application like any other .NET / WPF application on Windows.
-
Make sure that the following requirements are installed:
- .NET 8.x - SDK
- Visual Studio 2022 with
.NET desktop development
andUniversal Windows Platform development
-
Clone the repository with all submodules:
# Clone the repository git clone https://github.com/is-leeroy-jenkins/Booger # Navigate to the repository cd Booger # Clone the submodules git submodule update --init
-
Open the project file
.\Source\Booger.sln
with Visual Studio or JetBrains Rider to build (or debug) the solution.ALTERNATIVE
With the following commands you can directly build the binaries from the command line:
dotnet restore .\Source\Booger.sln dotnet build .\Source\Booger.sln --configuration Release --no-restore
Booger uses the following projects and libraries. Please consider supporting them as well (e.g., by starring their repositories):
Library | Description |
---|---|
CefSharp.WPF.Core | .NET (WPF/Windows Forms) bindings for the Chromium Embedded Framework |
Epplus | EPPlus-Excel spreadsheets for .NET |
Google.Api.CustomSearchAPI.v1 | Google APIs Client Library for working with Customsearch v1 |
LinqStatistics | Linq extensions to calculate basic statistics. |
System.Data.SqlServerCe | Unofficial package of System.Data.SqlServerCe.dll if you need it as dependency. |
Microsoft.Office.Interop.Outlook 15.0.4797.1004 | This an assembly you can use for Outlook 2013/2016/2019 COM interop, generated and signed by Microsoft. This is entirely unsupported and there is no license since it is a repackaging of Office assemblies. |
ModernWpfUI 0.9.6 | Modern styles and controls for your WPF applications. |
Newtonsoft.Json 13.0.3 | Json.NET is a popular high-performance JSON framework for .NET |
RestoreWindowPlace 2.1.0 | Save and restore the place of the WPF window |
SkiaSharp 2.88.9 | SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. |
Syncfusion.Licensing 24.1.41 | Syncfusion licensing is a .NET library for validating the registered Syncfusion license in an application at runtime. |
System.Data.OleDb 9.0.0 | This package implements a data provider for OLE DB data sources. |
System.Data.SqlClient 4.9.0 | The legacy .NET Data Provider for SQL Server. |
MahApps.Metro | UI toolkit for WPF applications |
System.Data.SQLite.Core | The official SQLite database engine for both x86 and x64 along with the ADO.NET provider. |
System.Speech 9.0.0 | Provides APIs for speech recognition and synthesis built on the Microsoft Speech API in Windows. |
ToastNotifications.Messages.Net6 1.0.4 | Toast notifications for WPF allows you to create and display rich notifications in WPF applications. |
ToastNotifications.Net6 1.0.4 | Toast notifications for WPF allows you to create and display rich notifications in WPF applications. |
Syncfusion.SfSkinManager.WPF 24.1.41 | The Syncfusion WPF Skin Manageris a .NET UI library that contains the SfSkinManager class, which helps apply the built-in themes to the Syncfusion UI controls for WPF. |
Syncfusion.Shared.Base 24.1.41 | Syncfusion WinForms Shared Components |
Syncfusion.Shared.WPF 24.1.41 | Syncfusion WPF components |
Syncfusion.Themes.FluentDark.WPF 24.1.41 | The Syncfusion WPF Fluent Dark Theme for WPF contains the style resources to change the look and feel of a WPF application to be similar to the modern Windows UI style introduced in Windows 8 apps. |
Syncfusion.Tools.WPF 24.1.41 | This package contains WPF AutoComplete, WPF DockingManager, WPF Navigation Pane, WPF Hierarchy Navigator, WPF Range Slider, WPF Ribbon, WPF TabControl, WPF Wizard, and WPF Badge components for WPF application. |
Syncfusion.UI.WPF.NET 24.1.41 | Syncfusion WPF Controls is a library of 100+ WPF UI components and file formats to build modern WPF applications. |