Vim Intelligence Bridge es un plugin para Vim que integra capacidades de inteligencia artificial en tu flujo de trabajo de desarrollo (extendible a cualquier otro ámbito). Diseñado para trabajar con Ollama localmente (prioriza la privacidad), también ofrece soporte para la API de Groq, mejorando la productividad y la experiencia de codificación.
- Integración seamless con Vim
- Utiliza Ollama para procesamiento de lenguaje natural local y privado
- Soporte opcional para la API de Groq para procesamiento en la nube
- Mejora la productividad en tareas de codificación
- Personalizable para diferentes lenguajes de programación
- Prioriza la privacidad y el rendimiento con procesamiento local
- Vim 8.0+
- Python 3.6+
- Ollama instalado localmente (recomendado)
- Conexión a Internet solo si se usa la API de Groq (opcional)
Si usas vim-plug, agrega esto a tu archivo de configuración de Vim (.vimrc
):
Plug 'pepo-ec/vim-intelligence-bridge'
Luego, ejecuta :PlugInstall
en Vim.
Clona el repositorio en tu directorio de plugins de Vim:
git clone https://github.com/pepo-ec/vim-intelligence-bridge.git ~/.vim/pack/plugins/start/vim-intelligence-bridge
-
Crea un archivo
.env
en el directorio~/.vim/plugged/vim-intelligence-bridge/
para las claves API (si usas Groq):API_GROQ=tu_api_key_aqui
-
Crea un archivo
config.env
en el mismo directorio para las configuraciones no secretas:OLLAMA_MODEL=llama3.1 GROQ_MODEL=llama-3.1-70b-versatile
-
Ajusta los valores en
config.env
según tus preferencias.
- Comando principal:
:IntelligenceBridge
- Atajo de teclado predeterminado:
<leader>ib
Ejemplo de uso:
-
Selecciona un bloque de código en modo visual.
-
Presiona
<leader>ib
o ejecuta:IntelligenceBridge
. -
Ingresa tu consulta cuando se te solicite. 3.1. ollama/code/laravel/devel Este comando enviará el contexto hacia Ollama (Es más lento pero lo elijo para mantener mi privacidad) 3.2. groq/code/laravel/devel Este comando enviará el contexto a Groq que hace un excelente trabajo de manera gratuita y extremadamente rápido
-
El plugin procesará tu consulta y el código seleccionado usando Ollama (o Groq si está configurado), y mostrará los resultados.
4.1 Definición del contexto. Esta es la manera que se delimita el alcance del LLM
code/laravel/devel Cuando se ha usado una de las variantes devel los requerimientos son bloques que están delimitados por las palabras clave inicio_requerimiento y fin_requerimiento, por ejemplo:
El código con el requrimiento podría ser algo similar a lo siguiente:
public function update(Request $request, $id) { //inicio_requerimiento // En este segmento quiero que agregues el código más común que en Laravel sirva para actualizar un modelo User //fin_requerimiento }
Luego de invocar al plugin (uso), la respuesta esperada sería algo similar a lo siguiente:
public function update(Request $request, $id) { $user = User::find($id); if ($request->input('password')) { $user->password = bcrypt($request->input('password')); } $user->name = $request->input('name'); $user->email = $request->input('email'); $user->save(); return redirect()->route('users.index')->with('success', 'Usuario actualizado correctamente'); }
Puedes personalizar el comportamiento del plugin editando tu config.env
. Ejemplo:
OLLAMA_MODEL=codellama
GROQ_MODEL=llama-3.1-70b-versatile
- Ollama: Plataforma local para ejecución de modelos de IA, proporcionando privacidad y eficiencia (recomendado).
- Groq API: Para procesamiento de lenguaje natural en la nube (opcional).
Las contribuciones son bienvenidas! Por favor, lee CONTRIBUTING.md para detalles sobre nuestro código de conducta y el proceso para enviarnos pull requests.
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE.md para más detalles.
Si encuentras algún problema o tienes alguna sugerencia, por favor abre un issue en el rastreador de problemas de GitHub.
- Agradecemos al equipo de Ollama por proporcionar una excelente plataforma local para IA.
- A Groq por su API como alternativa en la nube.
- A todos los contribuidores y usuarios que ayudan a mejorar este plugin.