LlaMa-Factory源码解析之 setup.py 24.7月最新版entry_points={“console_scripts“: [“llamafactory-cli

2024.7月最新版:定义了llamafactory-cli

import os
import re

from setuptools import find_packages, setup


def get_version():
    with open(os.path.join("src", "llamafactory", "extras", "env.py"), "r", encoding="utf-8") as f:
        file_content = f.read()
        pattern = r"{}\W*=\W*\"([^\"]+)\"".format("VERSION")
        (version,) = re.findall(pattern, file_content)
        return version


def get_requires():
    with open("requirements.txt", "r", encoding="utf-8") as f:
        file_content = f.read()
        lines = [line.strip() for line in file_content.strip().split("\n") if not line.startswith("#")
<think>好的,我现在需要帮助用户解决在Llama-Factory中配置和注册自定义数据集格式的问题。根据用户提供的引用内容,我需要先理清步骤,并确保正确引用相关信息。 首先,用户提到需要在dataset_info.json文件中配置数据集。引用[1]和[3]都提到了这一点。步骤应该包括计算数据文件的SHA1值,然后在dataset_info.json中添加对应的配置项。具体来说,用户需要运行sha1sum命令获取哈希值,然后在json文件中创建新的条目,指定数据集名称、文件名称和列映射。 接下来,用户可能需要知道列映射的具体格式,这里引用[3]给出了示例,说明如何将数据集的字段对应到模型的prompt、query、response等列。需要确保用户正确填写columns部分,特别是如果数据中有图片或其他字段的话。 然后,用户可能还想了解如何在实际训练中使用这个配置好的数据集。引用[2]提到了使用命令行工具进行lora微调,指定对应的配置文件。因此,在回答中应该提到如何通过训练命令调用配置好的数据集名称。 另外,需要注意用户的问题中提到了“data_info.”,可能是指dataset_info.json文件,需要确认这一点,避免用户混淆文件名。同时,提醒用户注意json格式的正确性,比如使用正确的引号和逗号,避免语法错误。 最后,用户可能需要一些验证步骤,比如检查配置是否正确,运行训练时是否成功加载数据集。这部分可以建议用户查看训练日志或进行简单的测试运行。 总结下来,回答的结构应该是分步骤说明配置过程,包括计算SHA1、编辑dataset_info.json、列映射设置,以及训练时的使用方法。同时,引用相关的引用内容作为支持,并指出常见注意事项,如文件路径、json格式等。</think>在Llama-Factory中注册自定义数据集格式需要通过`dataset_info.json`文件进行配置,以下是具体步骤: ### 1. 计算数据文件SHA1值 通过终端执行命令生成数据文件的哈希标识: ```bash sha1sum diy.json ``` 输出结果格式为`[40位哈希值] diy.json`,需记录该哈希值[^1]。 ### 2. 配置数据集信息 在`dataset_info.json`中添加如下配置: ```json { "diy": { "file_name": "diy.json", "file_sha1": "[上一步生成的40位哈希值]", "columns": { "prompt": "instruction", "query": "input", "response": "output", "images": "images" } } } ``` 其中: - `"diy"`为自定义数据集名称 - `columns`定义字段映射关系,需与数据文件中的键名对应[^3] - 若数据不含图片字段,可删除`images`映射 ### 3. 训练时调用数据集 在训练命令中指定配置好的数据集名称: ```bash llamafactory-cli train examples/train_lora/mytrain_lora_sft.yaml --dataset_name diy ``` 该命令会基于`mytrain_lora_sft.yaml`配置文件加载`diy`数据集进行Lora微调[^2]。 §§ 1. 数据文件需存放在`data`目录下 2. JSON文件格式需符合Llama-Factory规范,包含`instruction`/`input`/`output`等字段 3. 若修改数据文件需重新计算SHA1值并更新配置
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值