- 博客(26)
- 收藏
- 关注
原创 5分钟掌握React的Redux Toolkit + Redux
📌 通过 Redux Toolkit,我们大大简化了 Redux 的使用,让代码更加简洁、高效!模块,并学习 Redux 的核心 API,如。搭建 Redux 状态管理系统。Redux Toolkit 通过。简化了 Redux 的。中提供正确的类型支持。
2025-02-04 21:54:36
496
原创 开源贡献:从 Fork 到 Pull Request(PR)
GitHub 提供了一个非常友好的机制,让任何人都可以参与开源项目的开发,即。以下是详细流程,配合示例和每一步的解释,帮助你掌握为他人项目贡献的全过程。原项目在你 Fork 之后可能已经有了新的更改,你需要同步这些更新。提交 PR 就像给原项目的维护者写信,建议他们合并你的改动。通过这个流程,你将成为开源社区中的一员,用代码改变世界!为了确保每次修改独立,不影响主分支,建议新建分支。项目维护者会审查你的 PR,有可能要求你修改代码。维护者审查通过后,会将你的代码合并到原项目中。你需要在本地对代码进行修改。
2024-11-27 18:00:47
1312
原创 Git 终极新手教学:从小白到开源贡献者**(15分钟)
问题: 为什么我们需要 Git?Git 的作用:小明刚开始写代码,想用 Git 把自己的代码管理起来。效果:举例: 的作用是把文件放进 暂存区,告诉 Git “我要提交这些文件”。例子:小明写了一个 文件,然后运行:效果: 被放进了“快递箱”,等待正式提交。 是把暂存区的文件保存到 版本库,生成一个版本快照。例子:小明提交了代码:效果:举例: 是挑选食材, 是把它们做成一顿饭。小明想把代码传到 GitHub,与队友共享。推送代码到远程:举例:推送代码就像把本地文件上传到云盘
2024-11-27 18:00:04
980
原创 pytest 通过实例讲清单元测试、集成测试、测试覆盖率
(Test Coverage)是衡量一个项目中有多少代码被测试用例覆盖的指标。它表示项目代码的质量保证程度。测试覆盖率通常以百分比的形式表示,如 80% 表示代码中 80% 的部分已经被测试用例运行过。
2024-11-26 11:06:25
2242
原创 Python 测试代码快速入门(10分钟)
基础断言和场景覆盖。参数化测试减少重复代码。异常测试确保代码安全。类和方法的行为验证。使用 Fixtures 提高测试复用性。Mock 测试模拟外部依赖。覆盖率报告衡量测试质量。实践并扩展这些技术,将测试代码集成到你的开发流程中!
2024-11-26 10:59:52
856
原创 Python中的Pipeline快速教学、
Pipeline是scikit-learn中一个强大的工具,能够简化机器学习工作流,确保数据处理的一致性,并方便地进行模型训练和调优。通过将预处理步骤和模型训练步骤串联起来,Pipeline 提高了代码的可读性和可维护性,同时减少了错误和数据泄漏的风险。关键点使用Pipeline将多个步骤串联起来。使用对不同类型的特征应用不同的预处理方法。结合或进行参数调优。使用 Pipeline 进行交叉验证,确保预处理和模型训练在每次迭代中正确应用。
2024-11-25 15:49:16
1808
1
原创 pgvector相似度阈值批量查询并返回top K个结果
IVFFlat (Inverted File with Flat quantization) 是一种常用于向量检索的索引类型,它将向量分成若干簇,并在每个簇内进行快速线性扫描。pgvector支持使用几种不同类型的索引来优化向量查询速度,其中最常见的是IVFFlat索引。在有索引的情况下,这个查询会比没有索引的情况快很多,尤其是在数据量较大的情况下。通过创建和使用向量索引,可以显著提高pgvector在大规模数据集上的查询性能。是HNSW算法的参数,分别控制图的稀疏程度和索引构建时的搜索深度。
2024-05-19 14:44:38
1255
1
原创 LangChain 的 AI 代理的迷人思维
我们将看另一种类型的代理,称为 ReAct 代理。这里的“ReAct”并不代表 React JavaScript 框架。它是 Reason(推理)+ Action(行动)= ReAct 的组合。让我们先创建 ReAct 代理,然后我们将学习它如何工作。对于这个代理,我们也将有一个LLM,一个提示,和一些工具。让我们准备好它们。
2024-05-05 13:08:55
1789
原创 LangChain Cypher 搜索:技巧与窍门
LangChain 应用程序中使用知识图谱的内容,重点关注改进提示以获得更好的 Cypher 语句。提高 Cypher 生成准确性的主要机会是利用 LLMs 的少量能力,提供 Cypher 语句示例,这些示例决定了 LLM 应该生成的语句类型。有时,LLM 模型不能正确猜测属性值,而其他时候,它没有提供我们希望它生成的 Cypher 语句。此外,我们还研究了如何使用像 Personalized PageRank 这样的图算法在 LLM 应用程序中提供更好、更相关的答案
2024-05-01 20:59:38
1156
原创 Neo4j v5 中 Cypher 的变化
Neo4j 的新版本提供了更快的性能和更多的 Cypher 灵活性。然而,你可能需要重构一些现有的 Cypher 语句以适应 Neo4j v5。希望这篇博客文章能帮助你完成升级过程。
2024-05-01 20:48:11
1508
1
原创 在LangChain中使用工具和工具包构建简单的代理
LangChain文档实际上有一个漂亮的好页面围绕其代理的高级概念。这是一个简短的简单阅读,绝对值得一读。如果你查找人工智能代理的定义,你会得到类似 “一个能够感知其环境,对其环境采取行动的实体,并就如何实现既定目标以及边学的能力做出明智的决定。我想说,这非常符合LangChain Agent的定义。使这一切在软件中成为可能的是大型语言模型 (LLM) 的推理能力。LangChain代理的大脑是LLM。LLM用于推理执行用户请求的询问的最佳方式。
2024-05-01 20:33:43
361
原创 Neomodel 快速上手 构建neo4j 知识图谱
python 创建neo4j 数据通常使用py2neo,但是这个包 官方声明已经停止更新,根据neo4j网站推荐使用neomodelneomodel 使用起来很想django 中的orm,如果有django基础的上手很简单,而且neomodel 支持 neo4j 5.X版本更新维护的也较及时用于neo4j图形数据库的对象图形映射器 (OGM) ,基于很棒的构建如果您需要 neomodel 方面的帮助,请在https://github.com/neo4j-contrib/neomodel/
2024-05-01 19:53:06
2046
原创 DSPy:构建一个逻辑推理器
让我们使用 DSPy 构建一个逻辑推理器。推理器的原理很简单。给定一段文本,它首先提取事实,并将它们归类为前提和结论。前提是论点声称将支持其结论的陈述或事实。它们是认为结论为真的理由。结论是前提应该支持或证明的陈述。这是演讲者或作者试图让你基于所提供的前提相信的内容。正确识别前提和结论至关重要。这涉及到理解论点的结构,这些结构可能是明确的或隐含的。逻辑、批判性思维或论证理论的训练可以提高这项技能。在识别了前提和结论之后,推理者必须检查所做论点的有效性和合理性。
2024-04-30 13:25:17
923
原创 DSPy 就是你需要的,放弃 LangChain 吧!
翻译自提示工程的状态并不强大。只需看看我们现在必须包含在提示中的信息,以引出我们想要的回应。这既荒谬又令人担忧。拟人化的程度已经高得离谱。我们现在必须贿赂 LLMs?得了吧。从一开始,我就发现提示工程有一些严重的局限性。同一个提示并不总是产生相似的或甚至是连贯的结果。改变一个词可能会对输出产生巨大的影响。提示工程往往太脆弱,太不可靠。我们不能在沙子上建造未来的系统,更不用说人工通用智能(AGI)了。顺便说一下,我最近提出,我们可能甚至无法建造任何 AGI。
2024-04-30 00:22:48
3125
1
原创 5分钟掌握Pydantic
Pydantic 是一个用于 Python 的数据验证和设置管理库,它允许用户通过继承 `BaseModel` 定义数据模型。这些模型可以自动将输入转换为 Python 原生类型,并且提供类型检查和错误处理功能。Pydantic 的模型还支持 JSON Schema,可以通过 `schema()` 方法将 Pydantic 模型转换成 JSON Schema 格式。JSON Schema 是一种独立于语言的格式,用于描述和验证 JSON 数据结构,广泛应用于自动化测试、API 文档生成和代码生成等场景。通过
2024-04-29 20:59:58
1013
2
原创 Dockerfile创建docker镜像的使用和案例
在这个例子中,ENTRYPOINT 指定了一个应用程序 /usr/bin/myapp 作为容器的入口点,而 CMD 指定了 start 作为这个应用程序的参数。通过这些指令,你可以创建一个完整的 Dockerfile 来定义你的镜像。数据卷是一个可以被容器访问的特殊目录,它与容器的文件系统分离,因此即使容器被删除,数据也不会丢失。指令是 Dockerfile 中的第一条指令,用于指定新镜像的基础镜像。这个指令可以提高容器的安全性,因为它限制了容器内部运行的进程的权限。指令用于声明容器在运行时监听的端口。
2024-03-28 17:35:42
1239
原创 langchain 提示词模版
Few-Shot 提示词工程(Few-Shot Prompt Engineering)是一个涉及设计和优化提示词(Prompts)的过程,目的是使模型能够在只有少量示例的情况下(Few-Shot Learning)理解和执行特定的任务。这种方法试图模仿人类学习新概念时的能力,即通过观察少量的实例就能够理解和应用新知识。创建一个FewShotPromptTemplate对象,用于构建少量样本提示模板。给模型一些样例数据的数据准备。首先定义一个提示词模版。examples效果。给模型生成个输出规范。
2024-03-25 23:09:59
985
原创 langchain llm包装类接入第三方模型 以接入MoonshotAI为例
一个 _identifying_params 属性,用于帮助打印该类。现在让我们结合langchain调用MoonshotAI 的api 演示如何自定义包装类。一个 _call 方法,它接收一个字符串,一些可选的停用词,并返回一个字符串。让我们实现一个非常简单的自定义LLM,它只返回输入的前N个字符。访问:www.moonshot.cn官网。复制api并保存,下面会用到。
2024-03-23 19:36:59
3050
原创 Python Selenium 4 爬虫与自动化测试入门:安装与配置指南 (第一章)
Selenium 4是一个流行的网页自动化测试工具,为测试人员和开发人员提供了一系列强大的功能来模拟用户在网页上的操作。这个版本相较之前版本语法上发生了一系列变化 引入了一些新特性和改进,比如改进的WebDriver接口、新增的终端日志记录功能、更好的网络性能分析工具等。Selenium 也常被用于网页数据爬取。它与其他爬虫工具相比具有一些独特的优势和缺点。下面将分别对其优势和缺点进行概述:🔰网络爬虫检测技术的发展促使了行为检测和指纹识别这两大类方法的广泛应用。
2024-03-06 00:16:37
2358
1
原创 第三章 HuggingFace 指标评价工具、pipeline管道工具
使用管道工具时,调用者需要做的只是告诉管道工具要进行的任务类型,管道工具会自动分配合适的模型,直接给出预测结果,如果这个预测结果对于调用者已经可以满足需求,则不再需要再训练也就是常说的Zero Shot Learning。然而,在现实世界中,获取所有类别的样本数据是非常困难甚至不可能的,因此零样本学习成为了一种有吸引力的方法。HuggingFace提供了统一的评价指标工具,训练和测试一个模型时往往需要计算不同的评价指标,如正确率、查准率、查全率、F1值等,具体需要的指标往往和处理的数据集、任务类型有关。
2024-03-03 22:47:55
1393
原创 第一章 《HuggingFace自然语言处理详解——基于BERT中文模型的任务实战 》第一章 编码
内容出自《HuggingFace自然语言处理详解——基于BERT中文模型的任务实战 》HuggingFace 是什么?AI系统的研发没有统一的标准,往往凭借研发人员各自的喜好随意设计研发的流程,缺乏统一的规范HuggingFace提出了一套可以依照的标准研发流程,按照该框架实施工程,
2024-03-03 12:27:25
1423
3
原创 thinkphp如何使用jwt
首先安装JWTcomposer require firebase/php-jwt生成token数据准备准备一个需要的用户信息 $account = ['id' => 'root', 'password' => 123456];准备一个$payload $payload=[ "userinfo"=>$account, "exp"=>time()+3600*24 //过期时间
2022-02-09 14:12:02
3231
原创 psr-4加载
php的 composer的自动加载注意:必须引入require ‘…/vendor/autoload.php’;才能实现自动查找"classmap"加载"autoload": { "classmap": ["src/", "PACK/" ]},会自动查找根目录下src/", "PACK/"文件夹下的类,可以实现递归查找,更新composer.json后需要使用composer dump-autoload 更新查找规则psr-4查找该目录下级所有类名、命名空间、目录名都是按照ps
2022-02-06 13:26:00
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人