自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NLP工程化

专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。

  • 博客(652)
  • 资源 (29)
  • 收藏
  • 关注

原创 博客文章索引汇总--自然语言处理

一.Caffe学习日记1.Caffe学习日记12.Caffe学习日记23.Caffe学习日记34.Caffe学习日记45.Caffe学习日记56.Caffe学习日记67.Caffe学习日记78.Caffe学习日记89.Caffe学习日记910.Caffe学习日记10二.Python与机器学习1.Python与机器学习12.Python与机器学习23.Python与机器学习34.Python与机器学习45.Python与机器学习56.Python与数据分析17.Python

2020-10-12 18:47:16 440

原创 博客文章索引汇总--软件工程

一.Android学习日记1.Android学习日记1二.小程序学习日记1.小程序学习日记12.小程序学习日记23.小程序学习日记34.小程序学习日记4三.C++学习日记1.C++学习日记12.C++学习日记23.C++学习日记34.C++学习日记45.C++学习日记56.C++学习日记6四.Cocos2d-JS学习日记1.Cocos2d-JS学习日记12.Cocos2d-JS学习日记23.Cocos2d-JS学习日记34.Cocos2d-JS学习日记45.Cocos2

2020-10-11 00:05:03 509

原创 博客文章索引汇总--C#

一.ABP VNext学习日记1.ABP VNext学习日记12.ABP VNext学习日记23.ABP VNext学习日记34.ABP VNext学习日记45.ABP VNext学习日记56.ABP VNext学习日记6二.ASP.NET Core学习日记ASP.NET Core学习日记1ASP.NET Core学习日记2ASP.NET Core学习日记3ASP.NET Core学习日记4ASP.NET Core学习日记5ASP.NET Core学习日记6ASP.NET Cor

2020-10-11 00:04:57 1619

原创 博客文章索引汇总--Python和R

一.Cython学习日记1.Cython学习日记12.Cython学习日记2二.Django学习日记1.Django学习日记12.Django学习日记23.Django学习日记34.Django学习日记45.Django学习日记56.Django学习日记67.Django学习日记78.Django学习日记89.Django学习日记910.Django学习日记1011.Django学习日记1112.Django学习日记1213.Django学习日记1314.Django学习日

2020-10-11 00:04:53 291

原创 博客文章索引汇总--计算机视觉

一.MoveIt教程1.MoveIt教程[1]:Getting Started2.MoveIt教程[2]:MoveIt! Quickstart in RViz3.MoveIt教程[3]:Move Group C++ Interface4.MoveIt教程[4]:Move Group Python Interface5.MoveIt教程[5]:MoveIt! Commander Scripting6.MoveIt教程[6]:Robot Model and Robot State7.MoveIt教

2020-10-11 00:02:46 300

原创 视频生成模型作为世界模拟器

这份技术报告集中于(1)我们将所有类型的视觉数据转换为统一表示的方法,该方法使得生成模型的大规模训练成为可能;以及(2)对Sora能力和限制的定性评估。模型和实现细节不包含在此报告中。

2024-02-17 00:02:09 1299

原创 Sora:将文本转化为视频的创新之旅

介绍 Sora——我们开发的文本到视频转换模型。Sora 能够根据用户的输入提示,生成最长达一分钟的高质量视频内容。

2024-02-17 00:00:33 999

原创 Nebula Siwi:基于图数据库的智能问答助手思路分析

本文重点分析 Nebula Siwi 智能问答思路,具体代码可参考[2],使用的数据集为 Basketballplayer[3]。

2024-02-04 00:03:34 882

原创 梳理Langchain-Chatchat知识库API接口

本文主要介绍了Langchain-Chatchat知识库管理接口的实现逻辑。

2024-01-23 22:47:18 2659

原创 langchain中的Document类

在Langchain-Chatchat的上传文档接口(upload_docs)中有个自定义的docs字段,用到了Document类。根据发现指的是from langchain.docstore.document import Document。本文简要对Document类进行介绍。

2024-01-22 00:25:10 762

原创 FX图中的节点代表什么操作

在 FX 图中,每个节点代表一个操作。这些操作可以是函数调用、方法调用、模块实例调用,也可以是 torch.nn.Module 实例的调用。每个节点都对应一个调用站点,如运算符、方法和模块。

2024-01-14 23:55:31 424

原创 PyTorch中的AOTAutograd、PrimTorch和TorchInductor

在 PyTorch 中,AOTAutograd 是一个先进的功能,它是 Ahead-Of-Time (AOT) Autograd 的缩写。这是一种新的自动微分方法,它在编译时而不是运行时计算梯度。这使得它可以更有效地处理大型计算图。

2024-01-14 23:54:35 1092

原创 PyTorch中的FX图

FX 图是 PyTorch 中的一个主要数据结构,用于在 FX 中间表示(Intermediate Representation,IR)中表示程序。FX 图由一系列节点组成,每个节点代表调用站点(比如运算符、方法和模块)。

2024-01-14 23:53:57 575

原创 TorchDynamo 原理和示例

TorchDynamo 是一个设计用于加速未修改的 PyTorch 程序的 Python 级即时(JIT)编译器。它通过 Python Frame Evaluation Hooks(Python 框架评估钩子)来实现这一目标,以便在运行时动态地生成和优化代码。这使得 TorchDynamo 可以有效地处理各种 Python 代码,包括包含控制流(如循环和条件语句)的代码,而无需进行任何修改。

2024-01-14 23:53:10 560

原创 PyTorch中的Eager模式

在 PyTorch 中,"Eager Execution"(即即时执行模式)是指一种动态图计算模式,其中每个操作都立即被执行,而不是被先放入计算图中。这与静态图计算框架(如 TensorFlow 的早期版本)的工作方式不同。在即时执行模式中,你可以像使用 NumPy 一样进行操作,逐步构建计算图,方便调试和交互。

2024-01-14 23:52:17 626

原创 PyTorch中的nn.LeakyReLU()、nn.Module和nn.ModuleList

在 PyTorch 中,nn.LeakyReLU() 是一个激活函数,用于引入非线性性到神经网络中。Leaky ReLU 是修正线性单元(ReLU)的一种变体,它在输入为负数时不是完全置零,而是引入一个小的负斜率。

2024-01-14 23:33:54 617

原创 LLM模型的generate和chat函数区别

在 Hugging Face 的 transformers 库中,GPT(Generative Pre-trained Transformer)类的模型有两个常用的生成文本的方法:generate 和 chat。这两个方法在使用上有一些区别。通常公司发布的 LLM 模型会有一个基础版本,还会有一个 Chat 版本。比如,Qwen-7B(基础版本)和 Qwen-7B-Chat(Chat 版本)。

2024-01-14 23:32:12 877

原创 LlamaIndex中的CustomLLM(在线加载模型)

上述代码在加载 Embedding 模型的时候还是从本地加载的,这部分也是可通过 REST 接口方式调用的。基本思路:继承 BaseEmbedding 类,将加载 Embedding 模型部分封装为 REST 接口。可重点参考下 OpenAIEmbedding 类的实现。

2024-01-14 23:29:55 759 1

原创 LlamaIndex中的CustomLLM(本地加载模型)

LlamaIndex 中接口基本上调用的是 OpenAI,如果想想调用自定义模型可以吗?答案当然是可以的。经过查找找到了自定义大语言模型的简单抽象基类 class CustomLLM(LLM)。

2024-01-14 23:28:30 1071

原创 Python中的魔法方法

Python 中有很多魔法方法,它们以双下划线 __ 开头和结尾,用于实现类的特殊行为。

2024-01-14 23:14:16 534

原创 Python中的__repr__()方法

在 Python 中,__repr__() 是一个特殊方法(magic method),用于定义对象的字符串表示形式。当你调用内置函数 repr() 或使用 str() 函数来获取对象的字符串表示时,实际上是调用了对象的 __repr__() 方法。

2024-01-14 23:13:33 492

原创 Python中的__add__()方法

在 Python 中,__add__() 是一个特殊方法(magic method),用于定义对象之间的加法操作。当你使用 + 运算符对两个对象进行相加时,实际上会调用对象的 __add__() 方法。

2024-01-14 23:12:44 726

原创 Python中的__call__()方法

在 Python 中,__call__() 是一个特殊方法(magic method),用于使对象变成可调用(callable)。当一个对象实现了 __call__() 方法时,你可以像调用函数一样调用这个对象,就好像它是一个函数一样。

2024-01-14 23:11:51 420

原创 Centos创建一个Python虚拟环境

在 CentOS 上创建一个 Python 虚拟环境,可以使用 virtualenv 工具。

2024-01-14 23:10:27 810

原创 Python中的@property

在 Python 中,@property 是一种装饰器,用于将一个方法转换成只读属性。通过使用 @property 装饰器,你可以定义一个类的方法,使其在访问时可以像访问属性一样,而不是通过方法调用。

2024-01-14 23:09:19 567

原创 BM25(Best Matching 25)算法基本思想

BM25(Best Matching 25)是一种用于信息检索(Information Retrieval)和文本挖掘的算法,它被广泛应用于搜索引擎和相关领域。BM25 基于 TF-IDF(Term Frequency-Inverse Document Frequency)的思想,但对其进行了改进以考虑文档的长度等因素。

2024-01-14 23:01:52 1596

原创 以报时机器人为例详细介绍tracker_store和event_broker

报时机器人源码参考[1][2],本文重点介绍当 tracker_store 类型为 SQL 时,events 表的表结构以及数据是如何生成的。以及当 event_broker 类型为 SQL 时,events 表的表结构以及数据是如何生成的。

2024-01-07 22:51:25 1306

原创 Python中的@abstractmethod

@abstractmethod 是 Python 中 abc 模块(Abstract Base Classes)提供的一个装饰器,用于声明抽象方法。抽象方法是指在抽象类中声明但没有提供具体实现的方法,而是由其子类提供具体实现。

2024-01-06 22:20:17 751 2

原创 Python函数加async,但没有加await可以异步吗

在Python中,如果一个函数被标记为async,这意味着它是一个异步函数。但是,仅仅因为一个函数被标记为异步并不意味着它会自动异步执行。为了使异步函数真正异步,你需要在函数内部使用await关键字来调用其他异步函数或操作。

2024-01-06 22:19:03 504

原创 Python中的cls语法

在Python中,cls 是一个用于指代类本身的约定性名称,通常用作类方法(class method)中的第一个参数。cls 类似于 self,它是对类的引用,而不是对实例的引用。cls 通常在类方法中用于访问类级别的属性和方法。

2024-01-06 22:17:47 611

原创 Python中的装饰器

顾名思义,函数装饰器就是对这个函数进行了装饰,比如在函数的前后进行日志打印等。在Python中,装饰器是一种特殊的语法,用于简化函数或方法的定义和调用。装饰器允许你在不修改原始函数代码的情况下,通过在其上应用装饰器来添加或修改其行为。装饰器通常以 @decorator 的形式使用。装饰器是一种灵活且强大的技术,广泛用于Python中。它们常用于日志记录、性能分析、权限检查等场景。你也可以组合多个装饰器,以便在一个函数上应用多个修饰行为。

2024-01-06 22:16:00 451

原创 Python中的协程、线程和进程

协程、多线程和多进程都是实现程序并发执行的方法,不过它们在工作方式和适合的应用场景上存在一些区别。

2024-01-02 23:48:40 1260

原创 Rasa中的tracker_store和event_broker

Rasa 中的 tracker_store 相对主流为 Redis,event_broker 相对主流为 RabbitMQ。后续为了研究学习直接将 tracker_store 和 event_broker 的 type 都设置为 SQL,使用 MySQL 统一管理。

2024-01-02 23:47:13 425

原创 打通Rasa Action Server和LLM接口的尝试方法

本文使用最简单的方法对打通 Rasa Action Server 和 LLM 接口进行了尝试,即当 Rasa 对话 intent 为 out_of_scope 时,调用 action_gpt_fallback 的 action,在 action 中根据 tracker.latest_message.get("text")拿到 user_input,然后再调用知识库模型的 API 接口。

2024-01-01 23:31:17 406

原创 Rasa初始化聊天机器人的配置

本文详细介绍了使用 rasa init 初始化聊天机器人项目的配置,包括 nlu.yml、rules.yml、stories.yml、test_stories.yml、config.yml、credentials.yml、domain.yml、endpoints.yml 等文件。

2024-01-01 23:29:38 947

原创 梳理Langchain-Chatchat-UI接口文档

在 Langchain-Chatchat v0.1.17 版本及以前是有前后端分离的 Vue 项目的,但是 v0.2.0 后就没有了。所以本文使用的是 Langchain-Chatchat v0.1.17 版本中的 Vue 项目。经过一番折腾终于将 Langchain-Chatchat v0.1.17 版本前端 Vue 接口和 Langchain-Chatchat v0.2.8 后端 API 接口调通了。

2024-01-01 23:27:17 2404 9

原创 3种依赖管理工具实现requirements.txt文件生成

记得在使用 Poetry 时,最好使用 poetry.lock 文件而不是 requirements.txt 文件来确保安装相同版本的依赖项。poetry.lock 包含了更详细的依赖关系和版本信息。Rasa 开源项目使用的依赖管理工具就是 Poetry,但是在平时使用 Python 工程时使用最多的还是 pip。

2024-01-01 23:25:43 518

原创 python -m http.server在本地启动简单HTTP服务器的命令

python -m http.server 是一个用于在本地启动简单 HTTP 服务器的命令。这个命令会在当前工作目录启动一个基本的 HTTP 服务器,可以让你通过浏览器访问本地文件。

2024-01-01 23:24:09 1945

原创 使用vLLM和ChatGLM3-6b批量推理

当数据量大的时候,比如百万级别,使用 ChatGLM3-6b 推理的速度是很慢的。发现使用 vLLM 和 ChatGLM3-6b 批量推理极大的提高了推理效率。本文主要通过一个简单的例子进行实践。

2023-12-23 21:30:41 951 2

原创 RasaGPT对话系统的工作原理

RasaGPT 结合了 Rasa 和 Langchain 这 2 个开源项目,当超出 Rasa 现有意图(out_of_scope)的时候,就会执行 ActionGPTFallback,本质上就是利用 Langchain 做了一个 RAG,调用 LLM API。RasaGPT 涉及的技术栈比较多而复杂,包括 Rasa、Langchain、LlamaIndex、Telegram、PostgresSQL、PGVector、Ngrok、FastAPI、Docker、docker-compose、Dozzle 等。

2023-12-23 21:28:49 657

人工智能干货推荐.txt

免费送1000+本人工智能电子书,将近20G人工智能干货资料。包括[01]Python书籍_183;[02]机器学习书籍_144;[03]数据挖掘书籍_86;[04]自然语言处理书籍_72;[05]计算机视觉书籍_83;[06]深度学习书籍_93;[07]强化学习书籍_19;[08]语音技术书籍_19;[09]大数据书籍_49;[10]人工智能商业报告_295

2019-06-20

flasky.zip

绝对多数的网站或APP都需要对用户进行认证,包括用户注册、用户登录、邮件确认、修改密码、修改邮箱等功能。有的还需要绑定手机号码,或者使用微信等第三方账号进行登录。该代码是基于Flask实现社交博客程序的用户认证部分。

2019-05-29

TextCNN的TensorFlow实现

TextCNN的核心点在于可以捕获信息的局部相关性,具体到文本分类任务中可以利用CNN来提取句子中类似N-Gram的关键信息。

2019-01-24

TextRNN的TensorFlow实现

TextCNN擅长捕获更短的序列信息,但是TextRNN擅长捕获更长的序列信息。具体到文本分类任务中,BiLSTM从某种意义上可以理解为可以捕获变长且双向的N-Gram信息。

2019-01-24

ResNet的Keras实现

VGGNet和GoogLeNet等网络都表明有足够的深度是模型表现良好的前提,但是在网络深度增加到一定程度时,更深的网络意味着更高的训练误差。误差升高的原因是网络越深,梯度弥散[还有梯度爆炸的可能性]的现象就越明显,所以在后向传播的时候,无法有效的把梯度更新到前面的网络层,靠前的网络层参数无法更新,导致训练和测试效果变差。所以ResNet面临的问题是怎样在增加网络深度的情况下有可以有效解决梯度消失的问题。ResNet中解决深层网络梯度消失的问题的核心结构是残差网络。

2019-01-22

ResNet的TensorFlow实现

VGGNet和GoogLeNet等网络都表明有足够的深度是模型表现良好的前提,但是在网络深度增加到一定程度时,更深的网络意味着更高的训练误差。误差升高的原因是网络越深,梯度弥散[还有梯度爆炸的可能性]的现象就越明显,所以在后向传播的时候,无法有效的把梯度更新到前面的网络层,靠前的网络层参数无法更新,导致训练和测试效果变差。所以ResNet面临的问题是怎样在增加网络深度的情况下有可以有效解决梯度消失的问题。ResNet中解决深层网络梯度消失的问题的核心结构是残差网络。

2019-01-22

LinkQueue.cpp

LinkQueue.cpp

2014-11-10

二叉树顺序存储结构的基本操作

http://blog.csdn.net/ssw_1990/article/details/40511665代码。

2014-11-08

apache-ant-1.8.3-bin.tar

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。

2014-11-02

概率与计算

《概率与计算》详细地介绍了概率技术以及在概率算法与分析发展中使用过的范例。《概率与计算》分两部分,第一部分介绍了随机抽样、期望、马尔可夫不等式、切比雪夫不等式、切尔诺夫界、球和箱子模型、概率技术和马尔可夫链等核心内容。第二部分主要研究连续概率、有限独立性的应用、熵、马尔可夫链蒙特卡罗方法、耦合、鞅和平衡配置等比较高深的课题。《概率与计算》适合作为高等院校计算机科学和应用数学专业高年级本科生与低年级研究生的教材,也适合作为数学工作者和科技人员的参考书。

2014-08-21

Git-1.9.4-preview20140611.exe

Git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。

2014-07-15

python-delicious-master

使用此组件,可以操作delicious。同时,分析源码也可以学习python。http://blog.csdn.net/ssw_1990/article/details/27341239

2014-05-28

menagerie-db.rar

mysql 5.1参考手册中使用的动物园数据库。

2014-05-08

岭回归分析总结

岭回归分析是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的耐受性远远强于最小二乘法。岭回归分析主要解决两类问题:数据点少于变量个数;变量间存在共线性。

2014-04-21

macrodata数据集

利用Python进行数据分析,macrodata数据集。

2014-04-15

小费数据集

利用Python进行数据分析,小费数据集。

2014-04-15

ipython_bug.py

一个含有bug的python文件,主要是通过这个文件,学习ipython中ipdb的使用。

2014-04-07

深入理解MySQL核心技术

从公共可用性的意义上讲,MySQL源代码是开放源代码,但如果对其不了解,则实质上,它对于您来说是封闭的。MysQL开发团队的前成员Sasha Pachev通过《深入理解MySQL核心技术》给出了MySQL 5的全面指南,揭示了这一强大数据库的内部运作。您将直奔MySQL核心技术,了解各种数据结构和各种方便的功能的运作情况,了解如何添加新的存储引擎和配置选项等。

2013-05-08

MySQL源码分析整理

为了实现MySQL的更高级别的性能调优,我们通常需要理解其内部实现机制,并对其进行优化调试。在下面的系列中,我们会分别介绍MySQL的部分内部实现机制。

2013-05-08

MySql常用命令详解

MySQL是一个广受Linux社区人们喜爱的半商业的数据库。MySQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。

2013-05-08

云计算核心技术剖析

本书分为四大部分:第一部分为理论篇,主要介绍云计算理论方面的知识;第二部分为产品与技术篇,深入剖析多个顶尖云计算产品的实现,介绍了云计算中非常重要的系统虚拟化技术和安全方面的机制;第三部分为实践篇,将选择云的核心模块之一——分布式数据库作为实践的方向,并以YunTable这个云时代的BigTable 为例,给大家演示如何手动编写和设计一个分布式数据库;最后一部分为展望篇,预测了云计算和整个科技事业未来的发展。

2013-05-04

JavaScript权威指南

Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。

2013-03-22

Snort入侵检测

最好的入侵检测系统(IDS)是免费的、开源的Snort 工具。它拥有大量的用户,而且有商业公司Sourcefire 的支持,使得Snort 成为受到欢迎的入侵检测系统工具。这个工具本身是免费的。它所需要的是一些在上面运行的硬件以及安装、配置和维护的时间。Snort 可以在任何操作系统上运行,包括Windows 和Linux,但是有人认为它的操作很复杂。本专题的目的是揭示Snort 的神秘性。

2013-03-12

Proteus入门教程

本书将简单介绍一下Proteus的使用。在这里,我用的Proteus版本是Proteus 6.7 sp3 Professional。

2013-03-11

计算机经典教材

计算机和网络经过几十年的发展,关于这方面的经典教材值得每一个想学有所成的计算机专业人士研读,“计算机经典教材”目录就是这样的向导。

2013-03-11

知者无畏:一个真实的病毒世界

谈起电脑病毒,广大的读者恐怕都有谈虎色变的感觉,不知道这东西到底躲在什么地方,也不知道它们会对自己做些什么。不知道有谁说过这样一句话“无知者无畏”,我觉得真实情况恰恰相反,真正无畏的人只能是拥有了足够知识的人。人心中最大的恐惧就是对未知的恐惧,恐怖片之所以恐怖,是因为你不知道下面将要发生什么;电脑病毒之所以恐怖,也正是因为你不知道它们是什么,它们能做什么。而在电脑病毒这样一个迫切需要知识的领域,真正专业性的书籍很少,仅有的一些书,不是从哗众取宠的目的出发,拼凑一些骇人听闻的病毒/黑客故事,就是非常简单和粗浅的对80年代的病毒进行教科书似的描述。缺少具有专业性和权威性的著作,对于一些新的病毒和反病毒技术,象VBScript病毒、因特网蠕虫等,更是缺少足够的论述。

2013-03-10

计算机学习速成法

计算机学习速成法

2011-11-04

MFC类库详解MFC类库详解

MFC类库详解MFC类库详解MFC类库详解MFC类库详解

2010-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除