Git Product home page Git Product logo

lsp-ai's Introduction

Logo

LSP-AI

Discord

LSP-AI is an open source language server that serves as a backend for performing completion with large language models and soon other AI powered functionality. Because it is a language server, it works with any editor that has LSP support.

The goal of LSP-AI is to assist and empower software engineers by integrating with the tools they already know and love not replace software engineers.

A short list of a few of the editors it works with:

  • VS Code
  • NeoVim
  • Emacs
  • Helix
  • Sublime

It works with many many many more editors.

See the wiki for instructions on:

LSP-AI can work as an alternative to Github Copilot.

LSP-AI.VS-Code.and.Helix.Demo.mp4

On the left: VS Code using Mistral Codestral. On the right: Helix using stabilityai/stable-code-3b

Note that speed for completions is entirely dependent on the backend being used. For the fastest completions we recommend using either a small local model or Groq.

The Case for LSP-AI

tl;dr LSP-AI abstracts complex implementation details from editor specific plugin authors, centralizing open-source development work into one shareable backend.

Editor integrated AI-powered assistants are here to stay. They are not perfect, but are only improving and early research is already showing the benefits. While several companies have released advanced AI-powered editors like Cursor, the open-source community lacks a direct competitor.

LSP-AI aims to fill this gap by providing a language server that integrates AI-powered functionality into the editors we know and love. Here’s why we believe LSP-AI is necessary and beneficial:

  1. Unified AI Features:

    • By centralizing AI features into a single backend, LSP-AI allows supported editors to benefit from these advancements without redundant development efforts.
  2. Simplified Plugin Development:

    • LSP-AI abstracts away the complexities of setting up LLM backends, building complex prompts and soon much more. Plugin developers can focus on enhancing the specific editor they are working on, rather than dealing with backend intricacies.
  3. Enhanced Collaboration:

    • Offering a shared backend creates a collaborative platform where open-source developers can come together to add new functionalities. This unified effort fosters innovation and reduces duplicated work.
  4. Broad Compatibility:

    • LSP-AI supports any editor that adheres to the Language Server Protocol (LSP), ensuring that a wide range of editors can leverage the AI capabilities provided by LSP-AI.
  5. Flexible LLM Backend Support:

    • Currently, LSP-AI supports llama.cpp, Ollama, OpenAI-compatible APIs, Anthropic-compatible APIs, Gemini-compatible APIs and Mistral AI FIM-compatible APIs, giving developers the flexibility to choose their preferred backend. This list will soon grow.
  6. Future-Ready:

    • LSP-AI is committed to staying updated with the latest advancements in LLM-driven software development.

Roadmap

There is so much to do for this project and incredible new research and tools coming out everyday. Below is a list of some ideas for what we want to add next, but we welcome any contributions and discussion around prioritizing new features.

  • Implement semantic search-powered context building (This could be incredibly cool and powerful). Planning to use Tree-sitter to chunk code correctly.
  • Support for additional backends
  • Exploration of agent-based systems

lsp-ai's People

Contributors

silasmarvin avatar mcpatate avatar asukaminato0721 avatar luixiao0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.