自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据污染对大型语言模型的潜在影响

总之,数据污染在LLMs中构成一个潜在的重要问题,可能影响它们在各种任务中的性能。它可能导致结果偏倚并削弱LLMs的真实有效性。通过识别和减轻数据污染,我们可以确保LLMs运行良好并产生准确的结果。现在是技术社区优先考虑数据完整性在LLMs的开发和利用中的时候了。通过这样做,我们可以确保LLMs产生无偏见且可靠的结果,这对于新技术和人工智能的发展至关重要。

2024-04-26 14:37:36 429

原创 快速体验 Llama3 的 4 种方式,本地部署,800 tokens/s 的推理速度真的太快了!

北京时间4月19日凌晨,Meta在官网上官宣了Llama-3,作为继Llama1、Llama2和CodeLlama之后的第三代模型,Llama3在多个基准测试中实现了全面领先,性能优于业界同类最先进的模型,你有没有第一时间体验上呢,这篇文章就分享下如何在Groq上以超过 800 tokens/s 的魔鬼推理速度体验Llama3,会同时分享Web端、移动端、API方式以及集成到LangChain中4种体验方案。我的新书已经开售!

2024-04-26 14:26:51 540

原创 AI 领域精选高质量信息源分享

我在这篇 ChatGPT 发布一周年的总结文章中,已经推荐了不少优质的信息源,但主要还是偏技术向,随着我自己的身份从纯研发角色转变为产品,我的信息源也对应做了一次更新,增加了非技术部分,经过两个月的迭代,基本还算满意,所以这篇文章来总结下。

2024-04-16 22:31:57 933

原创 如何评估一个RAG(检索增强生成)系统

总体上 RAGAs 框架中的指标拆的比较细,考虑的比较全面,大家可以重点阅读下项目整体文档,然后借鉴下部分指标整合进自己的设计,而生成式搜索引擎中的方案,从实践出发,提炼的指标虽然少,但是能够很好的评估出 RAG 应用的效果,直接采用,系统也不需要过多工作量。

2024-04-16 22:25:09 1103

原创 基于大模型的Agent进行测试评估的3种方案

我们都知道当前基于大模型构建的 Agent 能力极不稳定,而今年我司产品又在规划接入 Agent 能力,所以在引入之前,需要先设计一套测试框架,来看看各种场景下容错率是否能达到目标阈值,所以我调研了几种测试方案,本篇来总结下。

2024-03-13 15:25:23 923

原创 基于大模型的 Agent 进行任务规划的10种方式

基于大模型的 Agent 基本组成应该包含规划(planning),工具(Tools),执行(Action),和记忆(Memory)四个方面,上一篇中多轮对话中让AI保持长期记忆的8种优化方式(附案例和代码)重点讲了进行长记忆管理的 8 种方案,本节将从 Agent 概念、ReAct 框架、示例、以及一些论文思路来具体聊下任务规划的话题,同时会辅以代码帮助理解,欢迎大家一起探讨。

2024-03-13 15:16:30 1425

原创 LLMs 应用开发框架 Semantic Kernel 和 LangChain 比较

本文首发于博客Semantic Kernel 和 LangChain 是当前比较受欢迎的两款 LLMs 应用开发框架,笔者通过实现一个支持联网功能的智能 AI 助手来比较分析下两个框架的差异(适合自己场景的工具才是最好滴 🧑🏻‍💻)

2023-11-07 14:21:09 907

原创 一种基于滑动窗口的RAG优化实现方案探索

RAG(检索增强生成)是一种结合了检索(通常是知识库或数据库)和生成模型(大语言模型)的技术,目的是在生成文本的时候能够参考相关的外部知识。这样,即使生成模型在训练时没有看到某些信息,它也能在生成时通过检索到的知识来生成更加准确和丰富的回答,这篇文章实现一种基于动态上下文窗口的方案,能够处理大规模文档,保留重要的上下文信息,提升检索效率,同时保持灵活性和可配置性。

2023-11-07 14:20:43 374

原创 如何利用 instructor 提高 RAG 的准确性和召回率

RAG(Retrieval Augmented Generation)是一种检索增强生成技术,它利用大型语言模型来处理用户查询,RAG 技术的主要组成包括数据提取—embedding—创建索引—检索—排序(Rerank)—LLM 归纳生成,不过实际落地过程来看,将用户查询转换为嵌入向量直接检索,很多时候的结果在相关度方面没有那么理想,本篇分享一种对用户查询进行重写再去进行检索从而提高准确性和召回率的方案

2023-10-15 21:37:35 1087

原创 想快速进行提示工程?这也许是你最需要的提示词管理工具!

在之前的文章中提到构建适合生产环境的 LLM(大型语言模型)应用挑战非常多,比如**提示词的迭代、回归测试、评估等**,agenta 就是一款很好的解决上述问题的工具。能够进行提示词版本控制、实验和评估,可以一键通过 API 的方式发布给开发人员接入使用,并且兼容常用的各种框架、库和模型,达到快速进行提示工程的目的,同时满足开发人员和领域专家的需求,虽然还处于 alpha 阶段,但已经成为我重度使用的提示词管理工具,本篇文章对其进行详细介绍

2023-10-15 21:34:35 384

原创 这款可观测性工具直接将你的大模型应用成本降低50%

Helicone 是一个开源的 LLM 应用可观测性平台,用于记录所有请求到 OpenAI 的日志,并提供用户友好的 UI 界面、缓存、自定义速率限制和重试等功能。它可以通过用户和自定义属性跟踪成本和延迟,并为每个请求提供一个调试环境(playground),以在 UI 中迭代提示和聊天对话内容。此外,Helicone 还提供了 Python 和 Node.JS 支持,以及开发者文档和社区支持。该项目已入选 YC W23(Y Combinator 2023冬季批次加速器计划)。本篇我将对 Helicone

2023-10-15 21:00:00 156

原创 采用 guidance 提高大模型输出的可靠性和稳定性

在复杂的 LLM 应用开发中,特别涉及流程编排和多次 LLM 调用时,每次的 Prompt 设计都取决于前一个步骤的大模型输出。如何避免大语言模型的"胡说八道",以提高大语言模型输出的可靠性和稳定性,成为一个具有挑战性的问题。在开发应用的过程中,我发现了微软推出的开源项目 guidance,能够很好地解决这一繁琐问题,本篇文章对此进行详细说明。

2023-10-14 21:00:00 597

原创 如何避免大语言模型绕过知识库乱答的情况?LlamaIndex 原理与应用简介

随着 LangChain + LLM 方案快速普及,知识问答类应用的开发变得容易,但是面对回答准确度要求较高的场景,则暴露出一些局限性,比如向量查询方式得到的内容不匹配,LLM 对意图识别不准。所以 LlamaIndex(也称为 GPT Index)由社区顺势推出,是一个开发者友好的接口,它将外部数据连接到 LLM,提供了一系列工具来简化流程,包括可以与各种现有数据源和格式(如 api、pdf、文档和 SQL 等)集成的数据连接器,极大的改善了上述问题。

2023-10-13 15:23:13 1483 1

原创 从零开始基于LLM构建智能问答系统的方案

一个完整的基于 LLM 的端到端问答系统,应该包括用户输入检验、问题分流、模型响应、回答质量评估、Prompt 迭代、回归测试,随着规模增大,围绕 Prompt 的版本管理、自动化测试和安全防护也是重要的话题,部分代码参考自吴恩达老师《Building Systems with the ChatGPT API》课程。

2023-10-13 12:48:36 480

原创 The Connector 周刊#10:你真的知道什么是DevOps文化吗?

The Connector 每周会选取我从信息流里获取的有价值内容,包括 AI 探索专题、Github 开源库推荐、工具介绍和一些文章书籍等,目标是链接互联网上的优质内容,获得更多的灵感和知识,从而激发彼此的创造力。

2023-08-27 16:03:30 191

原创 100 道 Python 经典面试题超强汇总(四):函数专题

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他人的代码,并将新发现的知识应用到自己的项目中。内容组织的很棒,总共分为九个章节,我在阅读过程中顺便翻译整理下,用来查缺补漏了。**翻译内容并非原版无对照翻译,有所增减**,本篇是系列第五节。

2023-08-17 20:00:00 54

原创 100 道 Python 经典面试题超强汇总(三):Python 对象内部

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他人的代码,并将新发现的知识应用到自己的项目中。内容组织的很棒,总共分为九个章节,我在阅读过程中顺便翻译整理下,用来查缺补漏了。**翻译内容并非原版无对照翻译,有所增减**,本篇是系列第四节。

2023-08-16 20:00:00 51

原创 The Connector 周刊#8:如何提高工作效率?

The Connector每周会选取我从信息流里获取的有价值内容,包括AI探索专题、Github开源库推荐、工具介绍和一些文章书籍等,目标是链接互联网上的优质内容,获得更多的灵感和知识,从而激发彼此的创造力。标题取自其中一则分享,不代表全部内容都是该主题,特此声明,点击查看周刊全部内容

2023-08-13 22:14:09 151

原创 100 道 Python 经典面试题超强汇总(二):类与对象

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他人的代码,并将新发现的知识应用到自己的项目中。内容组织的很棒,总共分为九个章节,我在阅读过程中顺便翻译整理下,用来查缺补漏了。

2023-08-10 15:40:40 84

原创 手把手教你开发自己的 ChatGPT 代码解释器

让没有 ChatGPT Plus 会员的小伙伴也能用上低配版代码解释器(Code Interpreter)功能,秘诀就是自己造轮子,话不多少,先看效果,然后我会讲解具体实现,最后送上源码。更多硬核内容可以移步 LLM应用全栈开发

2023-08-09 23:10:56 354

原创 100 道 Python 经典面试题超强汇总(一):数据结构

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他人的代码,并将新发现的知识应用到自己的项目中。内容组织的很棒,总共分为九个章节,我在阅读过程中顺便翻译整理下,用来查缺补漏了。**翻译内容并非原版无对照翻译,有所增减**,第一节内容是快速过了下Python基础知识,我这里直接跳过从第二节开始。

2023-08-08 21:51:13 129

原创 langchain源码阅读系列(五)之Callback模块

回调模块允许接到LLM应用程序的各个阶段,鉴于LLM的幻觉问题,这对于日志记录、监视、流式处理和其他任务非常有用,现在也有专用的工具Helicone,Arize AI等产品可用

2023-07-08 09:00:00 994

原创 OpenAI Agent 代码实现

OpenAI 在gpt-3.5-turbo-0613 和 gpt-4-0613两个模型的chat completion api中增加了一个叫的新功能,本篇文章对其功能进行探究,并分析其作用。

2023-07-07 13:54:22 491

原创 langchain源码阅读系列(四)之代理模块

某些应用程序需要基于用户输入的对LLM和其他工具的灵活调用链。Agents为此类应用程序提供了灵活性。代理可以访问单一工具,并根据用户输入确定要使用的工具。代理可以使用多个工具,并使用一个工具的输出作为下一个工具的输入。主要有两种类型的代理:Plan-and-Execute Agents 用于制定动作计划;Action Agents 决定实施何种动作。Agents模块还包含配合代理执行的工具(代理可以执行的操作。为代理提供哪些工具在很大程度上取决于希望代理做什么)和工具包(一套工具集合,这些工具可以

2023-07-06 20:28:41 1353 1

原创 langchain源码阅读系列(三)之Chain模块

链定义为对组件的一系列调用,也可以包括其他链,这种在链中将组件组合在一起的想法很简单但功能强大,极大地简化了复杂应用程序的实现并使其更加模块化,这反过来又使调试、维护和改进应用程序变得更加容易

2023-07-06 20:10:44 2139

原创 langchain源码阅读系列(二)之数据接入层

本节是langchian源码阅读系列第二篇,主要关于数据接入层模块

2023-06-26 08:00:00 1178 3

原创 langchain源码阅读系列(一)之LLM输入输出管理

原文首发于博客文章LangChain 主体分为 6 个模块,分别是对(大语言)模型输入输出的管理、外部数据接入、链的概念、(上下文记忆)存储管理、智能代理以及回调系统,通过文档的组织结构,你可以清晰了解到 LangChain的侧重点,以及在大语言模型开发生态中对自己的定位。从本节开始我将对langchian各个模块对照源码进行介绍,首先看Model I/O模块👇。

2023-06-25 08:00:00 1188

原创 langchain源码阅读系列之Embedding专题

文本嵌入是一种将文本这种离散数据映射到连续向量空间的方法,嵌入技术可以将高维的离散数据降维到低维的连续空间中,并保留数据之间的语义关系,从而方便进行机器学习和深度学习的任务。

2023-06-24 08:00:00 1281

原创 langchain源码阅读系列(零)之开篇介绍

LangChain 就是一个 LLM 编程框架,你想开发一个基于 LLM 应用,需要什么组件它都有,直接使用就行;甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念已经内置标准化方案了。

2023-06-23 08:00:00 1630

原创 如何用OpenAI 接口开发聊天机器人

OpenAI的接口文档十分详细,包括对话补全,文本补全,代码补全等等信息,也包含了最佳生产实践,最佳安全实践等篇章,通读之后十分受用,推荐大家前往阅读。本文就是在接口文档的基础上,将常见的三种OpenAI 接口套壳应用代码展示出来,以帮助读者实现自己的工具。

2023-06-22 08:00:00 785

原创 ChatGPT的前世今生

ChatGPT 是OpenAI开发的人工智能聊天机器人程序,于2022年11月推出。该程序使用基于 GPT-3.5、GPT-4 架构的大语言模型并以强化学习训练。ChatGPT目前仍以文字方式交互,而除了可以用人类自然对话方式来交互,还可以用于甚为复杂的语言工作,包括自动生成文本、自动问答、自动摘要等多种任务。

2023-06-21 15:40:16 2474

原创 文言一心,ChatGLM-6B和ChatGPT等模型概述

大模型在 NLP 任务中的出色表现确实为人工智能领域带来了新的发展和探索方向。语言作为思想的符号,是人类交流和表达的主要方式,因此理解和生成自然语言是通往通用人工智能(AGI)之路的一个重要方向。

2023-06-21 15:32:30 2211

原创 深入浅出Python 描述符

我觉得抓住以下几处重点大概就搞明白这玩意儿了一个描述符是一个有“绑定行为”的对象属性(object attribute),它的访问控制会被描述器协议方法重写。任何定义了__get____set__或者__delete__任一方法的类称为描述符类,其实例对象便是一个描述符,这些方法称为描述符协议。当对一个实例属性进行访问时,Python 会按→→type(obj)的父类.__dict__顺序进行查找,如果查找到目标属性并发现是一个描述符,Python 会调用描述符协议来改变默认的控制行为。

2023-04-11 01:01:37 1074

原创 Python SocketServer.py 源码分析

SocketServerSocketServer 是 Python 标准库中的一个模块,其作用是创建网络服务器。SocketServer 模块定义了一些类来处理诸如 TCP、UDP、UNIX 流和 UNIX 数据报之上的同步网络请求。SocketServer 模块处理网络请求的功能,可以通过两个主要的类来实现:一个是服务器类,一个是请求处理类。服务器类 处理通信问题,如监听一个套接...

2019-08-18 00:26:57 276

原创 Django rest framework源码阅读(1)----请求流程

CBV的dispatch方法当请求到达的时候,首先会被CBV中定义的dispatch处理。 # Note: Views are made CSRF exempt from within `as_view` as to prevent # accidental removal of this exemption in cases where `dispatch` needs to...

2019-06-28 15:49:13 312

原创 Django rest framework源码阅读(2)----CBV模式

CBV基于反射实现根据请求方式不同,执行不同的方法CBV 类需要继承 rest franework 提供的 APIView,APIView 继承自 Django的 views.generic.base.View,所以CBV继承自Django的View。请求到达Django会先执行Django中间件里的方法,然后进行进行路由匹配,在路由匹配完成后,会执行CBV类中的as_view方法,CBV中并...

2019-06-27 17:10:14 167

转载 XSS攻击的理解和总结

xss跨站脚本攻击(Cross Site Scripting)的危害盗取各类用户账号,如用户网银账号、各类管理员账号盗窃企业重要的具有商业价值的资料非法转账控制受害者机器向其他网站发起攻击、注入木马等等...

2019-05-29 14:39:43 1136

转载 SQL注入攻击技巧与防范

sql注入的危害非法读取、篡改、删除数据库中的数据盗取用户的各类敏感信息,获取利益通过修改数据库来修改网页上的内容注入木马等

2019-05-29 12:54:19 1557

转载 django如何取用户上传的头像

在用户信息管理的过程中,如果需要修改用户的头像就需要把用户上传的头像保存在数据库中,django 中可以对 form 定义为文件的时候自动对上传的文件进行保存的。针对这个特性,可以利用 form 定义一个文件类型的 image,把这个字段取出来实际就是内存中的文件:1、先定义一个 form 专门用来对上传文件的处理class UploadImageForm(forms.Mod...

2019-05-23 12:47:16 686

转载 可迭代对象、迭代器和生成器的异同

Talk is cheap,show me the picture!解释之前,我们先来看一张概览图,下面是一张关于容器 (container)、可迭代对象 (Iterable)、迭代器 (iterator)、生成器 (generator)、生成器函数和生成器表达式的概览图。它们之间的从属关系图如下:一、容器 (container)【概述】:容器就是一个用来存储多个元素的数据结构【特点】...

2019-05-16 13:48:07 338

Ubuntu16.04+Python3+虚拟环境以及VScode配置

Ubuntu16.04+Python3+虚拟环境以及VScode配置教程完全指南,10min快速开始Ubuntu下的Python开发

2018-12-13

空空如也

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

TA关注的人

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