lemonade-sdk 8.0.4__tar.gz → 8.0.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lemonade-sdk might be problematic. Click here for more details.

Files changed (82) hide show
  1. lemonade_sdk-8.0.5/PKG-INFO +295 -0
  2. lemonade_sdk-8.0.5/README.md +213 -0
  3. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/setup.py +1 -1
  4. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/api.py +50 -0
  5. lemonade_sdk-8.0.5/src/lemonade/common/inference_engines.py +415 -0
  6. lemonade_sdk-8.0.5/src/lemonade/common/system_info.py +851 -0
  7. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/management_tools.py +53 -7
  8. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/serve.py +29 -0
  9. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/static/styles.css +36 -53
  10. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/static/webapp.html +23 -2
  11. lemonade_sdk-8.0.5/src/lemonade/version.py +1 -0
  12. lemonade_sdk-8.0.5/src/lemonade_sdk.egg-info/PKG-INFO +295 -0
  13. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_sdk.egg-info/SOURCES.txt +1 -1
  14. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_server/cli.py +168 -22
  15. lemonade_sdk-8.0.4/PKG-INFO +0 -176
  16. lemonade_sdk-8.0.4/README.md +0 -94
  17. lemonade_sdk-8.0.4/pyproject.toml +0 -3
  18. lemonade_sdk-8.0.4/src/lemonade/common/system_info.py +0 -405
  19. lemonade_sdk-8.0.4/src/lemonade/version.py +0 -1
  20. lemonade_sdk-8.0.4/src/lemonade_sdk.egg-info/PKG-INFO +0 -176
  21. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/LICENSE +0 -0
  22. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/NOTICE.md +0 -0
  23. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/setup.cfg +0 -0
  24. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/__init__.py +0 -0
  25. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/cache.py +0 -0
  26. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/cli.py +0 -0
  27. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/__init__.py +0 -0
  28. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/build.py +0 -0
  29. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/cli_helpers.py +0 -0
  30. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/exceptions.py +0 -0
  31. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/filesystem.py +0 -0
  32. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/network.py +0 -0
  33. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/printing.py +0 -0
  34. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/status.py +0 -0
  35. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/common/test_helpers.py +0 -0
  36. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/profilers/__init__.py +0 -0
  37. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/profilers/memory_tracker.py +0 -0
  38. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/profilers/profiler.py +0 -0
  39. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/sequence.py +0 -0
  40. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/state.py +0 -0
  41. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/__init__.py +0 -0
  42. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/accuracy.py +0 -0
  43. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/adapter.py +0 -0
  44. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/bench.py +0 -0
  45. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/huggingface/bench.py +0 -0
  46. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/huggingface/load.py +0 -0
  47. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/huggingface/utils.py +0 -0
  48. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/humaneval.py +0 -0
  49. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/llamacpp/bench.py +0 -0
  50. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/llamacpp/load.py +0 -0
  51. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/mmlu.py +0 -0
  52. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/oga/__init__.py +0 -0
  53. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/oga/bench.py +0 -0
  54. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/oga/load.py +0 -0
  55. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/oga/utils.py +0 -0
  56. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/perplexity.py +0 -0
  57. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/prompt.py +0 -0
  58. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/quark/__init__.py +0 -0
  59. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/quark/quark_load.py +0 -0
  60. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/quark/quark_quantize.py +0 -0
  61. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/report/__init__.py +0 -0
  62. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/report/llm_report.py +0 -0
  63. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/report/table.py +0 -0
  64. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/__init__.py +0 -0
  65. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/llamacpp.py +0 -0
  66. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/static/favicon.ico +0 -0
  67. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/tool_calls.py +0 -0
  68. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/tray.py +0 -0
  69. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/utils/port.py +0 -0
  70. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/utils/system_tray.py +0 -0
  71. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/utils/thread.py +0 -0
  72. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/server/webapp.py +0 -0
  73. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade/tools/tool.py +0 -0
  74. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_install/__init__.py +0 -0
  75. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_install/install.py +0 -0
  76. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_sdk.egg-info/dependency_links.txt +0 -0
  77. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_sdk.egg-info/entry_points.txt +0 -0
  78. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_sdk.egg-info/requires.txt +0 -0
  79. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_sdk.egg-info/top_level.txt +0 -0
  80. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_server/model_manager.py +0 -0
  81. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_server/pydantic_models.py +0 -0
  82. {lemonade_sdk-8.0.4 → lemonade_sdk-8.0.5}/src/lemonade_server/server_models.json +0 -0
@@ -0,0 +1,295 @@
1
+ Metadata-Version: 2.4
2
+ Name: lemonade-sdk
3
+ Version: 8.0.5
4
+ Summary: Lemonade SDK: Your LLM Aide for Validation and Deployment
5
+ Author-email: lemonade@amd.com
6
+ Requires-Python: >=3.10, <3.13
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ License-File: NOTICE.md
10
+ Requires-Dist: invoke>=2.0.0
11
+ Requires-Dist: onnx<1.18.0,>=1.11.0
12
+ Requires-Dist: pyyaml>=5.4
13
+ Requires-Dist: typeguard>=2.3.13
14
+ Requires-Dist: packaging>=20.9
15
+ Requires-Dist: numpy<2.0.0
16
+ Requires-Dist: fasteners
17
+ Requires-Dist: GitPython>=3.1.40
18
+ Requires-Dist: psutil>=6.1.1
19
+ Requires-Dist: wmi
20
+ Requires-Dist: py-cpuinfo
21
+ Requires-Dist: pytz
22
+ Requires-Dist: zstandard
23
+ Requires-Dist: fastapi
24
+ Requires-Dist: uvicorn[standard]
25
+ Requires-Dist: openai>=1.81.0
26
+ Requires-Dist: transformers<=4.51.3
27
+ Requires-Dist: jinja2
28
+ Requires-Dist: tabulate
29
+ Requires-Dist: sentencepiece
30
+ Requires-Dist: huggingface-hub==0.33.0
31
+ Provides-Extra: oga-hybrid
32
+ Requires-Dist: onnx==1.16.1; extra == "oga-hybrid"
33
+ Requires-Dist: numpy==1.26.4; extra == "oga-hybrid"
34
+ Requires-Dist: protobuf>=6.30.1; extra == "oga-hybrid"
35
+ Provides-Extra: oga-cpu
36
+ Requires-Dist: onnxruntime-genai==0.8.2; extra == "oga-cpu"
37
+ Requires-Dist: onnxruntime>=1.22.0; extra == "oga-cpu"
38
+ Provides-Extra: dev
39
+ Requires-Dist: torch>=2.6.0; extra == "dev"
40
+ Requires-Dist: accelerate; extra == "dev"
41
+ Requires-Dist: datasets; extra == "dev"
42
+ Requires-Dist: pandas>=1.5.3; extra == "dev"
43
+ Requires-Dist: matplotlib; extra == "dev"
44
+ Requires-Dist: human-eval-windows==1.0.4; extra == "dev"
45
+ Requires-Dist: lm-eval[api]; extra == "dev"
46
+ Provides-Extra: oga-hybrid-minimal
47
+ Requires-Dist: lemonade-sdk[oga-hybrid]; extra == "oga-hybrid-minimal"
48
+ Provides-Extra: oga-cpu-minimal
49
+ Requires-Dist: lemonade-sdk[oga-cpu]; extra == "oga-cpu-minimal"
50
+ Provides-Extra: llm
51
+ Requires-Dist: lemonade-sdk[dev]; extra == "llm"
52
+ Provides-Extra: llm-oga-cpu
53
+ Requires-Dist: lemonade-sdk[dev,oga-cpu]; extra == "llm-oga-cpu"
54
+ Provides-Extra: llm-oga-igpu
55
+ Requires-Dist: onnxruntime-genai-directml==0.6.0; extra == "llm-oga-igpu"
56
+ Requires-Dist: onnxruntime-directml<1.22.0,>=1.19.0; extra == "llm-oga-igpu"
57
+ Requires-Dist: transformers<4.45.0; extra == "llm-oga-igpu"
58
+ Requires-Dist: lemonade-sdk[dev]; extra == "llm-oga-igpu"
59
+ Provides-Extra: llm-oga-cuda
60
+ Requires-Dist: onnxruntime-genai-cuda==0.8.2; extra == "llm-oga-cuda"
61
+ Requires-Dist: onnxruntime-gpu>=1.22.0; extra == "llm-oga-cuda"
62
+ Requires-Dist: transformers<=4.51.3; extra == "llm-oga-cuda"
63
+ Requires-Dist: lemonade-sdk[dev]; extra == "llm-oga-cuda"
64
+ Provides-Extra: llm-oga-npu
65
+ Requires-Dist: onnx==1.16.0; extra == "llm-oga-npu"
66
+ Requires-Dist: onnxruntime==1.18.0; extra == "llm-oga-npu"
67
+ Requires-Dist: numpy==1.26.4; extra == "llm-oga-npu"
68
+ Requires-Dist: protobuf>=6.30.1; extra == "llm-oga-npu"
69
+ Requires-Dist: lemonade-sdk[dev]; extra == "llm-oga-npu"
70
+ Provides-Extra: llm-oga-hybrid
71
+ Requires-Dist: lemonade-sdk[dev,oga-hybrid]; extra == "llm-oga-hybrid"
72
+ Provides-Extra: llm-oga-unified
73
+ Requires-Dist: lemonade-sdk[llm-oga-hybrid]; extra == "llm-oga-unified"
74
+ Dynamic: author-email
75
+ Dynamic: description
76
+ Dynamic: description-content-type
77
+ Dynamic: license-file
78
+ Dynamic: provides-extra
79
+ Dynamic: requires-dist
80
+ Dynamic: requires-python
81
+ Dynamic: summary
82
+
83
+ ## 🍋 Lemonade: Local LLM Serving with GPU and NPU acceleration
84
+
85
+ <p align="center">
86
+ <a href="https://discord.gg/5xXzkMu8Zk">
87
+ <img src="https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white" alt="Discord" />
88
+ </a>
89
+ <a href="https://github.com/lemonade-sdk/lemonade/tree/main/test" title="Check out our tests">
90
+ <img src="https://github.com/lemonade-sdk/lemonade/actions/workflows/test_lemonade.yml/badge.svg" alt="Lemonade tests" />
91
+ </a>
92
+ <a href="docs/README.md#installation" title="Check out our instructions">
93
+ <img src="https://img.shields.io/badge/Windows-11-0078D6?logo=windows&logoColor=white" alt="Windows 11" />
94
+ </a>
95
+ <a href="https://lemonade-server.ai/#linux" title="Ubuntu 24.04 & 25.04 Supported">
96
+ <img src="https://img.shields.io/badge/Ubuntu-24.04%20%7C%2025.04-E95420?logo=ubuntu&logoColor=white" alt="Ubuntu 24.04 | 25.04" />
97
+ </a>
98
+ <a href="docs/README.md#installation" title="Check out our instructions">
99
+ <img src="https://img.shields.io/badge/Python-3.10%20%7C%203.12-blue?logo=python&logoColor=white" alt="Made with Python" />
100
+ </a>
101
+ <a href="https://github.com/lemonade-sdk/lemonade/blob/main/docs/contribute.md" title="Contribution Guide">
102
+ <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome" />
103
+ </a>
104
+ <a href="https://github.com/lemonade-sdk/lemonade/releases/latest" title="Download the latest release">
105
+ <img src="https://img.shields.io/github/v/release/lemonade-sdk/lemonade?include_prereleases" alt="Latest Release" />
106
+ </a>
107
+ <a href="https://tooomm.github.io/github-release-stats/?username=lemonade-sdk&repository=lemonade">
108
+ <img src="https://img.shields.io/github/downloads/lemonade-sdk/lemonade/total.svg" alt="GitHub downloads" />
109
+ </a>
110
+ <a href="https://github.com/lemonade-sdk/lemonade/issues">
111
+ <img src="https://img.shields.io/github/issues/lemonade-sdk/lemonade" alt="GitHub issues" />
112
+ </a>
113
+ <a href="https://github.com/lemonade-sdk/lemonade/blob/main/LICENSE">
114
+ <img src="https://img.shields.io/badge/License-Apache-yellow.svg" alt="License: Apache" />
115
+ </a>
116
+ <a href="https://github.com/psf/black">
117
+ <img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black" />
118
+ </a>
119
+ <a href="https://star-history.com/#lemonade-sdk/lemonade">
120
+ <img src="https://img.shields.io/badge/Star%20History-View-brightgreen" alt="Star History Chart" />
121
+ </a>
122
+ </p>
123
+ <p align="center">
124
+ <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/banner.png?raw=true" alt="Lemonade Banner" />
125
+ </p>
126
+ <h3 align="center">
127
+ <a href="https://lemonade-server.ai">Download</a> |
128
+ <a href="https://lemonade-server.ai/docs/">Documentation</a> |
129
+ <a href="https://discord.gg/5xXzkMu8Zk">Discord</a>
130
+ </h3>
131
+
132
+ Lemonade makes it easy to run Large Language Models (LLMs) on your PC. Our focus is using the best tools, such as neural processing units (NPUs) and Vulkan GPU acceleration, to maximize LLM speed and responsiveness.
133
+
134
+ ## Getting Started
135
+
136
+ <div align="center">
137
+
138
+ | Step 1: Download & Install | Step 2: Launch and Pull Models | Step 3: Start chatting! |
139
+ |:---------------------------:|:-------------------------------:|:------------------------:|
140
+ | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/install.gif?raw=true" alt="Download & Install" width="245" /> | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/launch_and_pull.gif?raw=true" alt="Launch and Pull Models" width="245" /> | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/chat.gif?raw=true" alt="Start chatting!" width="245" /> |
141
+ |Install using a [GUI](https://github.com/lemonade-sdk/lemonade/releases/latest/download/Lemonade_Server_Installer.exe) (Windows only), [pip](https://lemonade-server.ai/install_options.html), or [from source](https://lemonade-server.ai/install_options.html). |Use the [Model Manager](#model-library) to install models|A built-in chat interface is available!|
142
+ </div>
143
+
144
+ ### Use it with your favorite OpenAI-compatible app!
145
+
146
+ <p align="center">
147
+ <a href="https://lemonade-server.ai/docs/server/apps/open-webui/" title="Open WebUI" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/openwebui.jpg" alt="Open WebUI" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/continue/" title="Continue" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/continue_dev.png" alt="Continue" width="60" /></a>&nbsp;&nbsp;<a href="https://github.com/amd/gaia" title="Gaia" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/gaia.ico" alt="Gaia" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/anythingLLM/" title="AnythingLLM" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/anything_llm.png" alt="AnythingLLM" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/ai-dev-gallery/" title="AI Dev Gallery" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/ai_dev_gallery.webp" alt="AI Dev Gallery" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/lm-eval/" title="LM-Eval" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/lm_eval.png" alt="LM-Eval" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/codeGPT/" title="CodeGPT" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/codegpt.jpg" alt="CodeGPT" width="60" /></a>&nbsp;&nbsp;<a href="https://github.com/lemonade-sdk/lemonade/blob/main/docs/server/apps/ai-toolkit.md" title="AI Toolkit" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/ai_toolkit.png" alt="AI Toolkit" width="60" /></a>
148
+ </p>
149
+
150
+ > [!TIP]
151
+ > Want your app featured here? Let's do it! Shoot us a message on [Discord](https://discord.gg/5xXzkMu8Zk), [create an issue](https://github.com/lemonade-sdk/lemonade/issues), or email lemonade@amd.com.
152
+
153
+ ## Using the CLI
154
+
155
+ To run and chat with Gemma 3:
156
+
157
+ ```
158
+ lemonade-server run Gemma-3-4b-it-GGUF
159
+ ```
160
+
161
+ To install models ahead of time, use the `pull` command:
162
+
163
+ ```
164
+ lemonade-server pull Gemma-3-4b-it-GGUF
165
+ ```
166
+
167
+ To check all models available, use the `list` command:
168
+
169
+ ```
170
+ lemonade-server list
171
+ ```
172
+
173
+ > Note: If you installed from source, use the `lemonade-server-dev` command instead.
174
+
175
+ ## Model Library
176
+
177
+ Lemonade supports both GGUF and ONNX models as detailed in the [Supported Configuration](#supported-configurations) section. A list of all built-in models is available [here](https://lemonade-server.ai/docs/server/models/).
178
+
179
+ You can also import custom GGUF and ONNX models from Hugging Face by using our [Model Manager](http://localhost:8000/#model-management) (requires server to be running).
180
+ <p align="center">
181
+ <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/model_manager.png?raw=true" alt="Model Manager" width="650" />
182
+ </p>
183
+
184
+ ## Supported Configurations
185
+
186
+ Lemonade supports the following configurations, while also making it easy to switch between them at runtime. Find more information about it [here](./docs/README.md#software-and-hardware-overview).
187
+
188
+ <table>
189
+ <thead>
190
+ <tr>
191
+ <th rowspan="2">Hardware</th>
192
+ <th colspan="3" align="center">🛠️ Engine Support</th>
193
+ <th colspan="2" align="center">🖥️ OS (x86/x64)</th>
194
+ </tr>
195
+ <tr>
196
+ <th align="center">OGA</th>
197
+ <th align="center">llamacpp</th>
198
+ <th align="center">HF</th>
199
+ <th align="center">Windows</th>
200
+ <th align="center">Linux</th>
201
+ </tr>
202
+ </thead>
203
+ <tbody>
204
+ <tr>
205
+ <td><strong>🧠 CPU</strong></td>
206
+ <td align="center">All platforms</td>
207
+ <td align="center">All platforms</td>
208
+ <td align="center">All platforms</td>
209
+ <td align="center">✅</td>
210
+ <td align="center">✅</td>
211
+ </tr>
212
+ <tr>
213
+ <td><strong>🎮 GPU</strong></td>
214
+ <td align="center">—</td>
215
+ <td align="center">Vulkan: All platforms<br><small>Focus:<br/>Ryzen™ AI 7000/8000/300<br/>Radeon™ 7000/9000</small></td>
216
+ <td align="center">—</td>
217
+ <td align="center">✅</td>
218
+ <td align="center">✅</td>
219
+ </tr>
220
+ <tr>
221
+ <td><strong>🤖 NPU</strong></td>
222
+ <td align="center">AMD Ryzen™ AI 300 series</td>
223
+ <td align="center">—</td>
224
+ <td align="center">—</td>
225
+ <td align="center">✅</td>
226
+ <td align="center">—</td>
227
+ </tr>
228
+ </tbody>
229
+ </table>
230
+
231
+
232
+ ## Integrate Lemonade Server with Your Application
233
+
234
+ You can use any OpenAI-compatible client library by configuring it to use `http://localhost:8000/api/v1` as the base URL. A table containing official and popular OpenAI clients on different languages is shown below.
235
+
236
+ Feel free to pick and choose your preferred language.
237
+
238
+
239
+ | Python | C++ | Java | C# | Node.js | Go | Ruby | Rust | PHP |
240
+ |--------|-----|------|----|---------|----|-------|------|-----|
241
+ | [openai-python](https://github.com/openai/openai-python) | [openai-cpp](https://github.com/olrea/openai-cpp) | [openai-java](https://github.com/openai/openai-java) | [openai-dotnet](https://github.com/openai/openai-dotnet) | [openai-node](https://github.com/openai/openai-node) | [go-openai](https://github.com/sashabaranov/go-openai) | [ruby-openai](https://github.com/alexrudall/ruby-openai) | [async-openai](https://github.com/64bit/async-openai) | [openai-php](https://github.com/openai-php/client) |
242
+
243
+
244
+ ### Python Client Example
245
+ ```python
246
+ from openai import OpenAI
247
+
248
+ # Initialize the client to use Lemonade Server
249
+ client = OpenAI(
250
+ base_url="http://localhost:8000/api/v1",
251
+ api_key="lemonade" # required but unused
252
+ )
253
+
254
+ # Create a chat completion
255
+ completion = client.chat.completions.create(
256
+ model="Llama-3.2-1B-Instruct-Hybrid", # or any other available model
257
+ messages=[
258
+ {"role": "user", "content": "What is the capital of France?"}
259
+ ]
260
+ )
261
+
262
+ # Print the response
263
+ print(completion.choices[0].message.content)
264
+ ```
265
+
266
+ For more detailed integration instructions, see the [Integration Guide](./server_integration.md).
267
+
268
+ ## Beyond an LLM Server
269
+
270
+ The [Lemonade SDK](./docs/README.md) also include the following components:
271
+
272
+ - 🐍 **[Lemonade API](./docs/lemonade_api.md)**: High-level Python API to directly integrate Lemonade LLMs into Python applications.
273
+ - 🖥️ **[Lemonade CLI](./docs/dev_cli/README.md)**: The `lemonade` CLI lets you mix-and-match LLMs (ONNX, GGUF, SafeTensors) with prompting templates, accuracy testing, performance benchmarking, and memory profiling to characterize your models on your hardware.
274
+
275
+ ## Contributing
276
+
277
+ We are actively seeking collaborators from across the industry. If you would like to contribute to this project, please check out our [contribution guide](./docs/contribute.md).
278
+
279
+ New contributors can find beginner-friendly issues tagged with "Good First Issue" to get started.
280
+
281
+ <a href="https://github.com/lemonade-sdk/lemonade/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">
282
+ <img src="https://img.shields.io/badge/🍋Lemonade-Good%20First%20Issue-yellowgreen?colorA=38b000&colorB=cccccc" alt="Good First Issue" />
283
+ </a>
284
+
285
+ ## Maintainers
286
+
287
+ This project is sponsored by AMD. It is maintained by @danielholanda @jeremyfowers @ramkrishna @vgodsoe in equal measure. You can reach us by filing an [issue](https://github.com/lemonade-sdk/lemonade/issues), email [lemonade@amd.com](mailto:lemonade@amd.com), or join our [Discord](https://discord.gg/5xXzkMu8Zk).
288
+
289
+ ## License
290
+
291
+ This project is licensed under the [Apache 2.0 License](https://github.com/lemonade-sdk/lemonade/blob/main/LICENSE). Portions of the project are licensed as described in [NOTICE.md](./NOTICE.md).
292
+
293
+ <!--This file was originally licensed under Apache 2.0. It has been modified.
294
+ Modifications Copyright (c) 2025 AMD-->
295
+
@@ -0,0 +1,213 @@
1
+ ## 🍋 Lemonade: Local LLM Serving with GPU and NPU acceleration
2
+
3
+ <p align="center">
4
+ <a href="https://discord.gg/5xXzkMu8Zk">
5
+ <img src="https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white" alt="Discord" />
6
+ </a>
7
+ <a href="https://github.com/lemonade-sdk/lemonade/tree/main/test" title="Check out our tests">
8
+ <img src="https://github.com/lemonade-sdk/lemonade/actions/workflows/test_lemonade.yml/badge.svg" alt="Lemonade tests" />
9
+ </a>
10
+ <a href="docs/README.md#installation" title="Check out our instructions">
11
+ <img src="https://img.shields.io/badge/Windows-11-0078D6?logo=windows&logoColor=white" alt="Windows 11" />
12
+ </a>
13
+ <a href="https://lemonade-server.ai/#linux" title="Ubuntu 24.04 & 25.04 Supported">
14
+ <img src="https://img.shields.io/badge/Ubuntu-24.04%20%7C%2025.04-E95420?logo=ubuntu&logoColor=white" alt="Ubuntu 24.04 | 25.04" />
15
+ </a>
16
+ <a href="docs/README.md#installation" title="Check out our instructions">
17
+ <img src="https://img.shields.io/badge/Python-3.10%20%7C%203.12-blue?logo=python&logoColor=white" alt="Made with Python" />
18
+ </a>
19
+ <a href="https://github.com/lemonade-sdk/lemonade/blob/main/docs/contribute.md" title="Contribution Guide">
20
+ <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome" />
21
+ </a>
22
+ <a href="https://github.com/lemonade-sdk/lemonade/releases/latest" title="Download the latest release">
23
+ <img src="https://img.shields.io/github/v/release/lemonade-sdk/lemonade?include_prereleases" alt="Latest Release" />
24
+ </a>
25
+ <a href="https://tooomm.github.io/github-release-stats/?username=lemonade-sdk&repository=lemonade">
26
+ <img src="https://img.shields.io/github/downloads/lemonade-sdk/lemonade/total.svg" alt="GitHub downloads" />
27
+ </a>
28
+ <a href="https://github.com/lemonade-sdk/lemonade/issues">
29
+ <img src="https://img.shields.io/github/issues/lemonade-sdk/lemonade" alt="GitHub issues" />
30
+ </a>
31
+ <a href="https://github.com/lemonade-sdk/lemonade/blob/main/LICENSE">
32
+ <img src="https://img.shields.io/badge/License-Apache-yellow.svg" alt="License: Apache" />
33
+ </a>
34
+ <a href="https://github.com/psf/black">
35
+ <img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black" />
36
+ </a>
37
+ <a href="https://star-history.com/#lemonade-sdk/lemonade">
38
+ <img src="https://img.shields.io/badge/Star%20History-View-brightgreen" alt="Star History Chart" />
39
+ </a>
40
+ </p>
41
+ <p align="center">
42
+ <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/banner.png?raw=true" alt="Lemonade Banner" />
43
+ </p>
44
+ <h3 align="center">
45
+ <a href="https://lemonade-server.ai">Download</a> |
46
+ <a href="https://lemonade-server.ai/docs/">Documentation</a> |
47
+ <a href="https://discord.gg/5xXzkMu8Zk">Discord</a>
48
+ </h3>
49
+
50
+ Lemonade makes it easy to run Large Language Models (LLMs) on your PC. Our focus is using the best tools, such as neural processing units (NPUs) and Vulkan GPU acceleration, to maximize LLM speed and responsiveness.
51
+
52
+ ## Getting Started
53
+
54
+ <div align="center">
55
+
56
+ | Step 1: Download & Install | Step 2: Launch and Pull Models | Step 3: Start chatting! |
57
+ |:---------------------------:|:-------------------------------:|:------------------------:|
58
+ | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/install.gif?raw=true" alt="Download & Install" width="245" /> | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/launch_and_pull.gif?raw=true" alt="Launch and Pull Models" width="245" /> | <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/chat.gif?raw=true" alt="Start chatting!" width="245" /> |
59
+ |Install using a [GUI](https://github.com/lemonade-sdk/lemonade/releases/latest/download/Lemonade_Server_Installer.exe) (Windows only), [pip](https://lemonade-server.ai/install_options.html), or [from source](https://lemonade-server.ai/install_options.html). |Use the [Model Manager](#model-library) to install models|A built-in chat interface is available!|
60
+ </div>
61
+
62
+ ### Use it with your favorite OpenAI-compatible app!
63
+
64
+ <p align="center">
65
+ <a href="https://lemonade-server.ai/docs/server/apps/open-webui/" title="Open WebUI" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/openwebui.jpg" alt="Open WebUI" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/continue/" title="Continue" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/continue_dev.png" alt="Continue" width="60" /></a>&nbsp;&nbsp;<a href="https://github.com/amd/gaia" title="Gaia" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/gaia.ico" alt="Gaia" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/anythingLLM/" title="AnythingLLM" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/anything_llm.png" alt="AnythingLLM" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/ai-dev-gallery/" title="AI Dev Gallery" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/ai_dev_gallery.webp" alt="AI Dev Gallery" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/lm-eval/" title="LM-Eval" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/lm_eval.png" alt="LM-Eval" width="60" /></a>&nbsp;&nbsp;<a href="https://lemonade-server.ai/docs/server/apps/codeGPT/" title="CodeGPT" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/codegpt.jpg" alt="CodeGPT" width="60" /></a>&nbsp;&nbsp;<a href="https://github.com/lemonade-sdk/lemonade/blob/main/docs/server/apps/ai-toolkit.md" title="AI Toolkit" target="_blank"><img src="https://raw.githubusercontent.com/lemonade-sdk/assets/refs/heads/main/partner_logos/ai_toolkit.png" alt="AI Toolkit" width="60" /></a>
66
+ </p>
67
+
68
+ > [!TIP]
69
+ > Want your app featured here? Let's do it! Shoot us a message on [Discord](https://discord.gg/5xXzkMu8Zk), [create an issue](https://github.com/lemonade-sdk/lemonade/issues), or email lemonade@amd.com.
70
+
71
+ ## Using the CLI
72
+
73
+ To run and chat with Gemma 3:
74
+
75
+ ```
76
+ lemonade-server run Gemma-3-4b-it-GGUF
77
+ ```
78
+
79
+ To install models ahead of time, use the `pull` command:
80
+
81
+ ```
82
+ lemonade-server pull Gemma-3-4b-it-GGUF
83
+ ```
84
+
85
+ To check all models available, use the `list` command:
86
+
87
+ ```
88
+ lemonade-server list
89
+ ```
90
+
91
+ > Note: If you installed from source, use the `lemonade-server-dev` command instead.
92
+
93
+ ## Model Library
94
+
95
+ Lemonade supports both GGUF and ONNX models as detailed in the [Supported Configuration](#supported-configurations) section. A list of all built-in models is available [here](https://lemonade-server.ai/docs/server/models/).
96
+
97
+ You can also import custom GGUF and ONNX models from Hugging Face by using our [Model Manager](http://localhost:8000/#model-management) (requires server to be running).
98
+ <p align="center">
99
+ <img src="https://github.com/lemonade-sdk/assets/blob/main/docs/model_manager.png?raw=true" alt="Model Manager" width="650" />
100
+ </p>
101
+
102
+ ## Supported Configurations
103
+
104
+ Lemonade supports the following configurations, while also making it easy to switch between them at runtime. Find more information about it [here](./docs/README.md#software-and-hardware-overview).
105
+
106
+ <table>
107
+ <thead>
108
+ <tr>
109
+ <th rowspan="2">Hardware</th>
110
+ <th colspan="3" align="center">🛠️ Engine Support</th>
111
+ <th colspan="2" align="center">🖥️ OS (x86/x64)</th>
112
+ </tr>
113
+ <tr>
114
+ <th align="center">OGA</th>
115
+ <th align="center">llamacpp</th>
116
+ <th align="center">HF</th>
117
+ <th align="center">Windows</th>
118
+ <th align="center">Linux</th>
119
+ </tr>
120
+ </thead>
121
+ <tbody>
122
+ <tr>
123
+ <td><strong>🧠 CPU</strong></td>
124
+ <td align="center">All platforms</td>
125
+ <td align="center">All platforms</td>
126
+ <td align="center">All platforms</td>
127
+ <td align="center">✅</td>
128
+ <td align="center">✅</td>
129
+ </tr>
130
+ <tr>
131
+ <td><strong>🎮 GPU</strong></td>
132
+ <td align="center">—</td>
133
+ <td align="center">Vulkan: All platforms<br><small>Focus:<br/>Ryzen™ AI 7000/8000/300<br/>Radeon™ 7000/9000</small></td>
134
+ <td align="center">—</td>
135
+ <td align="center">✅</td>
136
+ <td align="center">✅</td>
137
+ </tr>
138
+ <tr>
139
+ <td><strong>🤖 NPU</strong></td>
140
+ <td align="center">AMD Ryzen™ AI 300 series</td>
141
+ <td align="center">—</td>
142
+ <td align="center">—</td>
143
+ <td align="center">✅</td>
144
+ <td align="center">—</td>
145
+ </tr>
146
+ </tbody>
147
+ </table>
148
+
149
+
150
+ ## Integrate Lemonade Server with Your Application
151
+
152
+ You can use any OpenAI-compatible client library by configuring it to use `http://localhost:8000/api/v1` as the base URL. A table containing official and popular OpenAI clients on different languages is shown below.
153
+
154
+ Feel free to pick and choose your preferred language.
155
+
156
+
157
+ | Python | C++ | Java | C# | Node.js | Go | Ruby | Rust | PHP |
158
+ |--------|-----|------|----|---------|----|-------|------|-----|
159
+ | [openai-python](https://github.com/openai/openai-python) | [openai-cpp](https://github.com/olrea/openai-cpp) | [openai-java](https://github.com/openai/openai-java) | [openai-dotnet](https://github.com/openai/openai-dotnet) | [openai-node](https://github.com/openai/openai-node) | [go-openai](https://github.com/sashabaranov/go-openai) | [ruby-openai](https://github.com/alexrudall/ruby-openai) | [async-openai](https://github.com/64bit/async-openai) | [openai-php](https://github.com/openai-php/client) |
160
+
161
+
162
+ ### Python Client Example
163
+ ```python
164
+ from openai import OpenAI
165
+
166
+ # Initialize the client to use Lemonade Server
167
+ client = OpenAI(
168
+ base_url="http://localhost:8000/api/v1",
169
+ api_key="lemonade" # required but unused
170
+ )
171
+
172
+ # Create a chat completion
173
+ completion = client.chat.completions.create(
174
+ model="Llama-3.2-1B-Instruct-Hybrid", # or any other available model
175
+ messages=[
176
+ {"role": "user", "content": "What is the capital of France?"}
177
+ ]
178
+ )
179
+
180
+ # Print the response
181
+ print(completion.choices[0].message.content)
182
+ ```
183
+
184
+ For more detailed integration instructions, see the [Integration Guide](./server_integration.md).
185
+
186
+ ## Beyond an LLM Server
187
+
188
+ The [Lemonade SDK](./docs/README.md) also include the following components:
189
+
190
+ - 🐍 **[Lemonade API](./docs/lemonade_api.md)**: High-level Python API to directly integrate Lemonade LLMs into Python applications.
191
+ - 🖥️ **[Lemonade CLI](./docs/dev_cli/README.md)**: The `lemonade` CLI lets you mix-and-match LLMs (ONNX, GGUF, SafeTensors) with prompting templates, accuracy testing, performance benchmarking, and memory profiling to characterize your models on your hardware.
192
+
193
+ ## Contributing
194
+
195
+ We are actively seeking collaborators from across the industry. If you would like to contribute to this project, please check out our [contribution guide](./docs/contribute.md).
196
+
197
+ New contributors can find beginner-friendly issues tagged with "Good First Issue" to get started.
198
+
199
+ <a href="https://github.com/lemonade-sdk/lemonade/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">
200
+ <img src="https://img.shields.io/badge/🍋Lemonade-Good%20First%20Issue-yellowgreen?colorA=38b000&colorB=cccccc" alt="Good First Issue" />
201
+ </a>
202
+
203
+ ## Maintainers
204
+
205
+ This project is sponsored by AMD. It is maintained by @danielholanda @jeremyfowers @ramkrishna @vgodsoe in equal measure. You can reach us by filing an [issue](https://github.com/lemonade-sdk/lemonade/issues), email [lemonade@amd.com](mailto:lemonade@amd.com), or join our [Discord](https://discord.gg/5xXzkMu8Zk).
206
+
207
+ ## License
208
+
209
+ This project is licensed under the [Apache 2.0 License](https://github.com/lemonade-sdk/lemonade/blob/main/LICENSE). Portions of the project are licensed as described in [NOTICE.md](./NOTICE.md).
210
+
211
+ <!--This file was originally licensed under Apache 2.0. It has been modified.
212
+ Modifications Copyright (c) 2025 AMD-->
213
+
@@ -118,7 +118,7 @@ setup(
118
118
  "lemonade-server-dev=lemonade_server.cli:main",
119
119
  ]
120
120
  },
121
- python_requires=">=3.10, <3.12",
121
+ python_requires=">=3.10, <3.13",
122
122
  long_description=open("README.md", "r", encoding="utf-8").read(),
123
123
  long_description_content_type="text/markdown",
124
124
  include_package_data=True,
@@ -5,6 +5,11 @@ from lemonade.state import State
5
5
  import lemonade.common.printing as printing
6
6
  import lemonade.cache as cache
7
7
  from lemonade.tools.adapter import ModelAdapter, TokenizerAdapter
8
+ from lemonade.common.system_info import (
9
+ get_system_info_dict,
10
+ get_device_info_dict,
11
+ get_system_info as get_system_info_obj,
12
+ )
8
13
 
9
14
 
10
15
  class NotSupported(Exception):
@@ -121,5 +126,50 @@ def from_pretrained(
121
126
  _raise_not_supported(recipe, checkpoint)
122
127
 
123
128
 
129
+ def get_system_info(verbose: bool = False) -> Dict:
130
+ """
131
+ Get comprehensive system information including hardware details and device information.
132
+
133
+ Returns:
134
+ dict: Complete system information including:
135
+ - Basic system info (OS, processor, memory, BIOS, etc.).
136
+ - Device information (CPU, AMD iGPU, AMD dGPU, NPU).
137
+ - Inference engine availability per device.
138
+ - Python package versions (verbose mode only).
139
+ """
140
+
141
+ # Get basic system info
142
+ info = get_system_info_dict()
143
+
144
+ # Add device information
145
+ info["Devices"] = get_device_info_dict()
146
+
147
+ # Filter out verbose-only information if not in verbose mode
148
+ if not verbose:
149
+ essential_keys = ["OS Version", "Processor", "Physical Memory", "Devices"]
150
+ info = {k: v for k, v in info.items() if k in essential_keys}
151
+ else:
152
+ # In verbose mode, add Python packages at the end
153
+ system_info_obj = get_system_info_obj()
154
+ info["Python Packages"] = system_info_obj.get_python_packages()
155
+
156
+ return info
157
+
158
+
159
+ def get_device_info() -> Dict:
160
+ """
161
+ Get device information including CPU, AMD iGPU, AMD dGPU, and NPU details.
162
+
163
+ Returns:
164
+ dict: Device information including:
165
+ - cpu: CPU details with inference engine availability.
166
+ - amd_igpu: AMD integrated GPU information.
167
+ - amd_dgpu: List of AMD discrete GPU information.
168
+ - npu: NPU information.
169
+ """
170
+
171
+ return get_device_info_dict()
172
+
173
+
124
174
  # This file was originally licensed under Apache 2.0. It has been modified.
125
175
  # Modifications Copyright (c) 2025 AMD