4068 Commits

Author SHA1 Message Date
yangdx
c300f2fc91 Merge branch 'jidodata-ykim/main' 2025-05-22 10:48:24 +08:00
yangdx
3b9c28fae9 Fix linting 2025-05-22 10:46:03 +08:00
yangdx
e14c69ce4a Merge branch 'belabon25/main' 2025-05-22 10:06:52 +08:00
yangdx
a6046bf827 Fix linting 2025-05-22 10:06:09 +08:00
yangdx
bb27bb4309 Fix linting 2025-05-22 09:59:53 +08:00
Daniel.y
690f701781
Merge pull request #1607 from yumpyy/main
Reflect core library parameter update in API server
2025-05-22 09:58:36 +08:00
Benjamin L
1b6ddcaf5b change validator method names 2025-05-21 16:06:35 +02:00
Benjamin L
62b536ea6f Adding file_source.s as optional attribute to text.s requests 2025-05-21 15:10:27 +02:00
yumpyy
4d806a1263
feat(api): update endpoint to support new parameter
Update the API server to support the new parameter from the core library (PR #1032).
2025-05-21 15:50:05 +05:30
yangdx
702e87492c Bump api version to 0171 2025-05-21 16:52:33 +08:00
Daniel.y
dde340f449
Merge pull request #1605 from HKUDS/fix-mime-for-windows
Fix js files MIME type error for Windows environment
2025-05-21 16:48:56 +08:00
yangdx
85bed30764 Fix linting 2025-05-21 16:46:36 +08:00
yangdx
45cebc71c5 Refactor: Optimize static file caching for WebUI
- Renamed `NoCacheStaticFiles` to `SmartStaticFiles`.
- Implemented long-term caching (1 year, immutable) for versioned assets in `/webui/assets/`.
- Ensured `index.html` remains un-cached.
- Set correct `Content-Type` for JS and CSS files.
2025-05-21 16:46:18 +08:00
yangdx
0961a21722 Set correct Content-Type header for JavaScript files
• Fix missing Content-Type header for .js files
• Ensure proper MIME type handling
• Improve browser compatibility
2025-05-21 16:17:42 +08:00
Martin Perez-Guevara
3d418d95c5 feat: Integrate Opik for Enhanced Observability in LlamaIndex LLM Interactions
This pull request demonstrates how to create a new Opik project when using LiteLLM for LlamaIndex-based LLM calls. The primary goal is to enable detailed tracing, monitoring, and logging of LLM interactions in a new Opik project_name, particularly when using LiteLLM as an API proxy. This enhancement allows for better debugging, performance analysis, observability when using LightRAG with LiteLLM and Opik.

**Motivation:**

As our application's reliance on Large Language Models (LLMs) grows, robust observability becomes crucial for maintaining system health, optimizing performance, and understanding usage patterns. Integrating Opik provides the following key benefits:

1.  **Improved Debugging:** Enables end-to-end tracing of requests through the LlamaIndex and LiteLLM layers, making it easier to identify and resolve issues or performance bottlenecks.
2.  **Comprehensive Performance Monitoring:** Allows for the collection of vital metrics such as LLM call latency, token usage, and error rates. This data can be filtered and analyzed within Opik using project names and tags.
3.  **Effective Cost Management:** Facilitates tracking of token consumption associated with specific requests or projects, leading to better cost control and optimization.
4.  **Deeper Usage Insights:** Provides a clearer understanding of how different components of the application or various projects are utilizing LLM capabilities.

These changes empower developers to seamlessly add observability to their LlamaIndex-based LLM workflows, especially when leveraging LiteLLM, by passing necessary Opik metadata.

**Changes Made:**

1.  **`lightrag/llm/llama_index_impl.py`:**
    *   Modified the `llama_index_complete_if_cache` function:
        *   The `**kwargs` parameter, which previously handled additional arguments, has been refined. A dedicated `chat_kwargs={}` parameter is now used to pass keyword arguments directly to the `model.achat()` method. This change ensures that vendor-specific parameters, such as LiteLLM's `litellm_params` for Opik metadata, are correctly propagated.
        *   The logic for retrieving `llm_instance` from `kwargs` was removed as `model` is now a direct parameter, simplifying the function.
    *   Updated the `llama_index_complete` function:
        *   Ensured that `**kwargs` (which may include `chat_kwargs` or other parameters intended for `llama_index_complete_if_cache`) are correctly passed down.

2.  **`examples/unofficial-sample/lightrag_llamaindex_litellm_demo.py`:**
    *   This existing demo file was updated to align with the changes in `llama_index_impl.py`.
    *   The `llm_model_func` now passes an empty `chat_kwargs={}` by default to `llama_index_complete_if_cache` if no specific chat arguments are needed, maintaining compatibility with the updated function signature. This file serves as a baseline example without Opik integration.

3.  **`examples/unofficial-sample/lightrag_llamaindex_litellm_opik_demo.py` (New File):**
    *   A new example script has been added to specifically demonstrate the integration of LightRAG with LlamaIndex, LiteLLM, and Opik for observability.
    *   The `llm_model_func` in this demo showcases how to construct the `chat_kwargs` dictionary.
    *   It includes `litellm_params` with a `metadata` field for Opik, containing `project_name` and `tags`. This provides a clear example of how to send observability data to Opik.
    *   The call to `llama_index_complete_if_cache` within `llm_model_func` passes these `chat_kwargs`, ensuring Opik metadata is included in the LiteLLM request.

These modifications provide a more robust and extensible way to pass parameters to the underlying LLM calls, specifically enabling the integration of observability tools like Opik.

Co-authored-by: Martin Perez-Guevara <8766915+MartinPerez@users.noreply.github.com>
Co-authored-by: Young Jin Kim <157011356+jidodata-ykim@users.noreply.github.com>
2025-05-20 17:47:05 +02:00
earayu
7a41141ca9 feat: update README 2025-05-20 22:58:33 +08:00
yangdx
d97da6068a Fix linting 2025-05-20 17:57:42 +08:00
yangdx
e492394fb6 Fix linting 2025-05-20 17:56:52 +08:00
earayu
655b73e32d feat: update script 2025-05-20 14:14:51 +08:00
earayu
acd628596a feat: update script 2025-05-20 11:26:31 +08:00
earayu
86d0c24276 feat: update script 2025-05-20 11:26:03 +08:00
earayu
03073b7ea1 feat: update README 2025-05-20 10:49:35 +08:00
earayu
780d74970a feat: change sh script mode 2025-05-19 23:07:24 +08:00
earayu
25a6306ae0 feat: add helm chart 2025-05-19 23:06:11 +08:00
earayu
3742d2a026 feat: add helm chart 2025-05-19 22:55:18 +08:00
earayu
fe2df48623 feat: add helm chart 2025-05-19 22:42:45 +08:00
earayu
777fe12bc0 feat: add helm chart 2025-05-19 19:01:18 +08:00
earayu
1429b36495 feat: add helm chart 2025-05-19 18:29:40 +08:00
earayu
1bcb1c4ad7 feat: add helm chart 2025-05-19 18:17:02 +08:00
earayu
573920d5bd feat: add helm chart 2025-05-19 18:11:55 +08:00
earayu
b07f52b335 feat: add database helm 2025-05-19 18:11:47 +08:00
yangdx
b4615247c9 Bump core version to 1.3.8 2025-05-18 07:20:00 +08:00
yangdx
3ffa1009fe Merge branch 'fix-graphml-json-mapping' 2025-05-18 07:17:41 +08:00
yangdx
7263a1ccf9 Fix linting 2025-05-18 07:17:21 +08:00
yangdx
38b862e993 Remove unsed functions 2025-05-18 07:16:52 +08:00
sa9arr
36b606d0db Fix: Correct GraphML to JSON mapping in xml_to_json function 2025-05-17 19:32:25 +05:45
yangdx
d66bb5eefe Update env sample file for Azure 2025-05-16 11:46:38 +08:00
yangdx
e26a013fc3 Fix linting 2025-05-16 09:28:17 +08:00
yangdx
0a613208c1 Update README 2025-05-16 09:28:08 +08:00
yangdx
c41f8d9ed3 Update README 2025-05-16 09:05:50 +08:00
yangdx
b058b59355 Add workflow_dispatch to docker-publish.yml 2025-05-16 00:51:11 +08:00
yangdx
451cff8756 Add arm64 to docker-publish workflow 2025-05-16 00:27:07 +08:00
yangdx
e5b0807298 Update README 2025-05-15 17:36:45 +08:00
yangdx
485563ed3a Update docker compose file 2025-05-14 23:47:53 +08:00
yangdx
f0d5e4e65b Update env sample file 2025-05-14 21:51:49 +08:00
yangdx
b9c25dfeb0 Update README 2025-05-14 14:42:52 +08:00
yangdx
8ca6325ff3 Fix linting v1.3.7 2025-05-14 13:33:33 +08:00
yangdx
a8029f1657 Fix linting 2025-05-14 13:25:05 +08:00
yangdx
d15d3d78e3 Update env sample file 2025-05-14 13:22:03 +08:00
yangdx
c6e943976a Update docker publish tags 2025-05-14 12:21:18 +08:00