- 博客(831)
- 资源 (152)
- 收藏
- 关注
原创 async 是异步编程的关键字
在 Python 中,async 是异步编程的关键字,用于定义异步函数或异步代码块。异步编程是一种并发编程的方式,用来提高程序的执行效率,尤其是在处理 I/O 操作(如网络请求、文件读写)时。
2025-01-08 15:07:56 215
原创 LLM的MCP协议:初识MCP,搭建第一个MCP Server
MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。
2025-01-03 17:13:30 106
原创 体验Cursor一段时间后的感受和技巧
总体用了一段时间后,发现最初的一些认识也是并不全面,当然现在的认识也不是很全面。没有代码基础的人还很难使用大模型直接开(这里说一些小工具除外)。这里我们说要有一些好的输入,其实这里也可以是一些你想要参考的功能,这样就模拟你想要的交互功能复制一个应用。无论如何都应该试一试,等真正用了一段时间,就会熟悉并理解这个人机Pair的微妙之处。
2024-12-31 17:44:57 1057
原创 RAG基准性能测试:CRAG
CRAG是Comprehensive RAG Benchmark,一个丰全面的事实问题解答基准,主要是为了推动RAG的发展而设计的。CRAG除去提供了一套Question&Answer配对的数据以外,还提供模拟网络和知识图谱搜索的API。CRAG的设计囊括了五个领域和八个问题类别的各种问题,反映了从流行到长尾的不同实体流行度(我也不知道他为什么这么描述,from popular to long-tail),以及从数年到数秒的时间动态。数据集的详细描述。
2024-12-17 15:54:51 32
原创 使用LLM的IDE一段时间后的体会
其次,我从头到尾review一下代码,发现需求变更越多,代码写的越不好,越不是一个好设计,这就是一个战术性编程(这个名字来自茹老师的新书《软件设计的哲学》的典范,也可以说LLM的辅助编程就是战术龙卷风,但是这对于一个工程来说并不是好事,战略性编程才是更长治久安的选择,但是如果这些永远都是LLM主导维护呢?从零开始使用Windsurf完成了一个web的小东西,总体来说很爽,从零开始一行代码也没写过,全部是在聊天,但是这聊天也不是像产品经理和开发工程师聊天一样,而是更像一个结对编程的导航员的感觉。
2024-12-04 15:16:00 377
原创 Google提出的网页性能评价指标
网页指标”是 Google 推出的一项计划,旨在针对对于提供出色的网页用户体验至关重要的质量信号提供统一指导。Google提出了Web Vitals计划旨在简化环境,帮助网站专注于最重要的指标,即 Core Web Vitals。
2024-11-15 11:38:00 1034
原创 借助大模型实现精准测试未覆盖代码的接口测试用例补充设计
在实现精准测试后,团队中开始很多人抱怨精准测试并没有真是的帮助测试工程师提高质量。精准测试报告能够发现有些变更代码没又被测试用例覆盖到,但是要怎么覆盖就变成了一个难题。目前需要开发工程师和测试工程师一起讨论给出一些测试用例的补充,在精准测试覆盖率报告生成后需要让大家放下手工的工作一起来分析报告补充测试用例确实会有点不太好组织。
2024-11-06 17:33:39 114
原创 Jacoco的XML报告详解
使用jacococli完成jacoco测试报告生成后,会看到有一个.xml结尾的文件,这个就是xml格式的覆盖率报告。除了xml还有csv、html格式的报告,本文进介绍xml报告。
2024-09-11 17:39:54 923
原创 DPR:一种用于开放与问答任务的检索方法
它的核心思想是利用深度学习模型来生成问题的高维密集向量表示,并在大量的文档集合(如维基百科)中检索与问题最相关的文档段落。DPR的优势在于它能够快速地从大量文本数据中检索出与问题相关的信息,为后续的答案生成或提取提供上下文支持。在RAG模型中,DPR作为检索组件,与生成模型(如BART)结合,使得模型在生成答案时能够利用到外部知识源中的信息,从而提高答案的准确性和相关性。查询编码器(Query Encoder):这是一个基于BERT-base模型的编码器,用于将输入的问题转换成一个高维的查询向量。
2024-08-30 14:20:01 595
原创 程序调用大模型返回结构化输出(JSON)
大家很多时候使用langchain、llamaindex等大模型框架的时候,一直很头疼的就是大模型的answer不一定就按照约定的结构化数据返回,那么下面就以讯飞的spark为例解决这个问题。
2024-08-08 15:41:50 549
原创 AI的IDE:Cursor配置虚拟python环境(conda)
Cursor是一个AI的IDE,是从VSCode源代码中fork出来的,专注于和AI一起Coding而生。https://www.cursor.com/是官方地址。最近开始逐渐的试用Cursor,之前一直是VSCode的重度用户,python技术栈,因此Anaconda使用也很频繁。试用中发现Cursor和Anaconda之间的配合没有那么平滑,为了解决这个问题做了如下的一些记录。
2024-08-07 15:17:38 10970 4
原创 Function Calling 快速理解
Function Calling是可以用自己的函数当作调用chatgpt的参数,在函数中我们可以做任何事情,例如获取网络上的数据,查询自己的数据库等。白话就是一下就是大模型函数调用,不是说去调用大模型函数,而是告诉大模型它需要调用那些函数完成处理,然后返回结果。
2024-07-30 15:42:35 328
原创 LLM的幻觉验证
对于模型的幻觉的验证现在虽然已经有了这么多办法,在面对幻觉的时候应该还是有很多未解的问题,对于评估方法、测试实践上还有很多值得探索和挖掘的内容。在模型的幻觉测试中,原子事实的分割和现实完全可信对比的方法虽然繁琐,但是确实当前最容易实施的方案;其次,selfcheckGPT的思路简单,方便实施,但是在相似性评价上哪一个更适合你所测试的模型,却需要读者自己判断了。最后的一致性检测相对繁琐,需要自己准备的内容较多,但是在发现幻觉上发挥一定的作用,也是一个值得深入的方向。
2024-07-26 17:28:33 160
原创 Retrieval-Augmented Evaluation方法评估模型幻觉
构建输入的prompt和golden answer相对比较耗时(可以利用LLM完成设计),往往在完成Golden Answer的设计后很少需要再次设计,因此这个成本的投入是固定的。但是评估方法是每次评估都需要执行的事情,因此建立快速、边界、ROI高的评估方法是相对比较重要的部分。
2024-07-26 11:27:08 161
原创 如何评价一个AI系统
构建输入的prompt和golden answer相对比较耗时(可以利用LLM完成设计),往往在完成Golden Answer的设计后很少需要再次设计,因此这个成本的投入是固定的。但是评估方法是每次评估都需要执行的事情,因此建立快速、边界、ROI高的评估方法是相对比较重要的部分。
2024-07-14 22:40:04 615
原创 Testability的论证
原本只是在一本书上看到Testability的介绍,书中对于Testability的介绍使我对Testability中文翻译可测试性差生了一些疑惑,丛书中的描述中我更倾向于理解其是易测试性,而不是可测试性。因此就开始了翻阅testablity的资料,追溯下来可测试性的翻译确实一点问题也没有,只是书上的描述有点问题。文中很多英文原文的准苏,但是我英文不太好,翻译过来感觉很别扭,我就直接引用了原文。
2024-07-10 14:46:47 828
原创 一次利用大模型完成Jacoco code coverage报告合并的尝试
最近有一些需要合并jacoco报告的需求,这个合并远远超出了jacococli提供的mergeapi的能力,所以尝试用大模型来解决该问题。
2024-07-05 10:47:24 632
原创 Jacoco的覆盖率原理
虽然JVMTI提供了强大的功能,但是需要注意的是,并非所有的JVM实现都支持JVMTI的所有特性。Probe探针在不影响原来的指令执行流程的前提下插入到两个指令之间,每一个探针都插入在程序的control flow的边中,如果探针被执行了,我们可以确定这个边上的代码就会被执行。JUMP(conditional):反转操作码的语义,然后在条件跳转指令后加探针,然后在探针后添加GOTO指令跳转到原本的位置(这是因为字节码是顺序执行的,所以需要添加一个goto,完成无条件跳转的。
2024-07-03 16:14:54 358
原创 线上数据线下使用的数据处理方法:数据脱敏
在信息技术领域,敏感数据是指那些一旦被泄露或滥用,可能会对个人隐私、企业利益或国家安全造成严重影响的信息。这类数据通常包括但不限于:个人信息:如姓名、身份证号、联系方式、住址等。财务信息:如银行账户、信用卡号、交易记录等。商业机密:如产品设计、市场策略、研发资料等。数据脱敏(DataMasking)就是针对敏感信息进行处理的技术,通过对敏感数据的清晰、变形等方法保护了敏感信息的保密性,同时又能够利用这些信息进行质量保证工作的支持。
2024-06-26 11:24:05 207
原创 性能测试并发量评估新思考:微服务压力测试并发估算
相信很多人在第一次做压力测试的时候,对并发用户数的选择一直有很多的疑惑,那么行业内有一些比较通用的并发量的计算方法,但是这些方法在如今微服务的架构下多少会有一些不适合,下面的文章我们对这些问题进行一些讨论,说一说我的思考。
2024-06-21 11:04:27 1156
原创 流量回放的数据隔离
流量回放的数据隔离是回放得以实施的重要部分,如果没有做好数据隔离,回放后对于数据的污染会是一个灾难性的后果。那么除了上面说的隔离方案外,要成功实施流量回放还需要完成一些外部依赖系统的解耦,还有一些内部资格验证的逻辑约束,这是因为有时候流量回放是通过录制后放大的流量进行的回放,因此有些用户、优惠券、活动资格等都是有约束的,这些对于流量回放标记的数据应该有一些豁免权。
2024-06-20 10:43:16 228
原创 成功注册Google的SerpAPI实现AI Agent的tool
SerpApi 是一个专门针对Google搜索结果页面(SERP)的API服务。通过这个API,我们可以获取到Google搜索的各种数据,包括但不限于搜索结果、位置、时间等信息。
2024-06-11 17:22:23 694
原创 LlamaIndex废弃了ParamTuner,可以用RayTuneParamTuner和AsycParamTuner替换
一些实现细节可以参见https://github.com/run-llama/llama_index/blob/main/llama-index-legacy/llama_index/legacy/param_tuner/base.py。LlamaIndex在0.10.x中的llama-index-experimental-param-tuner中设计了ParamTuner,在后面的版本中提供了AsyncParamTuner和RayTuneParamTuner替换。
2024-05-30 11:33:10 162
原创 rest_asyncio 简化和管理异步python编程中的 REST API 调用
rest_asyncio 是一个 Python 库,用于简化和管理异步编程中的 REST API 调用。它结合了 aiohttp 和 asyncio,提供了一种高效的方式来处理网络请求和响应,特别是在需要大量并发请求的场景下,例如爬虫、批量数据获取或实时数据处理。
2024-05-29 17:54:23 251
原创 Elo ranking介绍
Elo ranking,一种经典的排名算法,最初用于评估棋类比赛中选手的水平。现在,它也被广泛应用于各种竞技场景,包括电子竞技、体育比赛以及在线游戏。通过理解Elo ranking,你可以更好地评估测试用例的优先级和价值。Elo ranking旨在根据参与者之间的胜负结果来确定他们的相对能力水平。简而言之,它是一种评估竞争者技能的方法,其数值代表了参与者的相对强度。
2024-05-24 14:07:29 470
原创 HyDE:改善大模型的信息检索的方法
HyDE,全称为Hypothetical Document Embeddings,是一种用于改进信息检索的方法。它通过生成可用于回答用户输入问题的假设文档,来对齐查询和文档的语义空间。这些文档是由大型语言模型(LLM)根据它们自身学习到的知识生成的,然后这些文档被向量化,用于从索引中检索文档。HyDe的工作过程是从使用LLM基于查询生成假设文档开始的,在完成了假设文档的生成后将生成的假设文档输入编码器,将其映射到密集向量空间中。
2024-05-21 18:03:33 1593 2
原创 Ollama局域网内访问
我们平时面对的场景中,服务器往往并不能链接互联网,因此我们就不能用上面介绍的Ollama的命令一样,运行命令直接获从Ollama中央仓库下载一个模型,Ollama为我们提供了一个导入模型的办法。那么如果有些模型没有量化的模型的话,就需要自己动手了,这个主要是借助llama.cpp完成的,具体操作就不做详细说明了,需要的时候,在网上学习吧。选择我的电脑点击右键,选择属性后点击高级系统设置就可以看到环境变量的按钮了,点击进入后可以看到有上下两部分,上面是用户变量,下面是系统变量。重新载入配置,再通过。
2024-04-29 15:59:19 4582
原创 Ollama完成本地模型的运行
Ollama 是一个开源的大型语言模型(LLM)服务工具,它允许用户在本地运行和使用各种大型语言模型。Ollama 提供了一个命令行界面,支持多种流行的模型,如 Llama 3、Qwen 1.5、Mixtral、Gemma 等,并且用户可以根据自己的需求定制和创建模型。Ollama能够实现模型的本地运行,降低了模型开发的复杂度,无聊时AI开发的高手还是新人都可以快速使用Ollama完成模型本地运行。同时可以识别Nvidia、AMD的GPU,AVX、AVX2指令集的CPU。
2024-04-25 13:54:01 1092
原创 LangSmith帮助测试大模型系统
想要使用LangSmith首先进入他的设置页面,https://smith.langchain.com/settings注册一个账号,然后进入API Keys页面创建一个API Keys,我们为例后续演示,这里创建一个test_api_key名字的API Key,如下图所示。LangSmith完成了跟踪LangChain构建应用的所有的中间过程,这也为验收或者测试LangChain构建的基于大模型的应用提供了有力的手段。在项目下的列表中,我们多次执行LangChain构建的大模型的应用也可以做横向对比。
2024-04-24 00:00:29 348
原创 通过Llama Index实现大模型的SQL生成的三种方法详解
llamaindex提供的三种text2sql的方法真的不同的问题都有其更加擅长的方向,并没有一个可以全盘解决问题的技术方案,所以具体选择哪一种还是需要根据面对的问题而定。
2024-04-10 10:46:46 1088
原创 Llama Index的NodeParser详解
Node Parser有很多种,具体需要使用哪一种就需要我们根据数据的内容、数据的特点等做出选择了。
2024-04-08 14:10:09 448
原创 基于chatGLM在llama index上建立Text2SQL
文中使用了chatglm的llm和embedding modle,利用的智谱的免费token。
2024-04-03 11:30:18 715 1
原创 sqlalchemy的Session
在使用SQLAlchemy进行数据库操作时,Session是对数据库交互的主要接口之一。在Session中执行查询时,可以通过不同的方法来添加查询条件,从而筛选出符合要求的记录。以下是一些常见的Session查询中添加条件。
2024-04-03 10:57:20 777
原创 sqlite建立数据库
在做一些简单的实验项目的时候,sqlite比较好用(MacOS验视环境)。相关包下载网页:https://www.sqlite.org/download.html。在当前目录,执行如下代码。目录下面就有了数据库文件。
2024-04-02 17:35:00 786
原创 BM25方法
BM25它是根据 TF-IDF(Term Frequency-Inverse Document Frequency)算法改进而来的,旨在克服 TF-IDF
2024-03-29 18:08:25 478
为集成LLM到测试平台提供更便捷的方式:为讯飞的LLM星火创建接入LangChain类(全部源代码)
2023-11-02
个人版强制更新破解Xshell5的nslicense.dll
2019-01-02
ACIS CAD开发类库9
2009-06-10
ACIS CAD开发类库8
2009-06-10
ACIS--CAD开发类库7
2009-06-10
ACIS--CAD开发类库6
2009-06-10
ACIS--CAD开发类库
2009-06-10
ACIS--CAD开发类库4
2009-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人