Closed Suiji12 closed 7 months ago
您好,我是想做一个垂直领域的embedding模型,微调之后 利用这个embedding模型结合大模型再进行回答问题的,
还有就是,在运行train_embedding.py的时候报错: File "E:\jjx\RAG-Retrieval\rag-retrieval\embedding\train_embedding.py", line 179, in
看起来是训练数据的问题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
您好,我是想做一个垂直领域的embedding模型,微调之后 利用这个embedding模型结合大模型再进行回答问题的,
明白,那建议利用大模型为垂直领域构造一批数据集,比如下面是RAFT论文中输入一个content生成query的例子。然后把query,content当做query和正例,来微调垂直领域的BGE-embedding等模型。
{"role": "system", "content": "You are a synthetic question-answer pair generator. Given a chunk of context about some topic(s), generate %s example questions a user could ask and would be answered using information from the chunk. For example, if the given context was a Wikipedia paragraph about the United States, an example question could be 'How many states are in the United States?'" % (x)},
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
您好,我是想做一个垂直领域的embedding模型,微调之后 利用这个embedding模型结合大模型再进行回答问题的,
明白,那建议利用大模型为垂直领域构造一批数据集,比如下面是RAFT论文中输入一个content生成query的例子。然后把query,content当做query和正例,来微调垂直领域的BGE-embedding等模型。
{"role": "system", "content": "You are a synthetic question-answer pair generator. Given a chunk of context about some topic(s), generate %s example questions a user could ask and would be answered using information from the chunk. For example, if the given context was a Wikipedia paragraph about the United States, an example question could be 'How many states are in the United States?'" % (x)},
请问这个有相关的代码吗?
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
您好,我是想做一个垂直领域的embedding模型,微调之后 利用这个embedding模型结合大模型再进行回答问题的,
明白,那建议利用大模型为垂直领域构造一批数据集,比如下面是RAFT论文中输入一个content生成query的例子。然后把query,content当做query和正例,来微调垂直领域的BGE-embedding等模型。 {"role": "system", "content": "You are a synthetic question-answer pair generator. Given a chunk of context about some topic(s), generate %s example questions a user could ask and would be answered using information from the chunk. For example, if the given context was a Wikipedia paragraph about the United States, an example question could be 'How many states are in the United States?'" % (x)},
请问这个有相关的代码吗?
思路就是调用chatgpt来生成,这里是一个参考: https://github.com/ShishirPatil/gorilla/blob/c1b67eed241c419f5a9929993dcb4a117b6029b5/raft/raft.py#L103
您好,我是想做一个垂直领域的embedding模型,微调之后 利用这个embedding模型结合大模型再进行回答问题的,
明白,那建议利用大模型为垂直领域构造一批数据集,比如下面是RAFT论文中输入一个content生成query的例子。然后把query,content当做query和正例,来微调垂直领域的BGE-embedding等模型。 {"role": "system", "content": "You are a synthetic question-answer pair generator. Given a chunk of context about some topic(s), generate %s example questions a user could ask and would be answered using information from the chunk. For example, if the given context was a Wikipedia paragraph about the United States, an example question could be 'How many states are in the United States?'" % (x)},
请问这个有相关的代码吗?
思路就是调用chatgpt来生成,这里是一个参考: https://github.com/ShishirPatil/gorilla/blob/c1b67eed241c419f5a9929993dcb4a117b6029b5/raft/raft.py#L103
好嘞 非常感谢您。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
2.然后在data.py的read_train_data函数下,看下为什么train_data列表里面是字符串,正常来说应该是字典。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L33
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
- 建议先直接执行data.py来debug,在下面链接这行,打印出item,看样子这个报错是item是一个字符串导致的。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L74
2.然后在data.py的read_train_data函数下,看下为什么train_data列表里面是字符串,正常来说应该是字典。
非常感谢您的回复 我觉得应该不是数据集的问题 单独的运行data.py文件: C:\Users\jiaojiaxing.conda\envs\pinggu\python.exe E:\jjx\RAG-Retrieval-master\rag-retrieval\embedding\data.py 100it [00:00, 3445.75it/s] 0%| | 0/16 [00:00<?, ?it/s]using triplet 16 0%| | 0/16 [00:00<?, ?it/s] torch.Size([32, 128]) torch.Size([32, 512]) torch.Size([480, 512])
Process finished with exit code 0 是没有问题的
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
- 建议先直接执行data.py来debug,在下面链接这行,打印出item,看样子这个报错是item是一个字符串导致的。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L74
2.然后在data.py的read_train_data函数下,看下为什么train_data列表里面是字符串,正常来说应该是字典。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L33
非常感谢您的回复 我觉得应该不是数据集的问题 单独的运行data.py文件: C:\Users\jiaojiaxing.conda\envs\pinggu\python.exe E:\jjx\RAG-Retrieval-master\rag-retrieval\embedding\data.py 100it [00:00, 3445.75it/s] 0%| | 0/16 [00:00<?, ?it/s]using triplet 16 0%| | 0/16 [00:00<?, ?it/s] torch.Size([32, 128]) torch.Size([32, 512]) torch.Size([480, 512])
Process finished with exit code 0 是没有问题的
但是运行train_embedding.py还是会报错
def triplet_collate_fn(self,batch):
all_querys = []
all_pos_docs = []
all_neg_docs = []
for item in batch:
# print(item)
all_querys.append(item['query'])
all_pos_docs.append(item['pos'])
all_neg_docs.extend(item['neg'])
all_query_tokens = self.tokenizer(all_querys,padding='max_length',truncation=True,
max_length=self.query_max_len,return_tensors='pt')
all_pos_doc_tokens = self.tokenizer(all_pos_docs,padding='max_length',truncation=True,
max_length=self.passage_max_len,return_tensors='pt')
all_neg_doc_tokens = self.tokenizer(all_neg_docs,padding='max_length',truncation=True,
max_length=self.passage_max_len,return_tensors='pt')
toekns_batch={}
toekns_batch['query_input_ids'] = all_query_tokens['input_ids']
toekns_batch['query_attention_mask'] = all_query_tokens['attention_mask']
toekns_batch['pos_doc_input_ids'] = all_pos_doc_tokens['input_ids']
toekns_batch['pos_doc_attention_mask'] = all_pos_doc_tokens['attention_mask']
toekns_batch['neg_doc_input_ids'] = all_neg_doc_tokens['input_ids']
toekns_batch['neg_doc_attention_mask'] = all_neg_doc_tokens['attention_mask']
return toekns_batch 这个是triplet_collate_fn相关的代码,
这个是degub data的结果
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
- 建议先直接执行data.py来debug,在下面链接这行,打印出item,看样子这个报错是item是一个字符串导致的。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L74
2.然后在data.py的read_train_data函数下,看下为什么train_data列表里面是字符串,正常来说应该是字典。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L33
非常感谢您的回复 我觉得应该不是数据集的问题 单独的运行data.py文件: C:\Users\jiaojiaxing.conda\envs\pinggu\python.exe E:\jjx\RAG-Retrieval-master\rag-retrieval\embedding\data.py 100it [00:00, 3445.75it/s] 0%| | 0/16 [00:00<?, ?it/s]using triplet 16 0%| | 0/16 [00:00<?, ?it/s] torch.Size([32, 128]) torch.Size([32, 512]) torch.Size([480, 512]) Process finished with exit code 0 是没有问题的
但是运行train_embedding.py还是会报错
看起来data.py报错的地方没有问题,在执行train_embedding.py的时候,继续打印出item看看呢?另外需要注意:train_embedding.py需要传递readme给出的参数。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。
看起来是训练数据的问你题,需要更多的信息,请给下您的训练数据的一条例子。 或者您尝试用默认的数据格式:../../example_data/t2rank_100.json。是否可以跑通?
数据集就是您的数据集呀,我没有动的。
我这边没遇到这个问题,您可以先git pull下,更新到最新代码。看看问题是否存在。 如果存在,请提供下您运行程序的脚本,以及embedding下面data.py文件下,EmbeddingDataset的read_train_data的实现,看着报错,是这个函数里面导致的。 代码是我昨天下载下来的 我再重新试一下 如果不行就再麻烦您吧。
- 建议先直接执行data.py来debug,在下面链接这行,打印出item,看样子这个报错是item是一个字符串导致的。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L74
2.然后在data.py的read_train_data函数下,看下为什么train_data列表里面是字符串,正常来说应该是字典。 https://github.com/NLPJCL/RAG-Retrieval/blob/50a36214abd769caa76378f55ad1e6c0e01bf296/rag-retrieval/embedding/data.py#L33
非常感谢您的回复 我觉得应该不是数据集的问题 单独的运行data.py文件: C:\Users\jiaojiaxing.conda\envs\pinggu\python.exe E:\jjx\RAG-Retrieval-master\rag-retrieval\embedding\data.py 100it [00:00, 3445.75it/s] 0%| | 0/16 [00:00<?, ?it/s]using triplet 16 0%| | 0/16 [00:00<?, ?it/s] torch.Size([32, 128]) torch.Size([32, 512]) torch.Size([480, 512]) Process finished with exit code 0 是没有问题的
但是运行train_embedding.py还是会报错
看起来data.py报错的地方没有问题,在执行train_embedding.py的时候,继续打印出item看看呢?另外需要注意:train_embedding.py需要传递readme给出的参数。
感谢您的回复
也有可能是跨平台的原因,建议一般深度学习代码还是在linux上跑。
也有可能是跨平台的原因,建议一般深度学习代码还是在linux上跑。
好的,我这边用的是win10
也有可能是跨平台的原因,建议一般深度学习代码还是在linux上跑。
抱歉又打扰您了,能借鉴一下您生成数据集的代码吗?您的代码可以运行了,就是那个调用openai生成数据集的代码还是没看太明白。我是主要做微调embedding模型,然后再利用这个embedding模型结合RAG以及LLM进行问题回答的。(针对一个垂直领域)
我想问下,是什么原因导致的之前遇到的问题呀? 不好意思,我这边也没有实践生成数据集。我理解主要就是调用openai,需要key,是有免费的额度的,promt之间参考它的就行,你可以搜索下其他人的方法。 或者如果硬件允许的话,直接下载开源的大模型(yi-6b-chat),来生成也行。
我想问下,是什么原因导致的之前遇到的问题呀? 不好意思,我这边也没有实践生成数据集。我理解主要就是调用onpenai,需要key,是有免费的额度的,promt之间参考它的就行,你可以搜索下其他人的方法。 或者如果硬件允许的话,直接下载开源的大模型(yi-6b-chat),来生成也行。
好的 感谢您
我想问下,是什么原因导致的之前遇到的问题呀? 不好意思,我这边也没有实践生成数据集。我理解主要就是调用onpenai,需要key,是有免费的额度的,promt之间参考它的就行,你可以搜索下其他人的方法。 或者如果硬件允许的话,直接下载开源的大模型(yi-6b-chat),来生成也行。
是您说的 有的参数没有在代码中给出,给出之后就可以运行了
请问你是用在什么场景呢?搜索还是计算语义相似度?
---原始邮件--- 发件人: @.> 发送时间: 2024年3月29日(周五) 晚上9:16 收件人: @.>; 抄送: @.***>; 主题: [NLPJCL/RAG-Retrieval] 请问自己的数据集怎么构建? (Issue #2)
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>