3807 Commits

Author SHA1 Message Date
b8226493e1 add missing branch
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 12m46s
2025-05-22 11:09:23 +08:00
1dda186ff8 add build script 2025-05-22 11:09:23 +08:00
9067d5329b feat: add delete method for mongo storage implement 2025-05-22 11:08:24 +08:00
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
yangdx
d97da6068a Fix linting 2025-05-20 17:57:42 +08:00
yangdx
e492394fb6 Fix linting 2025-05-20 17:56:52 +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 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
yangdx
1797670a4d Add docker publish workflow 2025-05-14 12:06:58 +08:00
yangdx
29be2aac71 Remove tenacity from dynamic import 2025-05-14 11:30:48 +08:00
yangdx
db125c3764 Update README 2025-05-14 11:29:46 +08:00
yangdx
313b7d5423 Update dockerfile 2025-05-14 11:11:27 +08:00
yangdx
ac2b6af97e Eliminate tenacity from dynamic import 2025-05-14 10:57:05 +08:00
yangdx
284e8aac79 Remove deprecated demo code 2025-05-14 01:57:20 +08:00
yangdx
ba26b82d40 Remove deprected demo code 2025-05-14 01:56:26 +08:00
Daniel.y
75487f8c16 Merge pull request #1572 from danielaskdd/optimize-ollama
Update ollama LLM driver and sample code
2025-05-14 01:28:58 +08:00
yangdx
0e26cbebd0 Fix linting 2025-05-14 01:14:45 +08:00
yangdx
5c9fd9c4d2 Update Ollama sample code 2025-05-14 01:14:15 +08:00
yangdx
b836d02cac Optimize Ollama LLM driver 2025-05-14 01:13:03 +08:00