自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AutoGen :使用 Swarm 构建自治型多智能体团队

AutoGen 的 AgentChat 模块提供了一种强大的方法来构建多智能体协作系统。在之前的文章中,我们探讨了如何使用 SelectorGroupChat来实现智能体选择。今天,我们将探索团队,它允许智能体基于各自的能力将任务传递给其他智能体,创建一个真正的自治协作环境。实现了这样一个团队,其中智能体可以根据其能力将任务切换给其他智能体。这是一个由 OpenAI 首次在中引入的多智能体设计模式。其核心思想是让智能体使用特殊的工具调用来将任务委派给其他智能体,同时所有智能体共享相同的消息上下文。

2025-03-17 11:15:59 737

原创 AutoGen 高级技巧:使用 Selector Group Chat 实现智能体动态选择

AutoGen 的 SelectorGroupChat 提供了一种强大的方式来构建自适应的多智能体系统。 通过学习如何利用智能体描述、自定义选择器以及用户反馈,你可以构建出能够动态地选择最合适的智能体来解决复杂任务的AgentChat系统。无论是信息检索、数据分析还是用户交互,SelectorGroupChat 都能帮助你构建出更灵活、更智能的协作式应用。

2025-03-06 11:29:25 705

原创 AutoGen :打造专属智能体 (Custom Agents)

AutoGen 非常灵活,允许你使用任何支持的模型。如果你想使用非预置的模型,需要实现自定义的模型客户端。以下是使用来创建自定义智能体的例子。您需要安装才能运行此示例。import osself,name: str,description: str = "一个能提供帮助并能使用工具的智能体。",| None = "你是一个乐于助人的助手,可以响应消息。当任务完成时回复 TERMINATE。",):@propertyraise AssertionError("流应该已返回最终结果。")

2025-02-24 18:47:54 1135 1

原创 AutoGen:终止条件和管理状态(Termination & Managing State)

AutoGen AgentChat 提供了一套精细的机制来构建更智能、更可控的对话系统。终止机制 (Termination) 允许你定义明确的结束条件,无论是基于对话轮数、特定关键词、时间限制还是外部信号,确保对话在适当的时机停止。而状态管理 (Managing State) 则提供了持久化智能体和团队记忆的能力,从而支持跨会话的任务,即使服务重启也能无缝衔接,共同创造灵活、持久的多智能体应用。

2025-02-21 14:42:29 977

原创 AutoGen:将人类反馈融入智能体循环 (Human-in-the-Loop)

将人类融入到智能体循环中,是构建更灵活、更适应性强的 AgentChat 系统的关键。AutoGen 通过 UserProxyAgent 和各种终止条件,为我们提供了多种人机协同的方法。通过灵活运用这些方法,我们可以构建出既能自主运行,又能接受人类指导的智能体系统。

2025-02-19 13:11:10 850

原创 AutoGen:玩转多智能体团队协作 (Teams)

AutoGen 的 Teams 功能为我们提供了一种构建多智能体协作系统的强大方式。通过了解如何创建、运行、观察、控制和管理团队,你可以充分利用 AutoGen 的 AgentChat 模块,解决各种复杂的任务。希望本文能帮助你快速上手 AutoGen 的 Teams 功能,并在实践中发挥其强大的潜力!

2025-02-18 18:40:19 826 1

原创 微软最强AI Agent框架 AutoGen 0.4 初探:Agents

AutoGen AgentChat 提供了丰富的 Agent 类型选择,允许开发者根据需求灵活配置 LLM。通过了解各种 Agent 客户端的特性和用法,并结合实际应用场景,你可以构建出强大的 AgentChat 系统,驱动智能代理完成各种任务。希望这篇博客文章能够帮助你更好地理解 AutoGen AgentChat 中的 Agent 概念,并为构建更智能、更强大的 AgentChat 系统奠定基础!

2025-02-08 20:54:18 1633

原创 PydanticAI 函数工具:让你的 AI Agent 更智能、更强大

PydanticAI 的函数工具为你的 AI Agent 提供了强大的扩展能力。通过简单的装饰器、参数配置以及动态准备方法,你可以轻松地将各种外部功能集成到你的 Agent 中。这不仅使得 Agent 能够处理更复杂的问题,还使得它们更加灵活、可靠。希望本文的介绍能帮助你更好地利用 PydanticAI 的函数工具,构建更智能的 AI 应用。

2025-02-02 22:37:55 910

原创 PydanticAI应用实战

PydanticAI 是一个 Python Agent 框架,旨在简化使用生成式 AI 构建生产级应用程序的过程。 它由 Pydantic 团队构建,该团队也开发了 Pydantic —— 一个在许多 Python LLM 生态系统中广泛使用的验证库。PydanticAI 的目标是为生成式 AI 应用开发带来类似 FastAPI 的体验,它基于 Pydantic 构建,并提供了强大的功能。你可以使用下面的脚本来安装PydanticAI:PydanticAI的简单应用在下面的python脚本是我在j

2025-01-28 14:18:44 1180

原创 大语言模型(LLM)量化基础知识(一)

随着大型语言模型 (LLM) 的参数数量的增长,与其支持硬件(加速器内存)增长速度之间的差距越来越大,如下图所示:加速器(一般指GPU)是专门的硬件,用于加速机器学习训练。它们的内存容量对于训练大型模型至关重要。上图显示了模型大小和加速器内存之间不断增长的差距。“差距”表示模型大小的增长速度远远超过了硬件内存容量的增长速度。这种差距对 LLM 的训练和部署提出了重大挑战。2022 年,模型规模达到了顶峰,但到了 2023 年,人们发现中等规模的模型(~70B 参数)在实际应用中更加实用和高效。

2024-11-04 11:05:26 1397

原创 RAG进阶(二): RAG 融合(rag fusion)

今天我们来介绍RAG 融合(rag fusion),它的主要思想是在Multi Query的基础上,对其检索结果进行重新排序(即reranking)后输出Top K个最相关文档,最后将这top k个文档喂给LLM并生成最终的答案(answer)。

2024-05-06 17:10:09 5465 3

原创 RAG进阶(一): 多重查询(Multi Query)

今天我们学习了如何如何避免在做RAG检索时,由于查询语句因人而异而导致检索结果不够全面和完整。我们的主要方法是当用户在做检索时,我们让LLM基于用户的查询语句再生成多个查询语句,这些由LLM生成的查询语句能够从多个视角用户的查询语句进行补充。这样可以使得LLM能够更加准确的理解用户查询语句的真正含义从而给出更加完整且全面的答案。

2024-04-19 16:14:13 4214

原创 RAG(检索增强生成)的基础知识总结: 关于token

token可以被认为是单词(词语)的片段, 在用户对大语言模型提出问题的时候,我们的输入(prompt)会被分解成一组token, 在英语的句子中单词之家存在空格,一些常见的单词可能会被切割成独立的token, 但并非所有的单词都会被切割成独立的token, 有时候一个单词可能会被切割成多个token, token可以包含尾随在单词后面空格甚至子单词。​​​​​或者因此可以这么认为一个句子,或者一篇文章它们的token总数往往会大于句子或者文章的单词总数。

2024-03-22 13:16:11 2517

原创 大型语言模型的语义搜索(二):文本嵌入(Text Embeddings)

单词和句子嵌入是大型语言模型(LLM)的主要工作。它们是大多数语言模型的基础构件,它通过捕获了单词、语义和语言细微差别之间的许多关系,并将其转换为有关相应数字,从而将人类语言(单词)翻译为计算机能理解的语言(数字)。

2024-02-24 18:58:44 2335 2

原创 大型语言模型的语义搜索(一):关键词搜索

关键词搜索(Keyword Search)是文本搜索种一种常用的技术,很多知名的应用app比如Spotify、YouTube 或 Google map等都会使用关键词搜索的算法来实现用户的搜索任务,关键词搜索是构建搜索系统最常用的方法,最常用的搜索算法是,简称BM25。在信息检索中,Okapi BM25(BM是最佳匹配的缩写)是搜索引擎用来估计文档与给定搜索查询的相关性的排名函数。

2024-02-22 18:14:26 4160

原创 AutoGen实战应用(三):多代理协作的数据可视化

今天我们进一步加深了对多代理协作原理的理解,并在此基础上实现了数据的下载分析以及可视化,需要说明的是manager-broadcast机制是一种最基本的多代理协作的工作方式,为了适应一些更为复杂的应用场景,还有一些复杂的AutoGen多代理协作的工作方式,将会在以后的博客中介绍,希望今天的内容对大家学习AutoGen会有所帮助。

2024-02-06 14:48:46 3018

原创 AutoGen实战应用(二):多代理协作(Multi-Agent Collaboration)

在今天介绍了AutoGEN中的多代理协作(Multi-Agent Collaboration)的基本原理,即当我们遇到较为复杂的任务时我们可以创建多个agent,并且为每个agent赋予不同的角色如(user_proxy, coder,pm)等,并且每个角色都要有角色说明(system_message),通过角色说明可以让LLM充分了解当前agent的作用,同时我们还创建了一个GroupChat组和组管理员manager,并且将所有的agent都放入GroupChat组中,这样通过manager的广播机制就

2024-01-27 22:36:21 5077 1

原创 高级RAG(八): 自动合并检索(Auto-merging Retrieval)

关于自动合并检索评估的方法总结和补充说明:使用不同的文档层次结构参数进行迭代(级别数、子级数)和不同的块大小使用 RAG三元组评估应用程序版本跟踪实验以选择最佳的文档分割的层次结构参数找到关于最适合某些文档类型的超参数(文档层次结构参数)的直觉自动合并检索是对句子-窗口检索的补充

2024-01-19 13:24:36 3576 2

原创 高级RAG(七): 评估句子-窗口检索

今天我们详细介绍了如何使用trulens对LlamaIndex的句子窗口检索结果进行评估,基于成本的考虑我们只进行了两轮评估,从评估的结果上看 Sentence window size =1 似乎是个较为理想的值,因为它的各项指标均由于Sentence window size =3,希望今天的内容对大家学习RAG有所帮助。

2024-01-16 13:23:47 2088 1

原创 高级RAG(六): 句子-窗口检索

Sentence Window Retrieval 是一种检索策略,用于检索与查询相关的文本。它首先检索最相关的句子,然后返回围绕该句子的更广泛的文本,以便为 LLM 提供更广泛的上下文来支撑其响应。

2024-01-13 11:35:06 2941 1

原创 高级RAG(五):TruLens 评估-扩大和加速LLM应用程序评估

今天我们学习了TruLens评估的基本原理,其中包括RAG三元组Context Relevance,Groundedness和Answer Relevance的定义和作用,然后我们又使用llamaIndex开发了基本RAG应用,最后我们使用了TruLens的反馈函数对基本RAG的检索结果进行了评估。希望今天的内容对大家学习RAG有所帮助.

2024-01-08 19:03:30 3798 4

原创 高级RAG(四):RAGAs评估

RAGAs (Retrieval-AugmentedGenerationAssessment) 它是一个框架(github官方文档question:用户输入的问题。answer:从 RAG 系统生成的答案(由LLM给出)。contexts:根据用户的问题从外部知识源检索的上下文即与问题相关的文档。: 人类提供的基于问题的真实(正确)答案。这是唯一的需要人类提供的信息。

2024-01-03 16:53:17 14434 25

原创 使用python快速开发与PDF文档对话的Gemini聊天机器人

今天我们主要介绍了如何开发一个简单的RAG系统:基于pdf文档问答的机器人应用,其中我们应用了langchain的父文档检索策略,panel的页面聊天组件chat_interface以及谷歌的Gemini大模型。希望今天的内容对大家学习RAG和聊天机器人程序有所帮助。

2023-12-31 13:39:58 2294

原创 高级RAG(三):llamaIndex从小到大的检索

LlamaIndex是一个用于连接大语言模型(LLMs)和外部数据源的数据框架,它可以让LLMs访问和利用私有或领域特定的数据。数据连接:支持从本地文件、Notion、Google文档、Slack、Discord等多种数据源读取数据。数据索引:支持构建不同类型的索引结构,如列表索引、向量索引、树形索引、关键词表索引等,以便快速检索和过滤数据。查询接口:支持使用自定义的输入提示(prompt)与LLMs进行交互,以获取知识增强的响应。

2023-12-28 16:37:57 5268

原创 使用python快速开发各种聊天机器人应用

Panel是一个开源的Python库,它可以让你用Python轻松地构建强大的工具、其中包括聊天机器人程序,今天我们使用panel快速开发了ChatGPT,Gemini,Langchain的聊天机器人应用。通过使用使用panel库,我们可以开发出功能强大界面美观的web机器人程序。

2023-12-26 16:45:54 1496

原创 高级RAG(二):父文档检索器

今天我们学习了langchain的父文档检索器,父文档检索器有两种工作方式即检索完整文档,和检索较大的文档块,其中检索完整文档的前提条件是原始文档的大小不能超过大模型llm对输入文本长度的限制条件,因此我们的原始文档不能太长。

2023-12-24 18:46:26 4845 3

原创 高级RAG(一):Embedding模型的选择

今天我们测试了openai,gemini,baai它们的embedding模型,我们发现baai的embedding模型表现最为优秀,它检索出了所有的相关文档,而gemini的embedding模型表现最差,它机会都没有检索出任何相关文档,我并不清楚这是什么原因造成的。

2023-12-21 16:29:38 9458

原创 谷歌Gemini API 应用(二):LangChain 加持

今天我们学习了在langchain中使用gemin模型的的一些方法,总的来说使用方法和其他的模型如openai的模型的方法都是类似的。今天我们还尝试了langchain的stream和beath方法在gemini模型上的应用,还介绍了RAG、PAL Chain的应用,最后我们用一个简单例子介绍了langchain中使用gemini多模态模型的方法。希望今天的内容对大家学习gemini大模型有所帮助。

2023-12-16 15:31:58 3191

原创 谷歌Gemini API 应用(一):基础应用

今天我们学习了谷歌最新的Gemini语言模型gemini-pro和多模态模型gemini-pro-vision的一些基础应用,其中包括了模型的一些限制条件,安全性审查,流式输出,多模态模型应用等内容,希望这些内容对读者学习Gemini模型有所帮助。

2023-12-15 17:28:29 9169 2

原创 AutoGen实战应用(一):代码生成、执行和调试

今天我们学习了AutoGen的基本原理以及基础参数的设置,并通过两个简单的例子轻松实现了原本需要使用复杂逻辑才能完成的任务。任务的复杂逻辑并没有发生变化,只是实现这些逻辑的主体由人变成了AI,我们模拟出两个由AI担任的人物角色,他们通过相互之间的对话一步一步的解决了人类交给它们的任务,你说神奇不神奇!😀。

2023-12-12 12:35:23 9959

原创 LangChain的函数,工具和代理(六):Conversational agent

今天我们回顾了在langchain中实现基本的函数调用方法,以及在此基础上进行手动优化和自动优化的流程,最后我们将所有的功能整合在一起开发了一个自动化的聊天机器人,它具有记忆能力同时还能根据用户的问题来自主判断是否调用外部函数并给出对用户友好的回复,希望今天的内容对大家学习langchain有所帮助!

2023-12-08 13:55:10 3021

原创 LangChain的函数,工具和代理(五):Tools & Routing

今天我们学习了langchain的tools,routing组件的原理,并借助tool和routing让llm实现了真正意思上的函数调用,最后我们还介绍了openapi格式的函数说明文本如何通过langchain来转换成openai的函数描述变量,希望今天的内容对大家有所帮助。

2023-12-06 16:38:26 4787

原创 LangChain的函数,工具和代理(四):使用 OpenAI 函数进行标记(Tagging) & 提取(Extraction)

今天我们学习了通过langchain和openai的函数调用来实现标记(Tagging)和提取(Extraction)功能,通过taggin我们可以让llm对用户信息进行评估,通过extration我们可以让llm从用户信息中提取有用的内容,最后我们介绍了两个真实的应用场景案例,我们介绍了如何使用langchain的长文本切割工具对长文本进行切割,从而解决了openai的llm对输入的上下文长度限制问题。希望今天的内容对大家有所帮助。

2023-12-04 19:24:02 2611

原创 LangChain的函数,工具和代理(三):LangChain中轻松实现OpenAI函数调用

今天我们学习了pydantic的基础语法,以及如何利用langchain将pydantic定义的类转换成openai的函数描述对象,通过pydantic我们可以轻松定义函数描述对象的类,然后使用langchain的convert_pydantic_to_openai_function方法将其转换成openai所需要的格式,如果不使用pydantic我们必须手动创建openai的函数描述对象,这将是非常低效且繁琐的工作。

2023-12-01 22:54:57 3397 2

原创 LangChain的函数,工具和代理(二):LangChain的表达式语言(LCEL)

今天我们介绍了LangChain的表达式语言(LCEL)的基础知识,其中包括了简单链(Simple Chain),复杂链(More complex chain),绑定(Bind),后备措施(Fallbacks),接口(Interface)的应用,其中包括对invoke,batch,stream等方法的使用以及相应的异步方法的介绍,希望今天的内容对大家有所帮助。

2023-11-30 16:22:39 4413

原创 LangChain的函数,工具和代理(一):OpenAI的函数调用

几个月前OpenAI官方发布了其API的函数调用功能(Function calling), 在 API 调用中,您可以描述函数,并让模型智能地选择输出包含调用一个或多个函数的参数的 JSON 对象。API函数“ChatCompletion” 虽然不会实际调用该函数;但是模型会生成这些基于函数参数的JSON对象,您可以使用它来调用代码中的实际函数。

2023-11-21 20:53:31 2764 1

原创 微调大型语言模型(一):为什么要微调(Why finetune)?

今天我们来学习Deeplearning的在线课程 微调大型语言模型(一)的第一课:为什么要微调(Why finetune)。我们知道像GPT-3.5这样的大型语言模型(LLM)它所学到的知识截止到2021年9月,那么如果我们向ChatGPT询问2022年以后发生的事情,它可能会产生“幻觉”从而给出错误的答案,再比如我们有一些关于企业的某些产品的业务数据,但是由于ChatGPT没有学习过这些数据,因此它也无法正确回答出关于这些产品的问题。为了扩大LLM的知识面,让LLM能够更好的学习并掌握新知识从而更好的为用

2023-09-21 22:51:27 1607

原创 使用 Gradio 构建生成式 AI 应用程序(一): 图片内容读取app

今天我们学习了如何通过blip-image-captioning-bas模型来读取图片内容信息,使用该模型一般有两种方法,一种是api调用的方式,但是需要在云端部署模型的应用程序,另一种是将模型下载到本地,然后在本地加载模型,两种方法都有各自的优缺点。另外我们还学习了如何使用gradio来开发一个基于blip-image-captioning-bas模型的读取图片内容的web app,同时我们还学习了gradio的主要方法Interface及其主要参数。希望今天的内容对大家学习gradio有所帮助。

2023-08-11 20:29:55 2730 3

原创 使用langchain与你自己的数据对话(五):聊天机器人

今天我们学习了如何开发一个具有记忆能力的个性化问答机器人,所谓个性化是指该机器人可以针对用户数据的内容进行问答,我们在实现该机器人时使用了ConversationalRetrievalChain组件,它是一个具有记忆能力的检索链,也是机器人的核心组件。希望今天的内容对大家有所帮助!

2023-08-07 20:44:55 4469 5

原创 使用langchain与你自己的数据对话(四):问答(question answering)

今天我们介绍了如何通过答链RetrievalQA,来检索向量数据库并回答用户的问题。其中我们介绍了几种RetrievalQA检索向量数据库的工作方式,也就是chain type方式,其实默认方式是stuff,除此之外还有map_reduce,refine, map_rerank等几种方式,它们都有各自的优缺点。同时我们还介绍了通过使用prompt模板,可以让LLM返回格式化的结果。希望今天的内容对大家学习langchain有所帮助!

2023-08-01 18:08:30 7334 6

概率导论笔记1.概率模型和公理.pdf

概率导论笔记1.概率模型和公理,除了介绍概率论基本知识外,还介绍了距母函数,最小二乘估计,泊松过程等等

2020-06-17

空空如也

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

TA关注的人

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