1234567891011121314151617181920212223242526 |
- # -*- coding: utf-8 -*-
- from chatchat.server.knowledge_base.utils import format_reference
- from chatchat.server.utils import api_address
- # 你的文档列表
- docs = [
- "出处 [1] [大模型方案.docx](http://10.67.81.103:7861/knowledge_base/download_doc?knowledge_base_name=lqbz&file_name=%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%96%B9%E6%A1%88.docx) \n\nERNIE的部分版本如ERNIE 3.0等提供了API服务,允许开发者通过调用接口的方式使用模型。\n腾讯混元 (Hunyuan)\n腾讯发布的多模态预训练模型,虽然以多模态为主,但也具备较强的文本生成能力。\n腾讯的混元模型通常不是完全开源的,但提供了API服务供开发者使用。\n华为盘古 (Pangu)\n华为研发的大规模预训练模型,专门针对中文场景进行了优化。在中文文本生成、问答等方面表现优秀。\n华为盘古模型本身没有开源,但华为提供了相关的API服务,使开发者能够使用这些模型的能力。\n定义模型规模\n确定模型的参数量大小,这将直接影响到模型的能力和计算资源的需求。\n超参数设定\n设定学习率、批次、损失函数等超参数。\n训练环境搭建\n安装必要软件\n安装Python、CUDA、Anaconda、深度学习框架(如Tensorflow或者Pytorch)等。\n配置GPU/CPU资源\n确保有足够的算力资源来支持模型的训练。\n模型训练\n初始化模型\n根据选定的架构初始化模型。\n数据加载\n编写代码来加载和处理训练数据。\n训练循环\n实现训练循环,包括前向传播、损失计算、反向传播和权重更新。\n保存检查点\n定期保存检查点、以便后续使用或恢复训练。\n模型评估于优化\n定义评估指标\n选择合适的评估指标,如准确率、BLEU得分等。\n验证与测试\n使用验证集和测试集来评估模型性能。\n模型微调\n根据评估结果进行模型调整或优化。\n模型部署\n模型导出\n将训练好的模型转换成可部署的格式\n部署环境\n在本地服务器上部署环境,可能需要使用轻量化推理框架(如Tensorflow Lite、ONNX Runtime等)。\n接口开发\n\n",
- "出处 [2] [大模型方案.docx](http://10.67.81.103:7861/knowledge_base/download_doc?knowledge_base_name=lqbz&file_name=%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%96%B9%E6%A1%88.docx) \n\n使用验证集和测试集来评估模型性能。\n模型微调\n根据评估结果进行模型调整或优化。\n模型部署\n模型导出\n将训练好的模型转换成可部署的格式\n部署环境\n在本地服务器上部署环境,可能需要使用轻量化推理框架(如Tensorflow Lite、ONNX Runtime等)。\n接口开发\n开发API接口,使模型可以接受输入并返回预测结果。\n特定任务的微调\n任务数据准备\n收集针对特定任务的数据集。\n微调训练\n使用新数据集对模型进行微调,使其更擅长完成特定任务。\n评估与调整\n再次评估模型性能,并根据需要进行调整。\n持续改进\n用户反馈\n收集用户反馈,根据反馈进行模型的持续改进。\n版本控制\n使用版本控制系统来管理模型的不同版本。\n\n",
- "出处 [3] [大模型方案.docx](http://10.67.81.103:7861/knowledge_base/download_doc?knowledge_base_name=lqbz&file_name=%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%96%B9%E6%A1%88.docx) \n\n分词\n将文本分割成更小的单元(token),如单词或子词。\n编码\n将分词后的文本转换为模型可以理解的数值表示。\n序列截断\n如果文本过长,可能需要将其截断为固定长度的序列。\n填充\n如果序列不够长,则需要用特殊标记填充至固定长度。\n模型架构设计\n选择模型类型\n目前在中文问答领域较好的大语言模型包括但不限于以下几个:\n通义千问 (Qwen)\n由阿里云开发,提供了公开的API接口供开发者调用,也可以通过官方网站直接与模型交互。支持多种任务,包括开放域问答、代码生成、文本生成等。\n文心一言 (ERNIE Bot)\n百度推出的大型语言模型,虽然模型本身没有完全开源,但提供了API服务,允许开发者通过调用接口来使用模型的功能。其针对中文语境进行了优化。在多项中文NLP任务上表现出色,包括问答和对话。\n悟道·天鹰 (M6)\n来自达摩院的大规模多模态预训练模型,虽然主要应用于多模态任务,但在语言理解和生成方面也有很好的表现。特别是在跨模态理解和生成方面有独特的优势。\n达摩院的M6系列模型没有完全开源,但其技术细节和部分应用可以通过论文和官方文档获取。\n百度文心系列 (ERNIE)\n包括多个版本,如 ERNIE 3.0 Titan 和 ERNIE 3.0 Zeus,这些模型在多项中文NLP任务上取得了非常好的成绩。\n具有强大的语言理解能力,适用于问答、摘要等多种任务。\nERNIE的部分版本如ERNIE 3.0等提供了API服务,允许开发者通过调用接口的方式使用模型。\n腾讯混元 (Hunyuan)\n腾讯发布的多模态预训练模型,虽然以多模态为主,但也具备较强的文本生成能力。\n腾讯的混元模型通常不是完全开源的,但提供了API服务供开发者使用。\n\n"
- ]
- formatted_docs = []
- for i, doc in enumerate(docs):
- # 这里假设每条记录中都包含文件名作为来源的一部分,并将其解析出来。
- # 实际应用中可能需要更复杂的逻辑来准确提取文件名。
- # 此处仅作示例
- source_info = f"http://10.67.81.103:7861/knowledge_base/download_doc?knowledge_base_name=lqbz&file_name=文档{i+1}.docx"
- formatted_docs.append({"metadata": {"source": source_info}})
- # 获取API的基础地址
- api_base_url = api_address(is_public=True)
- # 使用format_reference函数格式化文档引用
- source_documents = format_reference(kb_name="lqbz", docs=formatted_docs, api_base_url=api_base_url)
- print(source_documents)
|