基于 RAG 的聊天机器人的追踪、日志和指标:结合 Elastic 的 OpenTelemetry 分发
作者:来自 Elastic Bahubali Shetti
如何使用 Elasticsearch 观察基于 OpenAI RAG 的应用程序。使用 OpenTelemetry 对应用程序进行检测,收集日志、跟踪、指标,并了解 LLM 在 Kubernetes 和 Docker 上使用 OpenTelemetry 的 Elastic 分发的表现。
正如以下文章所讨论的,Elastic 在 EDOT(Elastic Distribution of OpenTelemetry)中为基于 OpenAI 的应用程序添加了监控功能。最常使用大语言模型(large language modes - LLMs)的应用程序通常被称为聊天机器人(Chatbot)。这些聊天机器人不仅使用大语言模型,还结合了如 LangChain 等框架和搜索功能,通过 RAG(Retrieval Augmented Generation - 检索增强生成)技术在对话中改进上下文信息。Elastic 的示例 RAG 聊天机器人应用程序展示了如何使用 Elasticsearch 和包含嵌入数据的本地数据,实现搜索以便在与所选 LLM 连接的聊天机器人查询时准确提取最相关的上下文信息。这是一个使用 Elasticsearch 构建 RAG 应用程序的绝佳案例。
现在,该应用程序也通过 EDOT 实现了监控功能。你可以可视化聊天机器人对 OpenAI 的追踪信息,以及应用程序生成的相关日志和指标。按照 GitHub 仓库中使用 Docker 的说明运行该应用程序后,你可以在本地堆栈上查看这些追踪信息。那么,如何将其运行在 serverless 环境、Elastic Cloud 甚至 Kubernetes 上呢?
在这篇博客中,我们将逐步讲解如何通过 Elastic Cloud 和 Kubernetes 设置 Elastic 的 RAG 聊天机器人应用程序。
先决条件:
为了跟上进度,需要满足以下几个先决条件
- Elastic Cloud 帐户 — 立即注册,并熟悉 Elastic 的 OpenTelemetry 配置。使用 Serverless 时不需要版本。常规云最低 8.17
- Git 克隆基于 RAG 的聊天机器人应用程序,并按照教程了解如何启动它并熟悉它以及如何使用 Docker 启动该应用程序。
- 具有 API 密钥的 OpenAI 帐户
- Kubernetes 集群运行基于 RAG 的 Chatbot 应用程序
- 本博客中的说明也可在 github 中的 observability-examples 中找到。
Elastic 中的 OpenTelemetry 应用程序输出
Chatbot-rag-app
启动并运行所需的第一个项目是 ChatBotApp,启动后你应该看到以下内容:
当你选择一些问题时,你将根据应用程序初始化时在 Elasticsearch 中创建的索引设置答案。此外,还会有针对 LLMs 的查询。
注:如果你想在在自己的电脑上运行 chatbot 应用程序,请详细阅读文章 “Elasticsearch:聊天机器人教程(一)”。
Elastic 中 EDOT 的跟踪、日志和指标
一旦你的应用程序在 K8s 集群或 Docker 上运行,并且 Elastic Cloud 启动并运行,你应该看到以下内容:
日志:
在 Discover 中,你将看到来自 Chatbotapp 的日志,并能够分析应用程序日志和任何特定的日志模式,从而节省你的分析时间。
踪迹:
在 Elastic Observability APM 中,你还可以看到聊天机器人的详细信息,其中包括 transactions、依赖项、日志、错误等。
当你查看跟踪时,你将能够在跟踪中看到聊天机器人的交互。
- 你将看到端到端 http 调用
- 单独调用 elasticsearch
- 特定调用,例如调用操作和对 LLM 的调用
你还可以获取跟踪的单独详细信息,并查看相关日志以及与该跟踪相关的指标,
指标:
除了日志和跟踪之外,任何被检测的指标也将被纳入 Elastic 中。
使用 Docker 进行所有设置
为了在 Docker 上正确设置 Chatbot-app 并将遥测数据发送到 Elastic,必须设置以下内容:
- Git 克隆 chatbot-rag-app
- 按照 github README 中所述修改 env 文件,但有以下例外:
改用你自己 Elastic 云的 OTEL_EXPORTER_OTLP_ENDPOINT 和 OTEL_EXPORTER_OTLP_HEADER 参数值。
你可以在 Elastic Cloud 的 integrations->APM 下找到这些内容
OTEL_EXPORTER_OTLP_ENDPOINT="https://123456789.apm.us-west-2.aws.cloud.es.io:443"
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer%20xxxxx"
注意标题中的 %20。这需要考虑凭证中的空格。
- 将以下内容设置为 false - OTEL_SDK_DISABLED=false
- 设置 LLMs 的环境
在这个例子中,我们使用 OpenAI,因此只需要三个变量。
LLM_TYPE=openai
OPENAI_API_KEY=XXXX
CHAT_MODEL=gpt-4o-mini
- 按照说明运行 docker 容器
docker compose up --build --force-recreate
- 在 localhost:4000 上使用应用程序
- 然后登录 Elastic 云并查看如前所示的输出。
在 K8s 上运行 chatbot-rag-app
为了进行此项设置,你可以按照 Observability-examples 上的以下 repo 进行操作,其中包含正在使用的 Kubernetes yaml 文件。这些也将指向 Elastic Cloud。
- 设置 Kubernetes 集群(我们使用 EKS)
- 使用来自 repo 的 Dockerfile 创建 docker 镜像。但是使用以下构建命令来确保它可以在任何 K8s 环境上运行。
docker buildx build --platform linux/amd64 -t chatbot-rag-app .
- 将镜像推送到你喜欢的容器存储库
- 获取适当的 ENV 变量:
- 找到 Docker 中先前提到的 OTEL_EXPORTER_OTLP_ENDPOINT/HEADER 变量。
- 获取你的 OpenAI 密钥
- Elasticsearch URL、用户名和密码。
-
按照以下 GitHub 仓库中的 Observability Examples 提供的说明运行两个 Kubernetes YAML 文件。
基本上,你只需将下方标注为 红色 的项目替换为你的实际值,然后运行即可。
kubectl create -f k8s-deployment.yaml
kubectl create -f init-index-job.yaml
Init-index-job.yaml
apiVersion: batch/v1
kind: Job
metadata:name: init-elasticsearch-index-test
spec:template:spec:containers:- name: init-index<span style={{ color: 'red', fontWeight: 'bold' }}>image: yourimagelocation:latest</span>workingDir: /app/apicommand: ["python3", "-m", "flask", "--app", "app", "create-index"]env:- name: FLASK_APPvalue: "app"- name: LLM_TYPEvalue: "openai"- name: CHAT_MODELvalue: "gpt-4o-mini"- name: ES_INDEXvalue: "workplace-app-docs"- name: ES_INDEX_CHAT_HISTORYvalue: "workplace-app-docs-chat-history"- name: ELASTICSEARCH_URLvalueFrom:secretKeyRef:name: chatbot-regular-secretskey: ELASTICSEARCH_URL- name: ELASTICSEARCH_USERvalueFrom:secretKeyRef:name: chatbot-regular-secretskey: ELASTICSEARCH_USER- name: ELASTICSEARCH_PASSWORDvalueFrom:secretKeyRef:name: chatbot-regular-secretskey: ELASTICSEARCH_PASSWORDenvFrom:- secretRef:name: chatbot-regular-secretsrestartPolicy: NeverbackoffLimit: 4
k8s-deployment.yaml
apiVersion: v1
kind: Secret
metadata:name: chatbot-regular-secrets
type: Opaque
stringData:ELASTICSEARCH_URL: "https://yourelasticcloud.es.us-west-2.aws.found.io"ELASTICSEARCH_USER: "elastic"ELASTICSEARCH_PASSWORD: "elastic"OTEL_EXPORTER_OTLP_HEADERS: "Authorization=Bearer%20xxxx"OTEL_EXPORTER_OTLP_ENDPOINT: "https://12345.apm.us-west-2.aws.cloud.es.io:443"OPENAI_API_KEY: "YYYYYYYY"---
apiVersion: apps/v1
kind: Deployment
metadata:name: chatbot-regular
spec:replicas: 2selector:matchLabels:app: chatbot-regulartemplate:metadata:labels:app: chatbot-regularspec:containers:- name: chatbot-regularimage: yourimagelocation:latestports:- containerPort: 4000env:- name: LLM_TYPEvalue: "openai"- name: CHAT_MODELvalue: "gpt-4o-mini"- name: OTEL_RESOURCE_ATTRIBUTESvalue: "service.name=chatbot-regular,service.version=0.0.1,deployment.environment=dev"- name: OTEL_SDK_DISABLEDvalue: "false"- name: OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTvalue: "true"- name: OTEL_EXPERIMENTAL_RESOURCE_DETECTORSvalue: "process_runtime,os,otel,telemetry_distro"- name: OTEL_EXPORTER_OTLP_PROTOCOLvalue: "http/protobuf"- name: OTEL_METRIC_EXPORT_INTERVALvalue: "3000"- name: OTEL_BSP_SCHEDULE_DELAYvalue: "3000"envFrom:- secretRef:name: chatbot-regular-secretsresources:requests:memory: "512Mi"cpu: "250m"limits:memory: "1Gi"cpu: "500m"---
apiVersion: v1
kind: Service
metadata:name: chatbot-regular-service
spec:selector:app: chatbot-regularports:- port: 80targetPort: 4000type: LoadBalancer
使用 LoadBalancer URL 打开应用程序
运行 kubectl get services 命令并获取聊天机器人应用程序的 URL
% kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
chatbot-regular-service LoadBalancer 10.100.130.44 xxxxxxxxx-1515488226.us-west-2.elb.amazonaws.com 80:30748/TCP 6d23h
- 在 Elastic 中试用应用程序并查看遥测数据
- 一旦你转到该 URL,你应该会看到我们在此博客开头描述的所有屏幕。
结论
通过 Elastic 的 Chatbot-rag-app,你可以了解如何构建基于 OpenAI 驱动的 RAG 聊天应用程序的示例,但是,你仍然需要了解它的性能如何、是否正常运行等。使用 OTel 和 Elastic 的 EDOT 可以让你实现这一点。此外,你通常会在 Kubernetes 上运行此应用程序。希望本博客能够提供如何实现这一目标的概要。以下是其他追踪博客:
使用 LLM 实现应用程序可观察性(跟踪)-
- 使用 Langtrace 和 OpenTelemetry 观察 LangChain
- 使用 OpenLit Tracing 观察 LangChain
- 使用 OpenTelemetry 监测 LangChain
LLM 可观察性 -
- 利用 GCP Vertex AI 集成提升 LLM 可观察性
- AWS Bedrock 上的 LLM 可观察性
- Azure OpenAI 的 LLM 可观察性
- Azure OpenAI v2 的 LLM 可观察性
原文:Tracing, logs, and metrics for a RAG based Chatbot with Elastic Distributions of OpenTelemetry — Elastic Observability Labs
相关文章:
基于 RAG 的聊天机器人的追踪、日志和指标:结合 Elastic 的 OpenTelemetry 分发
作者:来自 Elastic Bahubali Shetti 如何使用 Elasticsearch 观察基于 OpenAI RAG 的应用程序。使用 OpenTelemetry 对应用程序进行检测,收集日志、跟踪、指标,并了解 LLM 在 Kubernetes 和 Docker 上使用 OpenTelemetry 的 Elastic 分发的表…...
6.二分算法
二分 二分算法,也称为二分查找或折半查找,是一种在有序数组中查找特定元素的高效算法。以下是 C 中二分算法的相关内容: 算法原理 二分算法的基本思想是将有序数组分成两部分,然后将目标值与中间元素进行比较。如果目标值等于中…...
Android Studio 正式版 10 周年回顾,承载 Androider 的峥嵘十年
Android Studio 1.0 宣发于 2014 年 12 月,而现在时间来到 2025 ,不知不觉间 Android Studio 已经陪伴 Androider 走过十年历程。 Android Studio 10 周年,也代表着了我的职业生涯也超十年,现在回想起来依然觉得「唏嘘」ÿ…...
“LoRA技术中参数初始化策略:为何A参数采用正态分布而B参数初始化为0”
在LoRA(Low-Rank Adaptation)中,参数A和B的初始化策略是经过精心设计的,以确保模型训练的稳定性和有效性。具体来说,参数A通常被初始化为正态分布,而参数B则初始化为0。这样的设计有以下几个优点࿱…...
PyTorch中的movedim、transpose与permute
在PyTorch中,movedim、transpose 和 permute这三个操作都可以用来重新排列张量(tensor)的维度,它们功能相似却又有所不同。 movedim 🔗 torch.movedim 用途:将张量的一个或多个维度移动到新的位置。参数&…...
灰色预测模型
特点: 利用少量、不完全的信息 预测的是指数型的数值 预测的是比较近的数据 灰色生成数列原理: 累加生成: 累减生成:通过累减生成还原成原始数列。 加权相邻生成:(会更接近每月中旬,更推荐…...
Java 16进制 10进制 2进制数 相互的转换
在 Java 中,进行进制之间的转换时,除了功能的正确性外,效率和安全性也很重要。为了确保高效和相对安全的转换,我们通常需要考虑: 性能:使用内置的转换方法,如 Integer.toHexString()、Integer.…...
CPU 100% 出现系统中断 怎么解决
CPU 100% 出现系统中断 怎么解决 电脑开机时会掉帧,切换到桌面时就会卡顿,然后打开任务管理器就会看到系统中断的cpu占用率达到100%,过一段时间再打开还是会有显示100%的占用率,这个问题怎么解决? 文章目录 CPU 100% …...
Python-基于mediapipe,pyautogui,cv2和numpy的电脑手势截屏工具(进阶版)
前言:在我们的日常生活中,手机已经成为我们每天工作,学习,生活的一个不可或缺的部分。众所周知:为了我们的使用方便,手机里面的很多功能非常人性化,既便捷又高效,其中就有手机的截屏方式,它们花样繁多,如三指截屏,手势截屏等。那么怎么在电脑里面也实现这个功能呢?…...
设计转换Apache Hive的HQL语句为Snowflake SQL语句的Python程序方法
首先,根据以下各类HQL语句的基本实例和官方文档记录的这些命令语句各种参数设置,得到各种HQL语句的完整实例,然后在Snowflake的官方文档找到它们对应的Snowflake SQL语句,建立起对应的关系表。在这个过程中要注意HQL语句和Snowfla…...
2025年人工智能技术:Prompt与Agent的发展趋势与机遇
文章目录 一、Prompt与Agent的定义与区别(一)定义(二)区别二、2025年Prompt与Agent的应用场景(一)Prompt的应用场景(二)Agent的应用场景三、2025年Prompt与Agent的适合群体(一)Prompt适合的群体(二)Agent适合的群体四、2025年Prompt与Agent的发展机遇(一)Prompt的…...
[论文总结] 深度学习在农业领域应用论文笔记14
当下,深度学习在农业领域的研究热度持续攀升,相关论文发表量呈现出迅猛增长的态势。但繁荣背后,质量却不尽人意。相当一部分论文内容空洞无物,缺乏能够落地转化的实际价值,“凑数” 的痕迹十分明显。在农业信息化领域的…...
STM32 ADC单通道配置
硬件电路 接线图: ADC基本结构图 代码配置 根据基本结构框图 1.定义结构体变量 //定义结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量 ADC_InitTypeDef ADC_InitStructure; //定义ADC结构体变量 2.开启RCC时钟 ADC、GPIO的时钟&#x…...
Go学习:Go语言中if、switch、for语句与其他编程语言中相应语句的格式区别
Go语言中的流程控制语句逻辑结构与其他编程语言类似,格式有些不同。Go语言的流程控制中,包括if、switch、for、range、goto等语句,没有while循环。 目录 1. if 语句 2. switch语句 3. for语句 4. range语句 5. goto语句(不常用…...
Day50:字典的合并
在 Python 中,字典是一个可变的数据类型,经常需要将多个字典合并成一个字典。合并字典的方式有多种,今天我们将学习几种常见的方法。 1. 使用 update() 方法合并字典 update() 方法可以用来将一个字典中的键值对添加到另一个字典中。如果目…...
【C++动态规划 离散化】1626. 无矛盾的最佳球队|2027
本文涉及知识点 C动态规划 离散化 LeetCode1626. 无矛盾的最佳球队 假设你是球队的经理。对于即将到来的锦标赛,你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。 然而,球队中的矛盾会限制球员的发挥,所以必须选…...
LeetCode 热题 HOT 100
你好呀,欢迎来到 Dong雨 的技术小栈 🌱 在这里,我们一同探索代码的奥秘,感受技术的魅力 ✨。 👉 我的小世界:Dong雨 📌 分享我的学习旅程 🛠️ 提供贴心的实用工具 💡 记…...
从未标记图像中生成有标记图像特征的半监督分割方法
今天看到一篇文章很有意思,给大家分享一下。现在传统半监督分割网络训练时往往有标注数据与未标注数据分开训练,导致模型不好。这篇文章作者提出了一个很有意思的想法。它通过通道注意力从未标记的特征中重新加载标记的特征。这篇文章是AllSpark。 大家感…...
随笔 | 写在一月的最后一天
. 前言 这个月比预想中过的要快更多。突然回看这一个月,还有点不知从何提笔。 整个一月可以总结为以下几个关键词: 期许,保持期许出现休息 . 期许 关于期许,没有什么时候比一年伊始更适合设立目标和计划的了。但令人惭愧的…...
AI大模型开发原理篇-2:语言模型雏形之词袋模型
基本概念 词袋模型(Bag of Words,简称 BOW)是自然语言处理和信息检索等领域中一种简单而常用的文本表示方法,它将文本看作是一组单词的集合,并忽略文本中的语法、词序等信息,仅关注每个词的出现频率。 文本…...
DDD - 领域驱动设计分层架构:构建可演化的微服务架构
文章目录 引言1. 什么是DDD分层架构?1.1 DDD分层架构的演变1.2 四层架构的起源与问题1.3 依赖倒置和五层架构 2. DDD分层架构的核心层次2.1 用户接口层(User Interface Layer)2.2 应用层(Application Layer)2.3 领域层…...
Spring Boot项目如何使用MyBatis实现分页查询及其相关原理
写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...
CSS 值和单位详解:从基础到实战
CSS 值和单位详解:从基础到实战 1. 什么是 CSS 的值?示例代码:使用颜色关键字和 RGB 函数 2. 数字、长度和百分比2.1 长度单位绝对长度单位相对长度单位 2.2 百分比 3. 颜色3.1 颜色关键字3.2 十六进制 RGB 值3.3 RGB 和 RGBA 值3.4 HSL 和 H…...
搭建自己的专属AI——使用Ollama+AnythingLLM+Python实现DeepSeek本地部署
前言 最近DeepSeek模型非常火,其通过对大模型的蒸馏得到的小模型可以较轻松地在个人电脑上运行,这也使得我们有机会在本地构建一个专属于自己的AI,进而把AI“调教”为我们希望的样子。本篇文章中我将介绍如何使用OllamaAnythingLLMPython实现…...
【AI绘画】MidJourney关键词{Prompt}全面整理
AI绘画整理,MidJourney关键词。喜欢AI绘画的朋友必备,建议收藏,后面用到时供查阅使用。 1、光线与影子篇 中 英 闪耀的霓虹灯 shimmeringneon lights 黑暗中的影子 shadows in the dark 照亮城市的月光 moonlightilluminatingthe cit…...
如何将IP切换到海外:详细指南
在现代互联网应用中,IP地址成为了网络通信和数据交换的基础。然而,很多时候,由于区域限制或隐私保护的需求,用户可能需要将自己的IP地址切换到海外。无论是为了绕过地域限制访问内容,还是为了提高隐私安全,…...
蓝牙技术在物联网中的应用有哪些
蓝牙技术凭借低功耗、低成本和易于部署的特性,在物联网领域广泛应用,推动了智能家居、工业、医疗、农业等多领域发展。 智能家居:在智能家居系统里,蓝牙技术连接各类设备,像智能门锁、智能灯泡、智能插座、智能窗帘等。…...
YOLOv8:目标检测与实时应用的前沿探索
随着深度学习和计算机视觉技术的迅速发展,目标检测(Object Detection)一直是研究热点。YOLO(You Only Look Once)系列模型作为业界广受关注的目标检测框架,凭借其高效、实时的特点,一直迭代更新…...
LeetCode:62.不同路径
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:62.不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” &…...
范冰冰担任第75届柏林电影节主竞赛单元评委 共鉴电影佳作
近日,备受瞩目的柏林电影节迎来了新一届盛事,而华人演员范冰冰将以主竞赛单元评委身份亮相,引发了广泛关注。此前她已担任过戛纳国际电影节、东京国际电影节、圣塞巴斯蒂安国际电影节等众多电影节主竞赛单元评委。作为国际影坛的知名人物&…...
基于Python的药物相互作用预测模型AI构建与优化(下.代码部分)
四、特征工程 4.1 分子描述符计算 分子描述符作为量化分子性质的关键数值,能够从多维度反映药物分子的结构和化学特征,在药物相互作用预测中起着举足轻重的作用。RDKit 库凭借其强大的功能,为我们提供了丰富的分子描述符计算方法,涵盖了多个重要方面的分子性质。 分子量…...
【C语言】内存管理
【C语言】内存管理 文章目录 【C语言】内存管理1.概念2.库函数3.动态分配内存malloccalloc 4.重新调整内存的大小和释放内存reallocfree 1.概念 C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。 在 C 语言中,内存是通过…...
团体程序设计天梯赛-练习集——L1-029 是不是太胖了
前言 5分级别里面目前做到的最难的一道题,但是非常简单,5分的题看看写点代码就行了。 L1-029 是不是太胖了 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数…...
appmatrix平台(一个汇集原创web APP的平台)服务规划
Appmatrix平台(一个汇集原创web APP的平台)服务规划 Web app是部署机器学习、深度学习等需要算力较大的应用的主要形式,一般都是独立、散在部署,对使用和相互交流造成了一定的不便。App Matrix将各类web应用汇集在一起࿰…...
vscode+WSL2(ubuntu22.04)+pytorch+conda+cuda+cudnn安装系列
最近在家过年闲的没事,于是研究起深度学习开发工具链的配置和安装,之前欲与天公试比高,尝试在win上用vscodecuda11.6vs2019的cl编译器搭建cuda c编程环境,最后惨败,沦为笑柄,痛定思痛,这次直接和…...
pytorch实现长短期记忆网络 (LSTM)
人工智能例子汇总:AI常见的算法和例子-CSDN博客 LSTM 通过 记忆单元(cell) 和 三个门控机制(遗忘门、输入门、输出门)来控制信息流: 记忆单元(Cell State) 负责存储长期信息&…...
洛谷P2651 添加括号III
题目链接:P2651 添加括号III - 洛谷 | 计算机科学教育新生态 题目难度:普及一 题目分析: a1肯定是分子,a2肯定是分母,那么尽可能多的是a3以后的变为分子,怎么办呢? a1/(a2/a3/a4/...)a1a3a4.../a2&#…...
Mysql进阶学习
目录 一.Mysql服务器内部架构(了解) 二.Mysql引擎 2.1 innodb引擎 2.2 myisam引擎 三.索引 3.1索引分类 3.2mysql索引数据结构 3.3聚簇索引和非聚簇索引 3.4回表查询 3.5索引下推 四.事务 数据库事务特征 事务隔离性,隔离级别 事务实现原理 五.锁 ①…...
白话DeepSeek-R1论文(二)| DeepSeek-R1:AI “升级打怪”,从“自学成才”到“全面发展”!
最近有不少朋友来询问Deepseek的核心技术,今天开始陆续针对DeepSeek-R1论文中的核心内容进行解读,并且用大家都能听懂的方式来解读。这是第二篇趣味解读。 DeepSeek-R1:AI “升级打怪”,从“自学成才”到“全面发展”!…...
WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
python 语音识别
目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…...
2501,编写dll
DLL的优点 简单的说,dll有以下几个优点: 1)节省内存.同一个软件模块,若是源码重用,则会在不同可执行程序中编译,同时运行这些exe时,会在内存中重复加载这些模块的二进制码. 如果使用dll,则只在内存中加载一次,所有使用该dll的进程会共享此块内存(当然,每个进程会复制一份的d…...
Linux命令汇总
1、帮忙类 --help 直接在当前窗口显示帮助 command --help man 创建新窗口显示帮助 man command 2、目录操作类 2.1、查看目录 ls:以列表方式,查看目录中内容 tree:以树状方式,查看目录中内容 2.2、创建、删除文件及目录 touch:创建…...
漏洞扫描工具之xray
下载地址:https://github.com/chaitin/xray/releases 1.9.11 使用文档:https://docs.xray.cool/tools/xray/Scanning 与burpsuite联动: https://xz.aliyun.com/news/7563 参考:https://blog.csdn.net/lza20001103/article/details…...
Java手写简单Merkle树
Java手写Merkle树代码 package com.blockchain.qgy.component;import com.blockchain.qgy.model.MerkleTreeNode; import com.blockchain.qgy.util.SHAUtil;import java.util.*;public class MerkleTree<T> {//merkle树private List<MerkleTreeNode<T>> lis…...
vue之pinia组件的使用
1、搭建pinia环境 cnpm i pinia #安装pinia的组件 cnpm i nanoid #唯一id,相当于uuid cnpm install axios #网络请求组件 2、存储读取数据 存储数据 >> Count.ts文件import {defineStore} from piniaexport const useCountStore defineStore(count,{// a…...
升级到Mac15.1后pod install报错
升级Mac后,Flutter项目里的ios项目运行 pod install报错, 遇到这种问题,不要着急去百度,大概看一下报错信息,每个人遇到的问题都不一样。 别人的解决方法并不一定适合你; 下面是报错信息: #…...
力扣【1049. 最后一块石头的重量 II】Java题解(背包问题)
让石头分成重量相同的两堆(尽可能相同),相撞之后剩下的石头就是最小的。进一步转化成容量为重量总喝一半的背包最多可以装多少质量的石头。这样就转化成了背包问题。 最后求结果时,我们所最多能装的时dp[target],那另一…...
CSS 图像、媒体和表单元素的样式化指南
CSS 图像、媒体和表单元素的样式化指南 1. 替换元素:图像和视频1.1 调整图像大小示例代码:调整图像大小 1.2 使用 object-fit 控制图像显示示例代码:使用 object-fit 2. 布局中的替换元素示例代码:Grid 布局中的图像 3. 表单元素的…...
寒武纪MLU370部署deepseek r1
文章目录 前言一、平台环境准备二、模型下载三、环境安装四、代码修改五、运行效果 前言 DeepSeek-R1拥有卓越的性能,在数学、代码和推理任务上可与OpenAI o1媲美。其采用的大规模强化学习技术,仅需少量标注数据即可显著提升模型性能,为大模…...