类QAGenerationConfig
功能描述
生成QA的参数。
函数原型
from mx_rag.cache import QAGenerationConfig QAGenerationConfig(titles, contents, tokenizer, llm, max_tokens, qas_num)
参数说明
参数名 |
数据类型 |
可选/必选 |
说明 |
---|---|---|---|
titles |
List[str] |
必选 |
标题列表,标题和正文列表一一对应。列表长度范围[1, 10000],字符串长度范围[1, 100]。 |
contents |
List[str] |
必选 |
正文列表,标题和正文列表一一对应。列表长度范围[1, 10000],字符串长度范围[1, 1048576]。 |
tokenizer |
transformers.PreTrainedTokenizerBase |
必选 |
tokenizer实例,通过AutoTokenizer.from_pretrained加载。加载外部模型有安全风险,local_files_only设置为True。 |
llm |
Text2TextLLM |
必选 |
大模型对象实例,具体类型请参见Text2TextLLM类。 |
max_tokens |
int |
可选 |
用于截断正文的最大token大小,超出部分丢弃,取值范围[500, 10000],默认值为“1000”。 该参数实际有效取值依赖MindIE的配置,请参考《MindIE Motor开发指南》中的“MindIE Motor组件 > MindIE Server > 配置参数说明”章节中关于“maxSeqLen”的说明。 |
qas_num |
int |
可选 |
生成QA对数量,取值范围[1, 10],默认值为“5”。 |
调用示例
from paddle.base import libpaddle from transformers import AutoTokenizer from mx_rag.cache import QAGenerationConfig, QAGenerate from mx_rag.llm import Text2TextLLM from mx_rag.utils import ClientParam llm = Text2TextLLM(base_url="https://ip:port/v1/chat/completions", model_name="llama3-chinese-8b-chat", client_param=ClientParam(ca_file="/path/to/ca.crt")) # 使用模型的tokenizer, 传入模型存放路径 tokenizer = AutoTokenizer.from_pretrained("/home/model/Llama3-8B-Chinese-Chat/", local_files_only=True) # 可以调用MarkDownParser生成titles和contents titles = ["2024年高考语文作文题目"] contents = ['2024年高考语文作文试题\n新课标I卷\n阅读下面的材料,根据要求写作。(60分)\n' '随着互联网的普及、人工智能的应用,越来越多的问题能很快得到答案。那么,我们的问题是否会越来越少?\n' '以上材料引发了你怎样的联想和思考?请写一篇文章。' '要求:选准角度,确定立意,明确文体,自拟标题;不要套作,不得抄袭;不得泄露个人信息;不少于800字。'] config = QAGenerationConfig(titles, contents, tokenizer, llm, qas_num=1) qa_generate = QAGenerate(config) qas = qa_generate.generate_qa() print(qas)
父主题: 自动生成QA作为缓存