LLM应用构建前的非结构化数据处理(一)标准化处理认识数据

1.学习内容

本节次学习内容来自于吴恩达老师的Preprocessing Unstructured Data for LLM Applications课程,因涉及到非结构化数据的相关处理,遂做学习整理。

2.相关环境准备

2.1 建议python版本在3.9版本以上

chromadb==0.4.22
langchain==0.1.5
langchain-community==0.0.17
langchain-core==0.1.19
langchain-openai==0.0.5
openai==1.11.1
tiktoken==0.5.2
#"unstructured[md,pdf,pptx]"
unstructured-client==0.16.0
unstructured==0.12.3
unstructured-inference==0.7.23
unstructured.pytesseract==0.3.12
urllib3==1.26.18
python-dotenv==1.0.1
panel==1.3.8
ipython==8.18.1
python-pptx==0.6.23
pdf2image==1.17.0
pdfminer==20191125
opencv-python==4.9.0.80
pikepdf==8.13.0
pypdf==4.0.1

2.2 申请unstructured的key

地址:unstructured.io,新注册的用户有14天的免费使用时间,每天1000页的转换。如图:
在这里插入图片描述

3.准备相关素材

在这里插入图片描述

# Warning control
import warnings
warnings.filterwarnings('ignore')

from IPython.display import JSON

import json

from unstructured_client import UnstructuredClient
from unstructured_client.models import shared
from unstructured_client.models.errors import SDKError

from unstructured.partition.html import partition_html
from unstructured.partition.pptx import partition_pptx
from unstructured.staging.base import dict_to_elements, elements_to_json
# 初始化API
s = UnstructuredClient(
    api_key_auth="XXX",
    server_url="https://api.unstrXXX",
)

3.1 解析html

from IPython.display import Image
Image(filename="example_screnshoot/HTML_demo.png", height=100, width=100)

现实如图:
在这里插入图片描述

filename = "examples/medium_blog.html"
elements = partition_html(filename=filename)
element_dict = [el.to_dict() for el in elements]
example_output = json.dumps(element_dict[11:15], indent=2)
JSON(example_output)
[
  {
    "type": "Title",
    "element_id": "ca4a2c78bca728f3477958ece3222e10",
    "text": "Share",
    "metadata": {
      "category_depth": 0,
      "last_modified": "2024-07-09T15:00:56",
      "languages": [
        "eng"
      ],
      "file_directory": "examples",
      "filename": "medium_blog.html",
      "filetype": "text/html"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "23a7f3e28178ea0fa2b3e98b0275d2e3",
    "text": "In the vast digital universe, data is the lifeblood that drives decision-making and innovation. But not all data is created equal. Unstructured data in images and documents often hold a wealth of information that can be challenging to extract and analyze.",
    "metadata": {
      "last_modified": "2024-07-09T15:00:56",
      "languages": [
        "eng"
      ],
      "parent_id": "ca4a2c78bca728f3477958ece3222e10",
      "file_directory": "examples",
      "filename": "medium_blog.html",
      "filetype": "text/html"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "e1b7532458a93cfc789751895884e7bb",
    "text": "Enter Unstructured.io, a powerful tool to extract and efficiently transform structured data. With sixteen and counting pre-built connectors, the API can easily integrate with various data sources, including AWS S3, GitHub, Google Cloud Storage, and more.",
    "metadata": {
      "link_texts": [
        "Unstructured.io"
      ],
      "link_urls": [
        "https://www.unstructured.io/"
      ],
      "link_start_indexes": [
        6
      ],
      "last_modified": "2024-07-09T15:00:56",
      "languages": [
        "eng"
      ],
      "parent_id": "ca4a2c78bca728f3477958ece3222e10",
      "file_directory": "examples",
      "filename": "medium_blog.html",
      "filetype": "text/html"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "a6179d69ca1a55e0a3f98c08af0034e0",
    "text": "In this guide, we’ll cover the advantages of using the Unstructured API and Connector module, walk you through a step-by-step process of using it with the S3 Connector as an example, and show you how to be a part of the Unstructured community.",
    "metadata": {
      "last_modified": "2024-07-09T15:00:56",
      "languages": [
        "eng"
      ],
      "parent_id": "ca4a2c78bca728f3477958ece3222e10",
      "file_directory": "examples",
      "filename": "medium_blog.html",
      "filetype": "text/html"
    }
  }
]

3.2 解析pptx

Image(filename="example_screnshoot/pptx_slide.png", height=600, width=600) 

在这里插入图片描述

filename = "examples/msft_openai.pptx"
elements = partition_pptx(filename=filename)
element_dict = [el.to_dict() for el in elements]
JSON(json.dumps(element_dict[:], indent=2))

输出如下:

[
  {
    "type": "Title",
    "element_id": "e53cb06805f45fa23fb6d77966c5ec63",
    "text": "ChatGPT",
    "metadata": {
      "category_depth": 1,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "34a50527166e6765aa3e40778b5764e1",
    "text": "Chat-GPT: AI Chatbot, developed by OpenAI, trained to perform conversational tasks and creative tasks",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "631df69dff044f977d66d71c5cbdab83",
    "text": "Backed by GPT-3.5 model (gpt-35-turbo), GPT-4 models",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "6ac7cc52b0b2842ce7803bb176add0fb",
    "text": "Trained over 175 billion machine learning parameters",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "01133c5465c85564ab1e39568d8b51f5",
    "text": "Conversation-in and message-out ",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "1d495819227b92f341fb4b58d723a497",
    "text": "Note: Chat Completion API for GPT-4 models",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  },
  {
    "type": "ListItem",
    "element_id": "e450241caa0f39c30939a474bcff06ac",
    "text": "GPT-4 is multimodal (e.g., images + text)",
    "metadata": {
      "category_depth": 0,
      "file_directory": "examples",
      "filename": "msft_openai.pptx",
      "last_modified": "2024-07-09T15:01:08",
      "page_number": 1,
      "languages": [
        "eng"
      ],
      "parent_id": "e53cb06805f45fa23fb6d77966c5ec63",
      "filetype": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    }
  }
]

3.3 解析pdf

Image(filename="example_screnshoot/cot_paper.png", height=600, width=600) 

在这里插入图片描述

filename = "examples/CoT.pdf"
with open(filename, "rb") as f:
    files=shared.Files(
        content=f.read(), 
        file_name=filename,
    )

req = shared.PartitionParameters(
    files=files,
    strategy='hi_res',
    pdf_infer_table_structure=True,
    languages=["eng"],
)
try:
    resp = s.general.partition(req)
    print(json.dumps(resp.elements[:3], indent=2))
except SDKError as e:
    print(e)
JSON(json.dumps(resp.elements, indent=2))

输出如下:

[
  {
    "type": "Title",
    "element_id": "826446fa7830f0352c88808f40b0cc9b",
    "text": "B All Experimental Results",
    "metadata": {
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "filename": "CoT.pdf"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "055f2fa97fbdee35766495a3452ebd9d",
    "text": "This section contains tables for experimental results for varying models and model sizes, on all benchmarks, for standard prompting vs. chain-of-thought prompting.",
    "metadata": {
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "parent_id": "826446fa7830f0352c88808f40b0cc9b",
      "filename": "CoT.pdf"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "9bf5af5255b80aace01b2da84ea86531",
    "text": "For the arithmetic reasoning benchmarks, some chains of thought (along with the equations produced) were correct, except the model performed an arithmetic operation incorrectly. A similar observation was made in Cobbe et al. (2021). Hence, we can further add a Python program as an external calculator (using the Python eval function) to all the equations in the generated chain of thought. When there are multiple equations in a chain of thought, we propagate the external calculator results from one equation to the following equations via string matching. As shown in Table 1, we see that adding a calculator significantly boosts performance of chain-of-thought prompting on most tasks.",
    "metadata": {
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "parent_id": "826446fa7830f0352c88808f40b0cc9b",
      "filename": "CoT.pdf"
    }
  },
  {
    "type": "NarrativeText",
    "element_id": "46381dc72867b437cb990fc7734840ee",
    "text": "Table 1: Chain of thought prompting outperforms standard prompting for various large language models on five arithmetic reasoning benchmarks. All metrics are accuracy (%). Ext. calc.: post-hoc external calculator for arithmetic computations only. Prior best numbers are from the following. a: Cobbe et al. (2021). b & e: Pi et al. (2022), c: Lan et al. (2021), d: Pi˛ekos et al. (2021).",
    "metadata": {
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "parent_id": "826446fa7830f0352c88808f40b0cc9b",
      "filename": "CoT.pdf"
    }
  },
  {
    "type": "Table",
    "element_id": "3d22e4ba38f71ed038e9a72e4e8e225d",
    "text": "Prior best Prompting N/A (finetuning) 55a GSM8K SVAMP ASDiv 57.4b 75.3c AQuA 37.9d MAWPS 88.4e UL2 20B Standard Chain of thought 4.4 (+0.3) + ext. calc 4.1 6.9 10.1 12.5 (+2.4) 16.9 (+0.9) 23.6 (+3.1) 28.3 16.0 20.5 34.3 23.6 16.6 19.1 (+2.5) 42.7 LaMDA 137B Standard Chain of thought 14.3 (+7.8) + ext. calc 6.5 17.8 29.5 37.5 (+8.0) 46.6 (+6.5) 20.6 (-4.9) 42.1 40.1 25.5 53.4 20.6 43.2 57.9 (+14.7) 69.3 GPT-3 175B (text-davinci-002) Chain of thought 46.9 (+31.3) 68.9 (+3.2) 71.3 (+1.0) 35.8 (+11.0) 87.1 (+14.4) Standard 15.6 65.7 70.3 24.8 72.7 + ext. calc 49.6 70.3 71.1 35.8 87.5 Codex (code-davinci-002) Chain of thought 63.1 (+43.4) 76.4 (+6.5) 80.4 (+6.4) 45.3 (+15.8) 92.6 (+13.9) Standard 19.7 69.9 74.0 29.5 78.7 + ext. calc 65.4 77.0 80.0 45.3 93.3 PaLM 540B Standard Chain of thought 56.9 (+39.0) 79.0 (+9.6) 73.9 (+1.8) 35.8 (+10.6) 93.3 (+14.2) + ext. calc 17.9 69.4 72.1 25.2 79.2 79.8 58.6 72.6 35.8 93.5",
    "metadata": {
      "text_as_html": "<table><thead><tr><th></th><th>Prompting</th><th>GSMBK</th><th>SVAMP</th><th>ASDiv</th><th>AQUA</th><th>MAWPS</th></tr></thead><tbody><tr><td>Prior best</td><td>(finetuning)</td><td>55¢</td><td>57.4°</td><td>75.3¢</td><td>37.9¢</td><td>88.4¢</td></tr><tr><td rowspan=\"3\">UL2 20B</td><td>Standard</td><td>4.1</td><td>10.1</td><td>16.0</td><td>20.5</td><td>16.6</td></tr><tr><td>Chain of thought</td><td>4.4 (+0.3)</td><td>12.5 2.4</td><td>16.9 (+0.9)</td><td>23.6 (+3.1)</td><td>19.1 (2.5</td></tr><tr><td>+ ext. cale</td><td>.9</td><td>283</td><td>343</td><td>23.6</td><td>4.7</td></tr><tr><td rowspan=\"3\">LaMDA 137B</td><td>Standard</td><td>6.5</td><td>29.5</td><td>40.1</td><td>25.5</td><td>432</td></tr><tr><td>Chain of thought</td><td>14.3 (+7.8)</td><td>37.5 +8.0)</td><td>46.6 (+6.5)</td><td>20.6 (-4.9)</td><td>57.9 (+14.7)</td></tr><tr><td>+ ext. cale</td><td>78</td><td>42.</td><td>534</td><td>20.6</td><td>69.3</td></tr><tr><td>GPT-3 175B</td><td>Standard</td><td>15.6</td><td>65.7</td><td>70.3</td><td>24.8</td><td>72.7</td></tr><tr><td rowspan=\"2\">(text-davinci-002)</td><td>Chain of thought</td><td>46.9 (+31.3)</td><td>68.9 +3.2)</td><td>71.3 (+1.0)</td><td>35.8 (+11.0)</td><td>87.1 (+14.4)</td></tr><tr><td>+ ext. cale</td><td>49.6</td><td>0.3</td><td>71.1</td><td>358</td><td>875</td></tr><tr><td>Codex</td><td>Standard</td><td>19.7</td><td>69.9</td><td>74.0</td><td>29.5</td><td>8.7</td></tr><tr><td rowspan=\"2\">(code-davinci-002)</td><td>Chain of thought</td><td>63.1 (+434)</td><td>76.4 (+6.5)</td><td>80.4 (+6.4)</td><td>45.3 (+15.8)</td><td>92.6 (+13.9)</td></tr><tr><td>+ ext. cale</td><td>65.4</td><td>77.0</td><td>80.0</td><td>453</td><td>933</td></tr><tr><td rowspan=\"3\">PalLM 540B</td><td>Standard</td><td>17.9</td><td>69.4</td><td>72.1</td><td>252</td><td>79.2</td></tr><tr><td>Chain of thought</td><td>56.9 +39.0)</td><td>79.0 (+9.6)</td><td>73.9 (+1.8)</td><td>35.8 (+10.6)</td><td>93.3 (+142)</td></tr><tr><td>+ ext. cale</td><td>58.6</td><td>79.8</td><td>726</td><td>358</td><td>935</td></tr></tbody></table>",
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "parent_id": "826446fa7830f0352c88808f40b0cc9b",
      "filename": "CoT.pdf"
    }
  },
  {
    "type": "PageNumber",
    "element_id": "0301f13983c12f215df253d2e16300d0",
    "text": "20",
    "metadata": {
      "filetype": "application/pdf",
      "languages": [
        "eng"
      ],
      "page_number": 1,
      "filename": "CoT.pdf"
    }
  }
]

4.总结

上述案例可以实现对非机构化文档的标准化,随后就可以对数据进行愉快的处理了。课程具体学习地址见参考链接1。

参考

  1. Preprocessing Unstructured Data for LLM Applications
  2. https://unstructured.io/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/787301.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电脑应用技巧】如何寻找电脑应用的安装包华为电脑、平板和手机资源交换

电脑的初学者可能会直接用【百度】搜索电脑应用程序的安装包&#xff0c;但是这样找到的电脑应用程序安装包经常会被加入木马或者强制捆绑一些不需要的应用装入电脑。 今天告诉大家一个得到干净电脑应用程序安装包的方法&#xff0c;就是用【联想的应用商店】。联想电脑我是一点…

数字化转型:企业法务管理的未来发展 ​​​

在数字化浪潮的推动下&#xff0c;企业法务管理正经历着前所未有的变革。传统的法务工作模式在数据处理、合同审查、风险评估等方面逐渐显得力不从心。面对这一挑战&#xff0c;企业法务管理的数字化转型成为提升效率、保障合规、优化法律服务的必然选择。 数字化转型涉及到法…

【Java算法】二分查找 下

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【算法工作坊】算法实战揭秘 一.山脉数组的峰顶索引 题目链接&#xff1a;852.山脉数组的峰顶 ​ 算法原理 这段代码实现了一个查找山峰数组中峰值索引的算法。山峰数组是一个先递增后递减的数组&…

前端图表库G2快速上手

文档地址&#xff1a; https://g2-v3.antv.vision/zh/docs/manual/getting-started/ https://g2.antv.antgroup.com/ 安装&#xff1a; pnpm i antv/g2在vue3中使用&#xff1a; <script setup> import {Chart} from antv/g2; import {onMounted} from "vue"…

智慧运维管理平台建设方案(PPT原件)

1、智慧运维系统建设背景 2、智慧运维系统建设目标 3、智慧运维系统建设内容 4、智慧运维系统建设技术 5、智慧运维系统建设流程 6、智慧运维系统建设收益 软件全套资料获取及学习&#xff1a;本文末个人名片直接获取或者进主页。

咱迈出了模仿的第一大步!快进来看看~

微信公众号&#xff1a;牛奶Yoka的小屋 有任何问题。欢迎来撩~ 最近更新&#xff1a;2024/06/28 [大家好&#xff0c;我是牛奶。] 这是第一篇模仿文章。咱决定先模仿样式&#xff0c;从外至里&#xff0c;层层递进。于是找了几个大V的公众号&#xff0c;看来看去&#xff0c;发…

uniapp 微信小程序接入MQTT

MQTT安装 前期准备 由于微信小程序需要wss&#xff0c;所以要有域名SSL证书 新建目录/srv/mosquitto/config&#xff0c;/srv/mosquitto/config/cert 目录/srv/mosquitto/config中新建配置文件mosquitto.conf&#xff0c;文件内容 persistence true persistence_location /m…

Hospital Management Startup 1.0 SQL 注入漏洞(CVE-2022-23366)

前言 CVE-2022-23366是一个影响HMS v1.0的SQL注入漏洞。该漏洞存在于patientlogin.php文件中&#xff0c;允许攻击者通过特定的SQL注入来获取或修改数据库中的敏感信息。 具体来说&#xff0c;攻击者可以通过向patientlogin.php发送恶意构造的SQL语句来绕过身份验证&#xff…

基于 sftp 的 NAS (局域网文件存储服务器)

局域网 NAS (文件存储服务器) 的基本功能有: 能够存储文件, 同时能够通过多个设备访问 (上传/下载) 文件. 这些功能通过 sftp 可以实现. sftp 是基于 SSH 的文件传输协议, SSH 全程加密传输, 使用 公钥 认证 (不使用密码/口令), 能够提供很高的安全性. 上文说到, 在 LVM 和 bt…

大数据------JavaWeb------FilterListenerAJAXAxiosJSON

Filter Filter简介 定义&#xff1a;Filter表示过滤器&#xff0c;是JavaWeb三大组件&#xff08;Servlet、Filter、Listener&#xff09;之一。 作用&#xff1a;它可把对资源&#xff08;Servlet、JSP、Html&#xff09;的请求拦截下来从而实现一些特殊功能 过滤器一般完成…

绝区陆--大语言模型的幻觉问题是如何推动科学创新

介绍 大型语言模型 (LLM)&#xff08;例如 GPT-4、LLaMA-2、PaLM-2、Claude-2 等&#xff09;已展示出为各种应用生成类似人类文本的出色能力。然而&#xff0c;LLM 的一个鲜为人知的方面是它们倾向于“产生幻觉”或生成不正确或没有根据的事实陈述。我不认为这仅仅是一个限制…

苍穹外卖前后端搭建

文章目录 参考开发环境搭建前端环境搭建1、 前端工程基于 nginx2、启动nginx,访问测试后端环境搭建1、从资料中找到后端初始工程:2、用 IDEA 打开初始工程,了解项目的整体结构:数据库环境搭建前后端联调nginx反向代理和负载均衡1、nginx反向代理2、nginx 负载均衡完善登录功…

博客标题:C++中的继承:构建面向对象的基石

目录 ​编辑 引言 继承的基本形式 示例1&#xff1a;基本继承 继承的类型 示例2&#xff1a;不同类型的继承 多重继承 示例3&#xff1a;多重继承 继承与多态性 示例4&#xff1a;继承与多态 结论 结尾 引言 在面向对象编程&#xff08;OOP&#xff09;中&#xff…

飞跃边界,尽在掌握 —— Jump Desktop 8 for Mac,远程工作新体验!

Jump Desktop 8 for Mac 是一款强大的远程桌面控制软件&#xff0c;专为追求高效工作与生活平衡的用户设计。它允许您轻松地从Mac设备上远程访问和控制另一台电脑或服务器&#xff0c;无论是跨房间、跨城市还是跨国界&#xff0c;都能实现无缝连接&#xff0c;仿佛操作就在眼前…

TIA博途与威纶通触摸屏无实物仿真调试的具体方法示例

TIA博途与威纶通触摸屏无实物仿真调试的具体方法示例 准备条件: TIA PORTAL V16 S7-PLCSIM V16 EasyBuilderPro V6.9.1 NetToPLCsim V1.2.5 如有需要,可以在这个链接中下载 NetToPLCSim - Browse Files at SourceForge.net538 weekly downloads3 weekly downloads12 weekly d…

参数手册 : PXIe-1095

PXIe-1095 起售价 RMB 97,950.00 产品详细信息 PXI机箱类型: PXIe 机箱电源类型: 交流 混合插槽数量: 5 PXI Express插槽数量: 11 冗余硬件选项: 是 最大系统带宽: 24 GB/s 插槽数量: 18 PXI插槽数量: 0 系统定时插槽: 是 槽冷却能力: 82 瓦 简介 PXIe&#xff0c;18槽&am…

回溯算法-以学生就业管理系统为例

1.回溯算法介绍 1.来源 回溯算法也叫试探法&#xff0c;它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤&#xff1a; 1、 针对所给问题&#xff0c;定义问题的解空间&#xff0c;它至少包含问题的一个&#xff08;最优&#xff09;解。 2 、确定易于搜…

Vuforia AR篇(八)— AR塔防上篇

目录 前言一、设置Vuforia AR环境1. 添加AR Camera2. 设置目标图像 二、创建塔防游戏基础1. 导入素材2. 搭建场景3. 创建敌人4. 创建脚本 前言 在增强现实&#xff08;AR&#xff09;技术快速发展的今天&#xff0c;Vuforia作为一个强大的AR开发平台&#xff0c;为开发者提供了…

探索横河AQ6370E系列光谱仪隐藏功能!---高级标记功能!

横河AQ6370E系列光谱仪的这款光谱仪的传统功能中&#xff0c;其实还隐藏了一个特别实用的功能——高级标记功能&#xff01;前所未有的方式解析数据与测量信号&#xff0c;不仅带来了全新的测试体验&#xff0c;还提升了测量速度&#xff0c;那么这个功能怎么找到呢&#xff0c…

中国支付清算协会注销5家单位会员资格

7月1日&#xff0c;中国支付清算协会公告显示&#xff0c;按照《中国支付清算协会章程》《中国支付清算协会会员管理办法》等相关规定&#xff0c;经审议&#xff0c;中国支付清算协会决定注销江苏通付盾科技有限公司、北京丰瑞祥信息技术股份有限公司、山东新北洋信息技术股份…