ASSISTENTE 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ASSISTENTE --version 0.2.0
NuGet\Install-Package ASSISTENTE -Version 0.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ASSISTENTE" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ASSISTENTE --version 0.2.0
#r "nuget: ASSISTENTE, 0.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ASSISTENTE as a Cake Addin
#addin nuget:?package=ASSISTENTE&version=0.2.0

// Install ASSISTENTE as a Cake Tool
#tool nuget:?package=ASSISTENTE&version=0.2.0

πŸ€– ASSISTENTE.DEV - Your Coding Companion

Website | Nuget


GitHub GitHub Workflow Status Nuget Nuget GitHub issues GitHub pull requests


banner


Struggling to keep track of all your dev notes, bookmarks, and useful code snippets scattered across different platforms? Frustrated by the time wasted searching for that crucial information or starting from scratch? πŸ€”

Introducing assistente.dev – your ultimate assistant for developers. It's your personal memory bank, effortlessly storing and retrieving everything you need, precisely when you need it. Whether it's code snippets, course notes, or example solutions, Assistende has you covered. 🦾

Simply paste your query and watch as assistente.dev draws from your notes, bookmarks, and code bases to provide the perfect solution. With assistente.dev, say goodbye to wasted time and hello to seamless development. Get started and unlock your productivity potential! πŸš€

assistente-preview


Answer generation flow:

answer-generation-flow


Roadmap

Phases:

  • βœ… I phase (POC) - console app for test purpose Playground: QUICK LINK
  • βœ… II phase - UI in Blazor
  • πŸ”³ III phase - Improve prompts and logic to generate the most accurate answers
  • πŸ”³ IV phase - Create auth logic (with requests limitation) + publish application on VPS
Loading user data

TODO:

  • βœ… Loading and parsing *.md files - knowledge base
  • βœ… Loading and parsing *.cs files - code base
  • βœ… Find open source solution for creating embeddins
    • βœ… Done partially (currently in use OpenAI embedding service)
    • πŸ”³ NICE TO HAVE Integrate LLamaSharp for embeding creation
  • βœ… Integration with Qdrant - saving embeddings
Generating results
  • βœ… Generating prompt based on the 'knowledge base' & 'code base'
    • βœ… Generate prompt based on 'knowledge base'
    • βœ… Generate prompt based on 'code base'
  • βœ… Integration with the OpenAI API
  • βœ… Add usage of MediatR and prepare Command & Queries libraries
  • βœ… Generating answers or ready code (in console app) - depending on what the user needs
  • βœ… Add UI in Blazor
    • βœ… Upload sample notes and code from DEV_ASSISTENTE repository for demo purpose
    • βœ… Generating answers asynchronously (RabbitMQ + SignalR)
    • βœ… Display resources list
    • βœ… Display asked questions with answers list
  • πŸ”³ Configure VPS to host all environment
Nice to have
  • πŸ”³ Add library for translation (prompts and knowledge base)
Common tasks
  • βœ… Prepare configuration section in Readme
  • βœ… Prepare quick start section in Readme
  • πŸ”³ Prepare video explainer with simply demo

Quick start

Prerequisites: .NET 8 + Docker

  1. Run services on your local machine:

  2. Setup MSSQL database - can be hosted in docker - EXAMPLE CONFIGURATION

  3. Fill out the settings file (appsettings.json) from CONFIGURATION section

  4. Run upgrade-database.ps1 script to create/migrate database - QUICK LINK

  5. Run learn.ps1 script to initialize and learn notes & codes from locations provided in appsettings.json (node: KnowledgePaths).

  6. Voila! Currently you can start application:

  • From Rider/Visual Studio, required applications to run:
    • ASSISTENTE.Worker.Sync
    • ASSISTENTE.API
    • ASSISTENTE.UI
  • In docker - run start-local-enviroment.ps1 script

Configuration

  1. Fill out the settings file appsettings.json - QUICK LINK
{
  "ConnectionStrings": {
    "AssistenteDatabase": "<DATABASE_CONNECTION_STRING>"
  },
  "OpenAI": {
    "ApiKey": "<API_KEY>"
  },
  "Qdrant": {
    "Host": "localhost"
  },
  "Rabbit": {
    "Name": "ASSISTENTE.Worker.Sync",
    "Url": "amqp://guest:guest@localhost:5672"
  },
  "InternalApi": {
    "Url": "http://localhost:5249"
  },
  "KnowledgePaths": {
    "MarkdownNotes": "<ROOT_PATH_TO_MARKDOWN_NOTES>",
    "Repositories": "<ROOT_PATH_TO_REPOSITORY>"
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId" ],
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "Seq",
        "Args": {
          "serverUrl": "http://localhost:5341"
        }
      }
    ]
  }
}
  1. Fill out the .env file - QUICK LINK
COMPOSE_PROJECT_NAME=assistente

ConnectionStrings_AssistenteDatabase='<DATABASE_CONNECTION_STRING>'
OpenAI_ApiKey='<API_KEY>'
Qdrant_Host='localhost'
Rabbit_Name='ASSISTENTE.Worker.Sync'
Rabbit_Url='amqp://guest:guest@rabbitmq:5672'
InternalApi_Url='http://assistente-api:8080'
KnowledgePaths_MarkdownNotes=<ROOT_PATH_TO_MARKDOWN_NOTES>
KnowledgePaths_Repositories=<ROOT_PATH_TO_REPOSITORY>
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.5.4 29 5/25/2024
0.5.3 34 5/25/2024
0.5.2 40 5/23/2024
0.5.1 41 5/23/2024
0.5.0 41 5/21/2024
0.4.4 64 5/16/2024
0.4.3 73 5/15/2024
0.4.2 67 5/15/2024
0.4.1 65 5/15/2024
0.4.0 78 5/15/2024
0.3.4 78 5/14/2024
0.3.3 74 5/14/2024
0.3.2 63 5/14/2024
0.3.1 70 5/14/2024
0.3.0 58 5/13/2024
0.2.0 64 5/9/2024
0.1.2 91 5/6/2024
0.1.1 88 5/6/2024
0.1.0 84 5/6/2024
0.0.2 106 3/1/2024
0.0.1 91 3/1/2024