当前位置: 首页 > news >正文

LlamaIndex

1、大语言模型开发框架的价值是什么?

SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。

所有开发框架(SDK)的核心价值,都是降低开发、维护成本。

大语言模型开发框架的价值,是让开发者可以更方便地开发基于大语言模型的应用。主要提供两类帮助:

  1. 第三方能力抽象。比如 LLM、向量数据库、搜索接口等
  2. 常用工具、方案封装
  3. 底层实现封装。比如流式接口、超时重连、异步与并行等

好的开发框架,需要具备以下特点:

  1. 可靠性、鲁棒性高
  2. 可维护性高
  3. 可扩展性高
  4. 学习成本低

举些通俗的例子:

  • 与外部功能解依赖
    • 比如可以随意更换 LLM 而不用大量重构代码
    • 更换三方工具也同理
  • 经常变的部分要在外部维护而不是放在代码里
    • 比如 Prompt 模板
  • 各种环境下都适用
    • 比如线程安全
  • 方便调试和测试
    • 至少要能感觉到用了比不用方便吧
    • 合法的输入不会引发框架内部的报错
划重点:选对了框架,事半功倍;反之,事倍功半。
举个例子:使用 SDK,4 行代码实现一个简易的 RAG 系统
!pip install --upgrade llama-index
from llama_index.core import VectorStoreIndex, SimpleDirectoryReaderdocuments = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)query_engine = index.as_query_engine()response = query_engine.query("llama2有多少参数")
print(response)

2、LlamaIndex 介绍

「 LlamaIndex is a framework for building context-augmented LLM applications. Context augmentation refers to any use case that applies LLMs on top of your private or domain-specific data. 」

LlamaIndex 是一个为开发「上下文增强」的大语言模型应用的框架(也就是 SDK)。上下文增强,泛指任何在私有或特定领域数据基础上应用大语言模型的情况。例如:

在这里插入图片描述

  • Question-Answering Chatbots (也就是 RAG)

  • Document Understanding and Extraction (文档理解与信息抽取)

  • Autonomous Agents that can perform research and take actions (智能体应用)

LlamaIndex 有 Python 和 Typescript 两个版本,Python 版的文档相对更完善。

  • Python 文档地址:https://docs.llamaindex.ai/en/stable/

  • Python API 接口文档:https://docs.llamaindex.ai/en/stable/api_reference/

  • TS 文档地址:https://ts.llamaindex.ai/

  • TS API 接口文档:https://ts.llamaindex.ai/api/

LlamaIndex 是一个开源框架,Github 链接:https://github.com/run-llama

LlamaIndex 的核心模块

在这里插入图片描述

安装 LlamaIndex

  1. Python
pip install llama-index
  1. Typescript
# 通过 npm 安装
npm install llamaindex# 通过 yarn 安装
yarn add llamaindex# 通过 pnpm 安装
pnpm add llamaindex

本博客以 Python 版为例进行讲解。

3、数据加载(Loading)

SimpleDirectoryReader 是一个简单的本地文件加载器。它会遍历指定目录,并根据文件扩展名自动加载文件(文本内容)。

支持的文件类型:

  • .csv - comma-separated values
  • .docx - Microsoft Word
  • .epub - EPUB ebook format
  • .hwp - Hangul Word Processor
  • .ipynb - Jupyter Notebook
  • .jpeg, .jpg - JPEG image
  • .mbox - MBOX email archive
  • .md - Markdown
  • .mp3, .mp4 - audio and video
  • .pdf - Portable Document Format
  • .png - Portable Network Graphics
  • .ppt, .pptm, .pptx - Microsoft PowerPoint
import json
from pydantic.v1 import BaseModeldef show_json(data):"""用于展示json数据"""if isinstance(data, str):obj = json.loads(data)print(json.dumps(obj, indent=4))elif isinstance(data, dict) or isinstance(data, list):print(json.dumps(data, indent=4))elif issubclass(type(data), BaseModel):print(json.dumps(data.dict(), indent=4, ensure_ascii=False))def show_list_obj(data):"""用于展示一组对象"""if isinstance(data, list):for item in data:show_json(item)else:raise ValueError("Input is not a list")from llama_index.core import SimpleDirectoryReaderreader = SimpleDirectoryReader(input_dir="./data",  # 目标目录recursive=False,  # 是否递归遍历子目录required_exts=[".pdf"]  # (可选)只读取指定后缀的文件
)
documents = reader.load_data()show_json(documents[0])
print(documents[0].text)
{"id_": "358482ee-4232-45eb-a5ae-8f595f16c8cd","embedding": null,"metadata": {"page_label": "1","file_name": "llama2-extracted.pdf","file_path": "/home/jovyan/lecture-notes/07-llamaindex/data/llama2-extracted.pdf","file_type": "application/pdf","file_size": 401338,"creation_date": "2024-06-14","last_modified_date": "2024-06-14"},"excluded_embed_metadata_keys": ["file_name","file_type","file_size","creation_date","last_modified_date","last_accessed_date"],"excluded_llm_metadata_keys": ["file_name","file_type","file_size","creation_date","last_modified_date","last_accessed_date"],"relationships": {},"text": "Llama 2: OpenFoundation andFine-Tuned ChatModels\nHugo Touvron∗Louis Martin†Kevin Stone†\nPeter Albert Amjad Almahairi Yasmine Babaei Nikolay Bashlykov SoumyaBatra\nPrajjwal Bhargava Shruti Bhosale Dan Bikel LukasBlecher Cristian CantonFerrer MoyaChen\nGuillem Cucurull David Esiobu Jude Fernandes Jeremy Fu Wenyin Fu BrianFuller\nCynthia Gao VedanujGoswami NamanGoyal AnthonyHartshorn Saghar Hosseini RuiHou\nHakan Inan Marcin Kardas Viktor Kerkez Madian Khabsa IsabelKloumann ArtemKorenev\nPunit Singh Koura Marie-AnneLachaux ThibautLavril Jenya Lee Diana Liskovich\nYinghai Lu YuningMao Xavier Martinet Todor Mihaylov PushkarMishra\nIgor Molybog Yixin Nie AndrewPoulton Jeremy Reizenstein Rashi Rungta Kalyan Saladi\nAlan Schelten Ruan Silva EricMichael Smith Ranjan Subramanian XiaoqingEllenTan BinhTang\nRoss Taylor AdinaWilliams JianXiang Kuan PuxinXu ZhengYan Iliyan Zarov YuchenZhang\nAngela Fan MelanieKambadur SharanNarang Aurelien Rodriguez RobertStojnic\nSergey Edunov ThomasScialom∗\nGenAI, Meta\nAbstract\nIn this work, we develop and release Llama 2, a collection of pretrained and fine-tuned\nlarge language models (LLMs) ranging in scale from 7 billion to 70 billion parameters.\nOur fine-tuned LLMs, called Llama 2-Chat , are optimized for dialogue use cases. Our\nmodels outperform open-source chat models on most benchmarks we tested, and based on\nourhumanevaluationsforhelpfulnessandsafety,maybeasuitablesubstituteforclosed-\nsource models. We provide a detailed description of our approach to fine-tuning and safety\nimprovements of Llama 2-Chat in order to enable the community to build on our work and\ncontribute to the responsibledevelopmentof LLMs.\n∗Equal contribution, corresponding authors: {tscialom, htouvron}@meta.com\n†Second author\nContributions for all the authors can be found in Section A.1.arXiv:2307.09288v2  [cs.CL]  19 Jul 2023","mimetype": "text/plain","start_char_idx": null,"end_char_idx": null,"text_template": "{metadata_str}\n\n{content}","metadata_template": "{key}: {value}","metadata_seperator": "\n","class_name": "Document"
}
Llama 2: OpenFoundation andFine-Tuned ChatModels
Hugo Touvron∗Louis Martin†Kevin Stone†
Peter Albert Amjad Almahairi Yasmine Babaei Nikolay Bashlykov SoumyaBatra
Prajjwal Bhargava Shruti Bhosale Dan Bikel LukasBlecher Cristian CantonFerrer MoyaChen
Guillem Cucurull David Esiobu Jude Fernandes Jeremy Fu Wenyin Fu BrianFuller
Cynthia Gao VedanujGoswami NamanGoyal AnthonyHartshorn Saghar Hosseini RuiHou
Hakan Inan Marcin Kardas Viktor Kerkez Madian Khabsa IsabelKloumann ArtemKorenev
Punit Singh Koura Marie-AnneLachaux ThibautLavril Jenya Lee Diana Liskovich
Yinghai Lu YuningMao Xavier Martinet Todor Mihaylov PushkarMishra
Igor Molybog Yixin Nie AndrewPoulton Jeremy Reizenstein Rashi Rungta Kalyan Saladi
Alan Schelten Ruan Silva EricMichael Smith Ranjan Subramanian XiaoqingEllenTan BinhTang
Ross Taylor AdinaWilliams JianXiang Kuan PuxinXu ZhengYan Iliyan Zarov YuchenZhang
Angela Fan MelanieKambadur SharanNarang Aurelien Rodriguez RobertStojnic
Sergey Edunov ThomasScialom∗
GenAI, Meta
Abstract
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned
large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters.
Our fine-tuned LLMs, called Llama 2-Chat , are optimized for dialogue use cases. Our
models outperform open-source chat models on most benchmarks we tested, and based on
ourhumanevaluationsforhelpfulnessandsafety,maybeasuitablesubstituteforclosed-
source models. We provide a detailed description of our approach to fine-tuning and safety
improvements of Llama 2-Chat in order to enable the community to build on our work and
contribute to the responsibledevelopmentof LLMs.
∗Equal contribution, corresponding authors: {tscialom, htouvron}@meta.com
†Second author
Contributions for all the authors can be found in Section A.1.arXiv:2307.09288v2  [cs.CL]  19 Jul 2023
注意:对图像、视频、语音类文件,默认不会自动提取其中文字。如需提取,参考下面介绍的 Data Connectors

默认的 PDFReader 效果并不理想,我们可以更换文件加载器

# !pip install pymupdf
from llama_index.core import SimpleDirectoryReader
from llama_index.readers.file import PyMuPDFReaderreader = SimpleDirectoryReader(input_dir="./data", # 目标目录recursive=False, # 是否递归遍历子目录required_exts=[".pdf"], # (可选)只读取指定后缀的文件file_extractor={".pdf": PyMuPDFReader()} # 指定特定的文件加载器)documents = reader.load_data()print(documents[0].text)
Llama 2: Open Foundation and Fine-Tuned Chat Models
Hugo Touvron∗
Louis Martin†
Kevin Stone†
Peter Albert Amjad Almahairi Yasmine Babaei Nikolay Bashlykov Soumya Batra
Prajjwal Bhargava Shruti Bhosale Dan Bikel Lukas Blecher Cristian Canton Ferrer Moya Chen
Guillem Cucurull David Esiobu Jude Fernandes Jeremy Fu Wenyin Fu Brian Fuller
Cynthia Gao Vedanuj Goswami Naman Goyal Anthony Hartshorn Saghar Hosseini Rui Hou
Hakan Inan Marcin Kardas Viktor Kerkez Madian Khabsa Isabel Kloumann Artem Korenev
Punit Singh Koura Marie-Anne Lachaux Thibaut Lavril Jenya Lee Diana Liskovich
Yinghai Lu Yuning Mao Xavier Martinet Todor Mihaylov Pushkar Mishra
Igor Molybog Yixin Nie Andrew Poulton Jeremy Reizenstein Rashi Rungta Kalyan Saladi
Alan Schelten Ruan Silva Eric Michael Smith Ranjan Subramanian Xiaoqing Ellen Tan Binh Tang
Ross Taylor Adina Williams Jian Xiang Kuan Puxin Xu Zheng Yan Iliyan Zarov Yuchen Zhang
Angela Fan Melanie Kambadur Sharan Narang Aurelien Rodriguez Robert Stojnic
Sergey Edunov
Thomas Scialom∗
GenAI, Meta
Abstract
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned
large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters.
Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. Our
models outperform open-source chat models on most benchmarks we tested, and based on
our human evaluations for helpfulness and safety, may be a suitable substitute for closed-
source models. We provide a detailed description of our approach to fine-tuning and safety
improvements of Llama 2-Chat in order to enable the community to build on our work and
contribute to the responsible development of LLMs.
∗Equal contribution, corresponding authors: {tscialom, htouvron}@meta.com
†Second author
Contributions for all the authors can be found in Section A.1.
arXiv:2307.09288v2  [cs.CL]  19 Jul 2023

更多的 PDF 加载器还有 SmartPDFLoaderLlamaParse, 二者都提供了更丰富的解析能力,包括解析章节与段落结构等。但不是 100%准确,偶有文字丢失或错位情况,建议根据自身需求详细测试评估。

3.2、Data Connectors

用于处理更丰富的数据类型,并将其读取为 Document 的形式(text + metadata)。

更多 Data Connectors
  • 内置的文件加载器
  • 连接三方服务的数据加载器,例如数据库
  • 更多加载器可以在 LlamaHub 上找到

4、文本切分与解析(Chunking)

为方便检索,我们通常把 Document 切分为 Node

在 LlamaIndex 中,Node 被定义为一个文本的「chunk」。

4.1、使用 TextSplitters 对文本做切分

例如:TokenTextSplitter 按指定 token 数切分文本

from llama_index.core.node_parser import TokenTextSplitterfrom llama_index.core import SimpleDirectoryReaderreader = SimpleDirectoryReader(input_dir="./data",  # 目标目录recursive=False,  # 是否递归遍历子目录required_exts=[".pdf"]  # (可选)只读取指定后缀的文件
)
documents = reader.load_data()
node_parser = TokenTextSplitter(chunk_size=100,  # 每个 chunk 的最大长度chunk_overlap=50  # chunk 之间重叠长度
)nodes = node_parser.get_nodes_from_documents(documents, show_progress=False
)for node in nodes:print(node)
D:\develop\anaconda3\envs\llm-project\python.exe D:\projects\llm-project\llama-index\TextSplitters.py 
Node ID: be6157bd-acd5-419b-903b-fb335ebf1805
Text: Llama 2: Open Foundation and Fine-Tuned Chat Models Hugo
Touvron∗ Louis Martin† Kevin Stone† Peter Albert Amjad Almahairi
Yasmine Babaei Nikolay Bashlykov Soumya Batra Prajjwal Bhargava Shruti
Bhosale Dan Bikel Lukas Blecher
Node ID: b76c809f-16b6-4988-94e2-7feafcfdd506
Text: Louis Martin† Kevin Stone† Peter Albert Amjad Almahairi Yasmine
Babaei Nikolay Bashlykov Soumya Batra Prajjwal Bhargava Shruti Bhosale
Dan Bikel Lukas Blecher Cristian Canton Ferrer Moya Chen Guillem
Cucurull David
Node ID: 578cb67c-1bff-4dd8-9329-af4c2f8f881b
Text: Babaei Nikolay Bashlykov Soumya Batra Prajjwal Bhargava Shruti
Bhosale Dan Bikel Lukas Blecher Cristian Canton Ferrer Moya Chen
Guillem Cucurull David Esiobu Jude Fernandes Jeremy Fu Wenyin Fu Brian
Fuller Cynthia Gao
Node ID: dbb31d51-67ad-4d21-93d5-5062275a66c1
Text: Shruti Bhosale Dan Bikel Lukas Blecher Cristian Canton Ferrer
Moya Chen Guillem Cucurull David Esiobu Jude Fernandes Jeremy Fu
Wenyin Fu Brian Fuller Cynthia Gao Vedanuj Goswami Naman Goyal Anthony
Hartshorn Saghar Hosseini Rui
Node ID: 2d6466e9-a4d4-454e-a2d3-631364d0a126
Text: Cucurull David Esiobu Jude Fernandes Jeremy Fu Wenyin Fu Brian
Fuller Cynthia Gao Vedanuj Goswami Naman Goyal Anthony Hartshorn
Saghar Hosseini Rui Hou Hakan Inan Marcin Kardas Viktor Kerkez Madian
Khabsa Isabel Kloumann
Node ID: 3dcaf924-e52e-4d93-98bc-9292a1884a40
Text: Gao Vedanuj Goswami Naman Goyal Anthony Hartshorn Saghar
Hosseini Rui Hou Hakan Inan Marcin Kardas Viktor Kerkez Madian Khabsa
Isabel Kloumann Artem Korenev Punit Singh Koura Marie-Anne Lachaux
Thibaut Lavril Jenya
Node ID: 8fa64cb9-c510-4223-b0cb-e223178ebdb9
Text: Rui Hou Hakan Inan Marcin Kardas Viktor Kerkez Madian Khabsa
Isabel Kloumann Artem Korenev Punit Singh Koura Marie-Anne Lachaux
Thibaut Lavril Jenya Lee Diana Liskovich Yinghai Lu Yuning Mao Xavier
Martinet Todor
Node ID: 9f5c2d90-ffe9-4efe-a5b1-68eef0119b5d
Text: Madian Khabsa Isabel Kloumann Artem Korenev Punit Singh Koura
Marie-Anne Lachaux Thibaut Lavril Jenya Lee Diana Liskovich Yinghai Lu
Yuning Mao Xavier Martinet Todor Mihaylov Pushkar Mishra Igor Molybog
Yixin Nie Andrew
Node ID: fff15a52-a0da-40c8-a09a-0fe1ea2d6ea1
Text: Marie-Anne Lachaux Thibaut Lavril Jenya Lee Diana Liskovich
Yinghai Lu Yuning Mao Xavier Martinet Todor Mihaylov Pushkar Mishra
Igor Molybog Yixin Nie Andrew Poulton Jeremy Reizenstein Rashi Rungta
Kalyan Saladi Alan
Node ID: 5fa0508f-3ca7-4425-a48c-a9cde1112060
Text: Lu Yuning Mao Xavier Martinet Todor Mihaylov Pushkar Mishra Igor
Molybog Yixin Nie Andrew Poulton Jeremy Reizenstein Rashi Rungta
Kalyan Saladi Alan Schelten Ruan Silva Eric Michael Smith Ranjan
Subramanian Xiaoqing Ellen Tan Binh Tang Ross
Node ID: ee895744-82ae-49ad-94c0-8368c0790dea
Text: Molybog Yixin Nie Andrew Poulton Jeremy Reizenstein Rashi Rungta
Kalyan Saladi Alan Schelten Ruan Silva Eric Michael Smith Ranjan
Subramanian Xiaoqing Ellen Tan Binh Tang Ross Taylor Adina Williams
Jian Xiang Kuan Puxin Xu Zheng Yan Iliyan Zarov
Node ID: 0138d1ac-6358-47c3-8f52-d0054b80a568
Text: Kalyan Saladi Alan Schelten Ruan Silva Eric Michael Smith Ranjan
Subramanian Xiaoqing Ellen Tan Binh Tang Ross Taylor Adina Williams
Jian Xiang Kuan Puxin Xu Zheng Yan Iliyan Zarov Yuchen Zhang Angela
Fan Melanie Kambadur Sharan Narang Aurelien Rodriguez Robert
Node ID: 73429f67-589e-442d-89af-1513be6bb88f
Text: Xiaoqing Ellen Tan Binh Tang Ross Taylor Adina Williams Jian
Xiang Kuan Puxin Xu Zheng Yan Iliyan Zarov Yuchen Zhang Angela Fan
Melanie Kambadur Sharan Narang Aurelien Rodriguez Robert Stojnic
Sergey Edunov Thomas Scialom∗ GenAI,
Node ID: 9d37dbc7-16ef-4036-bb8f-5f3091dba100
Text: Xu Zheng Yan Iliyan Zarov Yuchen Zhang Angela Fan Melanie
Kambadur Sharan Narang Aurelien Rodriguez Robert Stojnic Sergey Edunov
Thomas Scialom∗ GenAI, Meta Abstract In this work, we develop and
release Llama 2, a collection of pretrained and
Node ID: 87459f44-90eb-43c8-9e4c-329777efe449
Text: Sharan Narang Aurelien Rodriguez Robert Stojnic Sergey Edunov
Thomas Scialom∗ GenAI, Meta Abstract In this work, we develop and
release Llama 2, a collection of pretrained and fine-tuned large
language models (LLMs) ranging in scale from 7 billion to
Node ID: 8f8a5262-03a3-4e0d-9c5f-f6830bd2cf27
Text: Scialom∗ GenAI, Meta Abstract In this work, we develop and
release Llama 2, a collection of pretrained and fine-tuned large
language models (LLMs) ranging in scale from 7 billion to 70 billion
parameters. Our fine-tuned LLMs, calledLlama
Node ID: fc5b70c8-4e78-40bf-9d77-911391e5ea1c
Text: we develop and release Llama 2, a collection of pretrained and
fine-tuned large language models (LLMs) ranging in scale from 7
billion to 70 billion parameters. Our fine-tuned LLMs, calledLlama
2-Chat, are optimized for dialogue use cases. Our models outperform
open-source chat models
Node ID: 6d36968c-de01-4afa-97dc-7987a192bf30
Text: models (LLMs) ranging in scale from 7 billion to 70 billion
parameters. Our fine-tuned LLMs, calledLlama 2-Chat, are optimized for
dialogue use cases. Our models outperform open-source chat models on
most benchmarks we tested, and based on our human evaluations for
helpfulness and safety, may
Node ID: e7ef4823-6937-4d80-824e-693bd81dc149
Text: LLMs, calledLlama 2-Chat, are optimized for dialogue use cases.
Our models outperform open-source chat models on most benchmarks we
tested, and based on our human evaluations for helpfulness and safety,
may be a suitable substitute for closed- source models. We provide a
detailed description of our approach to fine-tuning
Node ID: d1c044a6-02e6-4d88-a92f-a96b65da6de0
Text: outperform open-source chat models on most benchmarks we tested,
and based on our human evaluations for helpfulness and safety, may be
a suitable substitute for closed- source models. We provide a detailed
description of our approach to fine-tuning and safety improvements
ofLlama 2-Chatin order to enable the community to build on our
Node ID: de25c573-8d6f-4d81-8cc0-2df0b8706f6d
Text: helpfulness and safety, may be a suitable substitute for closed-
source models. We provide a detailed description of our approach to
fine-tuning and safety improvements ofLlama 2-Chatin order to enable
the community to build on our work and contribute to the responsible
development of LLMs. ∗Equal contribution, corresponding
Node ID: 366723b1-8227-4c8e-9cdf-fb6596c6b607
Text: description of our approach to fine-tuning and safety
improvements ofLlama 2-Chatin order to enable the community to build
on our work and contribute to the responsible development of LLMs.
∗Equal contribution, corresponding authors: {tscialom,
htouvron}@meta.com †Second
Node ID: b1d0a429-f88c-4eaf-a5e2-438395063dd1
Text: 2-Chatin order to enable the community to build on our work and
contribute to the responsible development of LLMs. ∗Equal
contribution, corresponding authors: {tscialom, htouvron}@meta.com
†Second author Contributions for all the authors can be found in
Section
Node ID: 3bd1cf71-efdd-476c-ae63-f6813cd426ff
Text: work and contribute to the responsible development of LLMs.
∗Equal contribution, corresponding authors: {tscialom,
htouvron}@meta.com †Second author Contributions for all the authors
can be found in Section A.1. arXiv:2307.09288v2  [cs.CL]
Node ID: a419b2de-57a0-4d13-8316-89ca3c388038
Text: authors: {tscialom, htouvron}@meta.com †Second author
Contributions for all the authors can be found in Section A.1.
arXiv:2307.09288v2  [cs.CL]  19 Jul 2023
Node ID: c14bc803-2b66-4791-acf1-40c3c3824248
Text: Contents 1 Introduction 3 2 Pretraining 5 2.1 Pretraining Data .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 5 2.2
Node ID: cd88caab-f720-44d0-b60f-52d3f5a8c47a
Text: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 5 2.2 Training Details . . . . . . . . . . . .
. . . . . .
Node ID: 060e2c44-e137-48fc-997a-fef9e1253af1
Text: . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Training
Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
Node ID: 84a3b614-fa9a-4a10-933f-4ea49eb42da5
Text: . . . . 5 2.2 Training Details . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Llama
2Pretrained Model
Node ID: d147d85b-a6f9-4c26-b7d7-61e897c67c67
Text: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 5 2.3 Llama 2Pretrained Model Evaluation . . . . . . . . . .
. . . . . . . . .
Node ID: 74ecb943-d7b1-479e-b280-8a94be4c97f5
Text: . . . . . . . . . . . . . . . . . 5 2.3 Llama 2Pretrained Model
Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 7 3 Fine-tuning
Node ID: d6860cfa-8486-41c4-80bd-4bc53788b13a
Text: Llama 2Pretrained Model Evaluation . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 7 3 Fine-tuning 8 3.1 Supervised
Fine-Tuning (SFT) . . . . . . . .
Node ID: 3bd146c0-a554-4e4d-94a9-24cba2a3dbc2
Text: . . . . . . . . . . . . . . . . . . . . 7 3 Fine-tuning 8 3.1
Supervised Fine-Tuning (SFT) . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
Node ID: b84e1605-0ac9-4c9f-9ff5-

相关文章:

LlamaIndex

1、大语言模型开发框架的价值是什么? SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。 所有开发框架(SDK)的核心价值,都是降低开发、维护成本。 大语言模型开发框架的价值,是让开发者可以更方便地…...

下一代电子电气架构(EEA)的关键技术

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

CSDN gitcode代码推送

当我使用用户名密码时一直无法推送,报下面这个错误 找了半天才知道, 他这个git不能用账号密码推送代码,idea弹出来的用户名,就是你头像旁边这个,没有符号 密码需要你创建一个令牌 这个令牌才是你要填写的密码&#x…...

中级统计师-统计学基础知识-第五章 相关分析

第一节 相关关系 1. 函数关系 vs 相关关系 函数关系 定义:变量间存在严格确定性的对应关系(如 y f ( x ) y f(x) yf(x))例子:本金 x x x 与利息收入 y x 0.027 x y x 0.027x yx0.027x特点:一一对应&#xff…...

OpenCV CUDA模块图像过滤------用于创建一个最大值盒式滤波器(Max Box Filter)函数createBoxMaxFilter()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 createBoxMaxFilter()函数创建的是一个 最大值滤波器(Maximum Filter),它对图像中每个像素邻域内的像素值取最…...

OpenCv高阶(十五)——EigenFace人脸识别

文章目录 前言一、EigenFace人脸识别原理二、EigenFace人脸识别代码1、导入OpenCV和NumPy库2、数据加载与预处理部分3、创建与训练EigenFace模型部分4、预测与结果输出部分5、可视化部分:在测试图像上叠加识别结果 总结 前言 人脸识别作为生物特征识别技术的重要分…...

Linux系统下nslookup命令的基本使用

Linux系统下 nslookup命令的基本使用 引言一、nslookup介绍二、使用帮助三、 基本使用方法1. 查询域名对应的IP地址2. 查询特定的DNS记录类型3. 使用特定的DNS服务器进行查询4. 交互模式 四、注意事项五、总结 引言 在网络管理中,DNS(域名系统&#xff…...

【笔记】PyCharm 中创建Poetry解释器

#工作记录 在使用 PyCharm 进行 Python 项目开发时,为项目配置合适的 Python 解释器至关重要。Poetry 作为一款强大的依赖管理和打包工具,能帮助我们更便捷地管理项目的依赖项与虚拟环境。下面将详细记录在 PyCharm 中创建 Poetry 解释器的步骤。 前提条…...

Qwen 3技术报告详细解读

近日,Qwen 3系列大模型正式发布,涵盖从0.6B到235B参数的多个规模版本,包括6个Dense模型和2个混合专家(MoE)模型。本文将从模型架构、预训练策略、后训练优化等方面进行全面解读,帮助读者深入理解Qwen 3的技…...

leetcode 螺旋矩阵 java

官方还得是官方&#xff01; class Solution {public List<Integer> spiralOrder(int[][] matrix) {int l 0, r matrix[0].length - 1;int t 0, b matrix.length - 1;int x 0;List<Integer> res new ArrayList<>();while (true) {for (int i l; i …...

Spring Boot 项目中 Redis 存储 Session 对象序列化处理

目录 一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1 添加依赖2.2 配置 Redis 三、自定义序列化和反序列化3.1 创建序列化配置类3.2 测试序列化和反序列化 四、其他序列化方式4.1 使用 JdkSerializationRedisSerializer4.2 使用 StringRedisSerializer 五…...

军工与航空航天特种PCB精密制造:猎板如何定义行业技术新标准?

一、军工与航空航天PCB的极限挑战 在低轨卫星载荷、战机航电系统等场景中&#xff0c;特种PCB需同时满足三大核心指标&#xff1a; ​​极端环境耐受性​​&#xff1a;工作温度横跨-55℃至200℃&#xff0c;承受20G机械振动与100krad辐射剂量&#xff0c;盐雾腐蚀测试超过50…...

springboot+vue实现鲜花商城系统源码(带用户协同过滤个性化推荐算法)

今天教大家如何设计一个 鲜花商城 , 基于目前主流的技术&#xff1a;前端vue3&#xff0c;后端springboot。学习完这个项目&#xff0c;你将来找工作开发实际项目都会又很大帮助。文章最后部分还带来的项目的部署教程。 系统有着基于用户的协同过滤推荐算法&#xff0c;还有保证…...

MyBatis 关联映射与多表查询实战教程

一、关联查询基础 1. 连接类型与选择 LEFT JOIN(左连接)SELECT u.*, r.role_name FROM User u LEFT JOIN user_role ur ON u.id = ur.uid LEFT JOIN Role r ON ur.rid = r.id;- **规则**:以左表为主,保留左表所有记录,右表无匹配时填充`NULL`。 - **场景**:查询主体…...

【AI流程应用】智能知识库搭建与实战应用

JeecgBoot 平台的 AIGC 功能模块&#xff0c;是一套类似 Dify 的 AIGC应用开发平台 知识库问答 子系统&#xff0c;是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可…...

微店平台店铺商品接口开发指南

微店API获取店铺所有商品实现方案 以下是使用微店开放平台API获取店铺所有商品的完整实现代码&#xff0c;包含请求封装、分页处理和错误处理机制。 点击获取key和secret from weidian_api import WeidianAPI # 配置你的微店应用凭证 APP_KEY "your_app_key" APP_…...

springboot3+vue3融合项目实战-大事件文章管理系统-更新文章分类和增加文章分类优化-分组校验

因为我们之前在category实体类里面增加了notnull注解&#xff0c;而之前新增文章分类模块新增文章是不需要id的&#xff0c;而id是由数据库自动分配的&#xff0c;这就导致不能新增文章了&#xff0c;所以我们要进行分组校验 思路如下&#xff1a; 我们更改category代码&…...

Vue.js教学第九章:Vue动态与异步组件,高效开发全攻略

Vue 组件的动态与异步:探索高效开发路径 在 Vue.js 开发领域中,组件的动态与异步加载机制是构建复杂且高性能前端应用的关键策略。本研究深入探究 Vue 中动态组件与异步组件的原理、用法及性能优化实践,旨在为开发者提供全面且深入的技术指引,助力其在实际项目中高效运用。…...

CVE-2018-1270源码分析与漏洞复现(spring-messaging 表达式注入)

漏洞概述 CVE-2018-1270 是 Spring 框架中的一个高危远程代码执行&#xff08;RCE&#xff09;漏洞&#xff0c;影响版本为 Spring Framework 5.0–5.0.4 和 4.3–4.3.14。攻击者通过构造包含恶意 SpEL&#xff08;Spring Expression Language&#xff09;表达式的 STOMP&…...

DevOps学习回顾03-ops三部曲之配置管理(CM)

快速回顾 Ops 中配置管理的一些常见的方式&#xff0c;以及一些配置文件常见的组织形式 参考来源 极客时间-全栈工程师修炼指南-OPS三部曲之配置管理 什么是配置管理&#xff1f;–IBM 五大最流行的配置管理工具 为啥需要配置管理&#xff1f; CM 的主要目标是控制复杂系统…...

二进制编码、定点数与浮点数

1. 二进制编码 1.1. 字符串的表示&#xff0c;从编码到数字 不仅数值可以用二进制表示&#xff0c;字符乃至更多的信息都能用二进制表示。最典型的例子就是字符串&#xff08;Character String&#xff09;。最早计算机只需要使用英文字符&#xff0c;加上数字和一些特殊符号…...

CentOS:搭建国内软件repository,以实现自动yum网络安装

centosgit仓库_寂寞沙冷州的技术博客_51CTO博客 yum 很慢 centos yum安装慢_mob64ca1417b0c6的技术博客_51CTO博客 yum配置&#xff0c;文件&#xff0c;命令详解-CSDN博客 yum仓库简介_yum库是什么-CSDN博客 rootwww:/etc/yum.repos.d# pwd /etc/yum.repos.d ###创建下面这个.…...

C# AOP编程

AOP(面向切片编程的概念我这里就不介绍了&#xff0c;这里先介绍一下C#中的AOP编程框架。 1.AOP的分类 .net下支持AOP的框架很多&#xff0c;搜了一下有&#xff1a;PostSharp、AspectInjector、Fody 、Castle Windsor、Spring.NET、Ninject、Unity等&#xff0c;实现的方式主要…...

【Element UI排序】JavaScript 的表格排序sortable=“custom“和 @sort-change

目录 一、elementUI排序功能实际案例二、 实例2三、 实例3 Sortable — 是一个 JavaScript 库&#xff0c;用于在现代浏览器和触摸设备上对拖放列表进行重新排序。 一、elementUI排序功能实际案例 表格每一项中加上sortable&#xff0c;可以展示排序的小图标。 在列中设置so…...

使用Jenkins部署nodejs前端项目

1. 安装node环境 1.1 下载 https://nodejs.org/zh-cn/download 1.2 解压到安装目录 tar -xJvf node-v22.15.1-linux-x64.tar.xz mv node-v22.15.1-linux-x64 /home/soft/ mv node-v22.15.1-linux-x64/ node22原本计划安装 node22和node18&#xff0c;但是CentOS7.9 GLIBCXX …...

阿里云域名 绑定 华为云服务器ip

阿里云&#xff08;万网&#xff09;域名转入华为云域名图文教程 上-云社区-华为云 阿里云&#xff08;万网&#xff09;域名转入华为云域名图文教程-云社区-华为云 在阿里云备案了域名&#xff0c;解析到华为云服务器&#xff0c;不在同一个服务商这样可以使用么&#xff1f…...

在局域网(LAN)中查看设备的 IP 地址

在局域网&#xff08;LAN&#xff09;中查看设备的 IP 地址&#xff0c;可以使用以下几种方法&#xff1a; 方法 1&#xff1a;使用 ipconfig&#xff08;Windows&#xff09; 1. 打开 CMD&#xff1a; 按 Win R&#xff0c;输入 cmd&#xff0c;回车。 2. 输入命令&#…...

第3周作业-1层隐藏层的神经网络分类二维数据

文章目录 ***1层隐藏层的神经网络分类二维数据***1. 导入包2. 数据集2.1 导入数据集2.2 查看数据集图案2.3 查看数据集维度 3. Logistic回归3.1 Logistic回归简介3.2 Logistic回归模型3.3 绘制边界 4. 神经网络模型4.1 神经网络简介4.2 神经网络数学模型4.3 建立神经网络方法4.…...

中天智能装备科技有限公司:智能仓储领域的卓越之选​

在仓储智能化转型的时代浪潮中&#xff0c;中天智能装备科技有限公司以深厚的技术积淀与创新实力&#xff0c;成为众多企业迈向高效仓储的理想合作伙伴。无论是自动化立体库的精准搭建&#xff0c;还是 AGV 系统的智能部署&#xff0c;中天都以专业姿态为行业树立标杆。​ 硬核…...

Linux nbd 网络块设备(2)-内核实现

Linux nbd网络块设备(2)-内核实现 关注我&#xff0c;一起学习吧&#xff0c;后续持续更新内核相关 1. 概述&#xff1a; 内核linux/drivers/block/nbd.c 是nbd 网络设备的底层驱动实现逻辑。本文主要介绍nbd 设备注册及I/O请求的处理逻辑。 2. nbd 设备的初始化&#xff1…...

Python输出与输入

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f439;今日诗词:吟怀未许老重阳&#xff0c;霜雪无端入鬓长&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主&#x1f64f; ⛳️点赞 ☀️收藏⭐️关注&#x1f4…...

【C语言】复习~数组和指针

数组和指针 1.字符指针 char* 使用方法一&#xff1a; 使用方法二&#xff1a; 这里本质上是把常量字符串的首地址放到了指针变量pstr里面 看下面的面试题 str3和str4指向的是同一个常量字符串&#xff0c;c/c会把常量字符串存储到一个单独的内存区域&#xff0c; 当几…...

rocketmq优先级控制 + 并发度控制

背景 最近在做大模型的项目&#xff0c;算法部门提供的文档解析接口&#xff0c; 并发度为1&#xff0c; 业务这边需要在ai问答和上传文档时进行解析和向量化&#xff0c;文档解析只能单线程跑&#xff0c;问答的文档解析需要高优先级处理。 采用 rocketmq 做文档上传和解析的…...

从0开始学linux韦东山教程第四章问题小结(2)

本人从0开始学习linux&#xff0c;使用的是韦东山的教程&#xff0c;在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。说实在的越看视频越感觉他讲的有点乱后续将以他的新版PDF手册为中心&#xff0c;视频作为辅助理解的工具。参考手册为嵌入式Linux应用开发…...

洛谷P1226 【模板】快速幂

题目来源 P1226 【模板】快速幂 - 洛谷 题目描述 给你三个整数 a,b,p&#xff0c;求 abmodp。 输入格式 输入只有一行三个整数&#xff0c;分别代表 a,b,p。 输出格式 输出一行一个字符串 a^b mod ps&#xff0c;其中 a,b,p 分别为题目给定的值&#xff0c; s 为运算结果…...

自动点焊机:在多类电池生产中筑牢质量与效率根基

在电池制造产业飞速发展的当下&#xff0c;焊接作为电池组装的关键环节&#xff0c;其质量与效率直接影响着电池的性能与安全性。自动点焊机凭借其高效、精准、稳定的特性&#xff0c;在电动工具电池、扭扭车电池、储能电池包、滑板车电池以及电动车电池等多个电池制造领域大放…...

信息系统项目管理师考前练习1

以下是结合《信息系统项目管理师教程》(第5版)核心考点和当前行业热点的20道选择题押题,涵盖重点知识和新兴趋势,供考前冲刺练习: 项目生命周期模型选择 在敏捷开发项目中,客户需求频繁变更,且团队希望快速交付最小可行产品(MVP),最适合采用的生命周期模型是: A. …...

C++ for QWidget:正则表达式和QRegExp

正则表达式 正则表达式&#xff0c;又称规则表达式&#xff0c;&#xff08;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;是计算机科学的一个概念。以下是对正则表达式的详细介绍&#xff1a; 一、定义与作用 正则表达式是一种文…...

day019-特殊符号、正则表达式与三剑客

文章目录 1. 磁盘空间不足-排查流程2. 李导推荐书籍2.1 大话存储2.2 性能之巅 3. 特殊符号3.1 引号系列&#xff08;面试题&#xff09;3.2 重定向符号3.2.1 cat与重定向3.2.2 tr命令&#xff1a;替换字符3.2.3 xargs&#xff1a;参数转换3.2.4 标准全量追加重定向 4. 正则表达…...

学习黑客了解5分钟了解中间人攻击(MITM)

5分钟了解中间人攻击&#xff08;MITM&#xff09;&#x1f575;️‍♂️ 什么是中间人攻击&#xff08;Man-in-the-Middle, MITM&#xff09;&#xff1f; 中间人攻击是一种网络攻击方式&#xff0c;攻击者悄无声息地“夹在”通信两端之间&#xff0c;偷偷读取、篡改、伪造或…...

亚马逊第四个机器人中心将如何降低30%配送成本?

近年来&#xff0c;亚马逊越来越依赖自动化技术来提升仓储效率和配送速度。2024年&#xff0c;亚马逊宣布其全球第四个机器人中心在美国正式投入运营&#xff0c;这一中心将成为改变供应链策略的新变量。据亚马逊官方消息&#xff0c;这一机器人中心有望帮助公司进一步削减运营…...

「AR智慧应急」新时代:当AR眼镜遇上智能监控,打造立体化应急指挥系统

引言&#xff1a;应急管理的未来已来 数字化浪潮正重塑应急管理领域。传统监控系统依赖固定屏幕、被动告警的短板&#xff0c;在复杂突发事件中暴露无遗。而AR眼镜视频监控管理平台应急应急管理平台的三维融合&#xff0c;正开启"上帝视角"指挥时代——通过虚实叠加…...

docker 启动一个python环境的项目

安装镜像 docker pull python:3.8-slim8902端口 启动容器 tail -f /dev/null 持续监听空文件&#xff0c;保持容器活跃 docker run -it \-p 8902:8902 \--name api_mock2 \-v /home/py/test:/app \-w /app \python:3.8-slim \tail -f /dev/null进入容器 docker exec -it api…...

Docker run命令-p参数详解

端口映射基础语法 docker run -p <宿主机端口>:<容器端口> 操作示例 docker run -d --restartalways --namespug -p 5000:80 registry.aliyuncs.com/openspug/spug参数解析 -d&#xff1a;后台运行容器--restartalways&#xff1a;设置容器自动重启--namespug&…...

vue3请求设置responseType: ‘blob‘,导致失败后获取不到返回信息

vue3请求设置responseType: ‘blob’,导致失败后获取不到返回信息 使用FileReader解决 dataCollect().downloadAll(data).then((res: any) > {if (res.type application/json) {const fileReader new FileReader();fileReader.readAsText(new Blob([res], { type: applica…...

在 Windows 系统部署对冲基金分析工具 ai-hedge-fund 的笔记

#工作记录 一、环境准备 在部署对冲基金分析工具ai-hedge-fund前&#xff0c;需提前安装好必备软件&#xff0c;为后续工作搭建好基础环境。 1. 安装 Anaconda Anaconda 集成了 Python 及众多科学计算库&#xff0c;是项目运行的重要基础。从Anaconda 官方网站下载适合 Win…...

基于python的机器学习(八)—— 评估算法(一)

目录 一、机器学习评估的基本概念 1.1 评估的定义与目标 1.2 常见评估指标 1.3 训练集、验证集与测试集的划分 二、分离数据集 2.1 分离训练数据集和评估数据集 2.2 k折交叉验证分离 2.3 弃一交叉验证分离 2.4 重复随机评估和训练数据集分离 三、交叉验证技术 3.…...

广东省省考备考(第十六天5.21)—言语:语句排序题(听课后强化)

错题 解析 对比选项&#xff0c;确定首句。①句介绍目前人类可以利用一些技术手段进入元宇宙&#xff0c;凭借网络重新定义自己&#xff0c;体验一种全新的生活&#xff0c;②句介绍对于多数人来说&#xff0c;首先要弄清楚什么是元宇宙&#xff0c;③句介绍元宇宙是指超越现实…...

什么是实时流数据?核心概念与应用场景解析

在当今数字经济时代&#xff0c;实时流数据正成为企业核心竞争力。金融机构需要实时风控系统在欺诈交易发生的瞬间进行拦截&#xff1b;电商平台需要根据用户实时行为提供个性化推荐&#xff1b;工业物联网需要监控设备状态预防故障。这些场景都要求系统能够“即时感知、即时分…...

计算机视觉与深度学习 | Python实现CEEMDAN-ABC-VMD-DBO-CNN-LSTM时间序列预测(完整源码和数据)

以下是一个结合CEEMDAN、ABC优化VMD、DBO优化CNN-LSTM的完整时间序列预测实现方案。该方案包含完整的数据生成、算法实现和模型构建代码。 完整实现代码 import numpy as np import pandas as pd from PyEMD import CEEMDAN from vmdpy import VMD from sklearn.preprocessing…...