ASSISTENTE 1.0.0

dotnet add package ASSISTENTE --version 1.0.0                
NuGet\Install-Package ASSISTENTE -Version 1.0.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="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ASSISTENTE --version 1.0.0                
#r "nuget: ASSISTENTE, 1.0.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=1.0.0

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

πŸ€– ASSISTENTE.DEV - Your Coding Companion

πŸ”— QUICK LINKS: APP Demo πŸ†• | Website | Nuget


🐳 DOCKER IMAGES: UI | API | WORKER | DB UPGRADER | PLAYGROUND


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


<img src="https://raw.githubusercontent.com/danielcranney/readme-generator/main/public/icons/socials/youtube.svg" width="18" height="16" alt="YouTube" /> Video Explainer

Assistente Video Explainer


Roadmap

Phases:

  • βœ… I phase (POC) - console app for test purpose Playground: QUICK LINK
  • βœ… II phase - UI in Blazor
  • βœ… III phase - Request limitation (throttling) + publish application on VPS - URL
  • βœ… IV phase - Improve prompts and logic to generate the most accurate answers
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)
  • βœ… 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
  • βœ… Switch from MSSQL to PostgreSQL
  • βœ… Configure VPS to host all environment
  • βœ… Add support for separated scenario for CODE generation
    • βœ… Add table QuestionFiles to save information about select files based on question
Common tasks
  • βœ… Prepare configuration section in Readme
  • βœ… Prepare quick start section in Readme
  • βœ… Prepare video explainer with simply demo
  • βœ… Add HealthChecks for API & Worker
Roadmap
  • πŸ”³ Configure OTEL collector: TUTORIAL
    • πŸ”³ Metrics integration with Prometheus and Graphana - TUTORIAL
    • πŸ”³ Traces integration with SEQ (Jaeger shoud be replaces with SEQ)
  • πŸ”³ Integrate LLamaSharp for embeding creation
  • πŸ”³ Save all content from the file (C# code) and use it at the end of the process in context instead of snippets.
  • πŸ”³ Add Tool which can search in Google (will be use as OpenAi function) + whitelisted resource domains
  • πŸ”³ Saving (to knowledge base) and analyzing tech newsletters

Configuration

  1. Fill out the settings file appsettings.json - QUICK LINK

    • Llm_ApiKey - <API_KEY>

    • Llm_OrganizationId - <ORG_ID>

    • Llm_ProjectId - <PROJ_ID>

    • Embeddings_ApiKey - <API_KEY>

    • Embeddings_OrganizationId - <ORG_ID>

    • Embeddings_ProjectId - <PROJ_ID>

  2. Fill out the .env file - QUICK LINK

    • OpenAi_ApiKey - <API_KEY>
    • OpenAi_OrganizationId - <ORG_ID>
    • OpenAi_ProjectId - <PROJ_ID>

Quick start

Prerequisites: Docker

  1. Fill out the settings file (appsettings.json) and (.env) from CONFIGURATION section

  2. Run start-enviroment.ps1 script with parameters:

    • Firstly with -s - to start required services
    • Secondly with -d - to upgrade and migrate database
    • Thirdly with -a - to start assistente application
    • Fourthly with -p - to learn assistente
  3. Voila! Currently you can go to https://localhost:1008

Services

Service Port Information Metrics URL Access
PostreSQL 1000 Database - -
PgAdmin 1001 Database UI - L: admin@assistente.dev, P: admin
Qdrant 1002 API & UI (dashboard) /metrics -
Qdrant 1003 Search Engine - -
RabbitMq 1004 AMPQ Connection - -
RabbitMq 1005 RabbitMq UI - -
RabbitMq 1013 RabbitMq Metrics /metrics -
Seq 1006 UI - -
Seq 1007 Logs API - -
Blazor UI 1008 Assistente UI - -
Internal API 1009 Assistente API /metrics -
Worker 1010 Assistente worker /metrics -
Jaeger 1011 OpenTelemetry Collector - -
Jaeger 1012 UI - -
Jaeger 1014 API /metrics -
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
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
1.0.0 87 11/26/2024
0.6.0 116 6/8/2024
0.5.5 102 6/1/2024
0.5.4 103 5/25/2024
0.5.3 103 5/25/2024
0.5.2 105 5/23/2024
0.5.1 107 5/23/2024
0.5.0 100 5/21/2024
0.4.4 100 5/16/2024
0.4.3 104 5/15/2024
0.4.2 100 5/15/2024
0.4.1 95 5/15/2024
0.4.0 141 5/15/2024
0.3.4 109 5/14/2024
0.3.3 104 5/14/2024
0.3.2 93 5/14/2024
0.3.1 102 5/14/2024
0.3.0 88 5/13/2024
0.2.0 94 5/9/2024
0.1.2 119 5/6/2024
0.1.1 116 5/6/2024
0.1.0 114 5/6/2024
0.0.2 142 3/1/2024
0.0.1 120 3/1/2024