探索智能问答提取工具:Question Extractor 🧐
在利用大型语言模型进行指令微调时,通常需要大量的问题和答案对。然而,要针对自己的数据进行模型的进一步细调,手动创建这些问题和答案可能会耗费大量精力。正是为了解决这一痛点,我们引荐给您一个非常实用的开源项目——Question Extractor。
1. 项目介绍
Question Extractor 是一个自动化工具,它利用未经特定任务训练的语言模型(如 ChatGPT)来从现有文本数据中自动生成问题与答案对。这个项目可以显著减少您在准备训练数据时的人工工作量,尤其适用于需要构建文档测试或知识库的场景。
2. 项目技术分析
该项目的核心在于利用Python编程,并依赖于以下三个关键库:
tiktoken
:用于处理OpenAI的令牌化openai
:官方的OpenAI API客户端,负责与模型交互langchain
:提供了一套模型连接和辅助工具,简化了代码实现
通过提供两个预设的提示语句,Question Extractor 可以循环遍历输入文件夹中的所有Markdown文档,生成问题列表,然后基于同样的文本生成对应的答案。为了提高效率,代码还实现了并行处理和文本分块功能,确保模型能够处理各种大小的文本段落。
3. 应用场景
Question Extractor 在多种场景下都能大显身手:
- 文档测试:为你的产品文档创建测验题目,检查用户是否真正理解内容。
- 知识库建设:快速构建问答数据库,供客户自助查询。
- 教育材料开发:自动为教学资料生成练习题,提高教材质量。
- 信息检索优化:为搜索引擎提供更准确的问题,提升用户体验。
4. 项目特点
- 高效自动化:一键运行,即可从Markdown文件批量提取问题与答案,节省大量手动劳动。
- 灵活处理文本:支持根据最高级别的Markdown标题拆分长文本,适应不同结构的内容。
- 经济实惠:以较低的成本处理大量数据,例如,在处理完整的 NERSC 文档时只需约29美元。
- 未来扩展:预留了潜在改进点,包括升级到GPT4以提高答案质量,以及支持中断后的恢复等。
开始使用
想要尝试这个强大的工具?只需克隆仓库,安装所需依赖,并设置输入文件夹和输出路径,然后运行question_extractor.py
。详细步骤可在项目README中找到。
开始您的自动化之旅,让Question Extractor帮您轻松解决创建问题和答案的难题!