* fix: enhance web search functionality with proxy support
- Remove unnecessary blank line in README.md
- Add missing closing details tag in both README.md and README_zh.md
- Add proxy support to the web search engine configuration in config.lua
- Ensure the web search function uses the proxy setting when available in init.lua
- Fix a potential nil access in the response body format check in config.lua
Signed-off-by: 范立洲 <fanlizhou@yunqilaohe.com>
* [pre-commit.ci lite] apply automatic fixes
---------
Signed-off-by: 范立洲 <fanlizhou@yunqilaohe.com>
Co-authored-by: 范立洲 <fanlizhou@yunqilaohe.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat: add ollama as supported provider
*This implementation is only working with `stream = true`*
- Uses the actual ollama api and allows for passing additional options
- Properly passes the system prompt to api
Use ollama as provider in opts like this:
opts = {
debug = true,
provider = "ollama",
ollama = {
api_key_name = "",
endpoint = "http://127.0.0.1:11434",
model = "qwen2.5-coder:latest",
options = {
num_ctx = 32768,
temperature = 0,
},
stream = true,
},
* fix: ollama types
---------
Co-authored-by: jtabke <25010496+jtabke@users.noreply.github.com>
setting `lazy=false` means eagerly loading the plugin while `event =
"VeryLazy"` suggests the plugin should be lazy loaded
https://lazy.folke.io/spec/lazy_loading
> Plugins will be lazy-loaded when one of the following is true:
>
> * The plugin only exists as a dependency in your spec
> * It has an event, cmd, ft or keys key
> * config.defaults.lazy == true
see example
6c3bda4aca/lua/lazy/example.lua (L58-L60)
* Refactor Docker mount to mount only user home
Mounting the whole filesystem expose the user to security risks,
considering the container is running are root.
This mounts only the user home directory in the container, to mitigate
the security risks. The user home directory is mounted in read only mode
to even reduce the risks of accidental or malicious modifications.
Mounting the whole should allow the user to have multiple neovim instances runinng at
the same time and sharing the same rag_service.
Also the container is started with the --rm flag to remove it after it stops.
* RAG mount point is not configurable
* Remove useless filter.lua file
* Use Path to join paths
This should be more safe than just concatenating strings.
* fix: openai env
* feat: add support for multiple RAG providers
- Added provider, model and endpoint configuration options for RAG service
- Updated RAG service to support both OpenAI and Ollama providers
- Added Ollama embedding support and dependencies
- Improved environment variable handling for RAG service configuration
Signed-off-by: wfhtqp@gmail.com <wfhtqp@gmail.com>
* fix: update docker env
* feat: rag server add ollama llm
* fix: pre-commit
* feat: check embed model and clean
* docs: add rag server config docs
* fix: pyright ignore
---------
Signed-off-by: wfhtqp@gmail.com <wfhtqp@gmail.com>