whichllm插件开发指南:构建自定义硬件探测器与模型评分模块

【免费下载链接】whichllm Find the local LLM that actually runs and performs best on your hardware. Ranked by real, recency-aware benchmarks, not parameter count. One command, run it instantly. 【免费下载链接】whichllm 项目地址: https://gitcode.com/GitHub_Trending/wh/whichllm

whichllm是一款能够帮助用户找到在本地硬件上实际运行并表现最佳的LLM的工具,它通过真实、具有时效性的基准测试进行排名,而非仅仅依据参数数量,只需一个命令即可立即运行。本指南将带你了解如何为whichllm开发自定义硬件探测器与模型评分模块,让你能够根据自己的需求扩展其功能。

硬件探测器开发基础

硬件探测器是whichllm的核心组件之一,它负责识别用户的硬件配置,为后续的模型推荐提供依据。在whichllm的源码中,硬件探测相关的代码主要集中在src/whichllm/hardware/目录下。

探测器结构解析

硬件探测器包含多个针对不同硬件类型和操作系统的模块,如针对AMD显卡的amd.py、针对NVIDIA显卡的nvidia.py、针对CPU的cpu.py等。每个模块都包含了相应的探测函数,例如detect_amd_gpus()用于检测AMD显卡信息,detect_cpu_name()用于获取CPU名称。

whichllm硬件信息与推荐模型展示

开发自定义硬件探测器步骤

  1. 确定探测目标:明确你要探测的硬件类型,如特定型号的GPU、FPGA等。
  2. 收集硬件信息来源:了解从何处获取该硬件的信息,可能是系统命令、硬件驱动接口或特定的API。
  3. 编写探测函数:参考现有探测器的代码结构,编写获取硬件信息的函数。例如,若要探测特定的FPGA设备,可以编写类似detect_custom_fpga()的函数。
  4. 整合到硬件信息类:将探测到的硬件信息整理成符合GPUInfo或其他相关类型的对象,以便后续处理。

模型评分模块开发详解

模型评分模块决定了whichllm如何对不同的LLM模型进行评估和排名,其核心代码位于src/whichllm/engine/目录,特别是ranker.py文件。

评分机制核心函数

ranker.py中,rank_models()函数是模型评分和排名的核心。该函数综合考虑了模型的性能、兼容性、质量等多个因素,最终生成模型推荐列表。此外,还有_compute_quality_score()等辅助函数用于计算模型的质量得分。

自定义评分模块开发要点

  1. 定义评分指标:根据你的需求确定新的评分指标,如模型的能耗效率、特定任务的准确率等。
  2. 实现评分计算:编写函数来计算新定义的评分指标。例如,可以实现_energy_efficiency_score(model, hardware)函数来评估模型的能耗效率。
  3. 调整权重分配:在rank_models()函数中,为新的评分指标分配适当的权重,以影响最终的排名结果。
  4. 测试与优化:使用现有的测试用例或新的测试数据来验证自定义评分模块的效果,并根据测试结果进行优化。

插件集成与测试

插件集成方法

将开发好的自定义硬件探测器和模型评分模块集成到whichllm中,需要按照以下步骤进行:

  1. 放置插件文件:将相关的Python文件放置到对应的目录,如硬件探测器放到src/whichllm/hardware/,评分模块放到src/whichllm/engine/
  2. 修改配置文件:如果需要,修改相应的配置文件,以启用新的探测器或评分模块。
  3. 更新依赖关系:确保新开发的插件所依赖的库已经安装,必要时更新pyproject.toml文件。

测试插件功能

为了确保自定义插件能够正常工作,需要进行充分的测试:

  1. 单元测试:为新开发的函数编写单元测试,参考tests/目录下的现有测试文件,如test_gpu_db.py
  2. 集成测试:运行whichllm的整体流程,检查新的硬件探测器是否能正确识别硬件,模型评分模块是否能生成合理的推荐结果。
  3. 性能测试:评估添加自定义插件后,whichllm的运行性能是否受到影响,如探测时间、评分速度等。

通过以上步骤,你可以成功开发并集成自定义的硬件探测器与模型评分模块,扩展whichllm的功能,使其更符合你的特定需求。希望本指南对你有所帮助,祝你开发顺利!

【免费下载链接】whichllm Find the local LLM that actually runs and performs best on your hardware. Ranked by real, recency-aware benchmarks, not parameter count. One command, run it instantly. 【免费下载链接】whichllm 项目地址: https://gitcode.com/GitHub_Trending/wh/whichllm

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐