构建基于知识图谱的医药智能体Agent - 基于Llama 3.1、NVIDIA NIM 和 LangChain实践

Meta开源的Llama官方Agent:Llama-Agentic-System深度解析 方法的核心,它实现了 Llama Agentic System 的推理逻辑,包括调用 LLM、执行工具、处理安全机制等。• Meta 推出的 Llama as a System 将 Llama 3.1 模型转变为一个能够自主完成任务的智能代理,通过多步推理、工具使用和系统级安全机制,为构建更智能、更安全的 AI 应用开辟了新的可能性。• Llama-Agentic-System 具备强大的功能,包括多步推理、工具使用(内置和零样本学习)以及系统级安全保障,能够处理更复杂的任务,并增强安全性。 阅读详情

使用ChatGPT创建

虽然大多数人关注RAG与非结构化文本的关系,比如公司文档或技术文档,但我对基于结构化信息的检索系统持乐观态度,特别是知识图谱。关于GraphRAG,特别是微软的实现,[重磅 - 微软官宣正式在GitHub开源GraphRAG],令人非常兴奋。然而,在他们的实现中,输入数据是以文档形式存在的非结构化文本,这些文本通过大型语言模型(LLM)转换为知识图谱。

在这篇博客文章中,我们将展示如何在包含来自FDA不良事件报告系统(FAERS-https://www.fda.gov/drugs/questions-and-answers-fdas-adverse-event-reporting-system-faers/fda-adverse-event-reporting-system-faers-public-dashboard)的结构化信息的知识图谱上实现检索器,该系统提供关于药物不良事件AE的信息。如果你曾经尝试过知识图谱和检索,你的第一反应可能是使用LLM生成数据库查询,从知识图谱中检索相关信息以回答给定的问题。然而,使用LLM生成数据库查询仍在发展中,可能尚未提供最一致或最强大的解决方案。那么,目前可行的替代方案是什么呢?

我认为目前最好的解决方案是所谓的动态查询生成。此方法并不完全依赖于LLM生成完整的查询,而是利用一个逻辑层从预定义的输入参数确定性地生成数据库查询。该解决方案可以使用支持函数调用的LLM来实现。使用函数调用特性的优势在于能向LLM定义它应如何为函数准备结构化输入。这种方法确保了查询生成过程的可控性和一致性,同时允许用户输入的灵活性。

动态查询生成流程 作者提供的图像

该图示展示了理解用户提问以获取特定信息的过程。该流程包括三个主要步骤:

  1. 用户询问关于35岁以下人群使用药物Lyrica的常见副作用的问题。

  2. 大型语言模型决定调用哪个函数以及所需的参数。在这个例子中,它选择了一个名为“side_effects”的函数,参数包括药物“Lyrica”和最大年龄35岁。

  3. 识别出的函数和参数被用来确定性和动态地生成数据库查询(Cypher)语句,以检索相关信息。

函数调用支持对高级大型语言模型用例至关重要,例如允许大型语言模型根据用户意图使用多个检索器或构建多代理流程。我写了一些关于使用商业大型语言模型及其原生函数调用支持的文章。然而,在这篇博客文章中,我们将使用Llama-3.1,这是一种出色的开源大型语言模型,具备原生函数调用支持,并且刚刚发布-[开源引领新时代 -Meta重磅发布Llama3.1 405B,可媲美GPT-4o级 及 社评]。

代码可在GitHub上获得

https://github.com/tomasonjo/blogs/blob/master/llm/nvidia_neo4j_langchain.ipynb

建立知识图谱

我们将使用Neo4j,这是一个本地图形数据库,用于存储不良事件信息。您可以通过以下链接(https://sandbox.neo4j.com/?usecase=healthcare-analytics)设置一个免费的云Sandbox项目,该项目配备了预先填充的FAERS。实例化的数据库实例具有以下架构的图。

不良事件图谱模式 作者提供的图片

该模式以案例节点为中心,该节点连接药物安全报告的各个方面,包括相关药物、经历的反应、结果和开处方的治疗。每种药物的特征在于它是主药、辅药、合并用药还是相互作用药物。案例还与药企信息、患者年龄组以及报告来源相关联。该模式允许以结构化的方式跟踪和分析药物、其反应和结果之间的关系。

我们将通过实例化一个Neo4jGraph对象来创建与数据库的连接。

os.environ\["NEO4J\_URI"\] = "bolt://18.206.157.187:7687"  
os.environ\["NEO4J\_USERNAME"\] = "neo4j"  
os.environ\["NEO4J\_PASSWORD"\] = "elevation-reservist-thousands"  
  
graph = Neo4jGraph(refresh\_schema=False)

搭建LLM环境

有许多选项可以托管开源的LLM,比如Llama-3.1。在这篇博客中,我们将使用NVIDIA API目录,它提供NVIDIA NIM推理微服务,并支持Llama 3.1模型的函数调用。当您创建一个帐户时,您将获得1000个令牌,这足够完成这篇博客。您需要创建一个API密钥并将其复制到笔记本中。

os.environ\["NVIDIA\_API\_KEY"\] = "nvapi-"  
llm = ChatNVIDIA(model="meta/llama-3.1-70b-instruct")

我们将使用llama-3.1–70b,因为8b版本在函数定义中的可选参数上存在一些问题。NVIDIA NIM微服务的一个好处是,如果您有安全或其他担忧,可以轻松地在本地托管它们,因此它可以非常方便地替换,您只需向LLM配置中添加一个url参数。

\# connect to an local NIM running at localhost:8000,   
\# specifying a specific model  
llm = ChatNVIDIA(  
  base\_url="http://localhost:8000/v1",   
  model="meta/llama-3.1-70b-instruct"  
)

工具定义

在这个例子中,我们将配置一个具有四个可选参数的工具。基于这些参数,我们将构建一个相应的Cypher语句,用于从知识图谱中检索相关信息。具体来说,我们的工具将能够根据输入的药物、年龄和药企识别出最常见的副作用。

@tool  
def get\_side\_effects(    drug: Optional\[str\] = Field(        description="disease mentioned in the question. Return None if no mentioned."    ),  
    min\_age: Optional\[int\] = Field(        description="Minimum age of the patient. Return None if no mentioned."    ),  
    max\_age: Optional\[int\] = Field(        description="Maximum age of the patient. Return None if no mentioned."    ),  
    manufacturer: Optional\[str\] = Field(        description="manufacturer of the drug. Return None if no mentioned."    ),):  
    """Useful for when you need to find common side effects."""  
    params = {}  
    filters = \[\]  
    side\_effects\_base\_query = """  
    MATCH (c:Case)-\[:HAS\_REACTION\]->(r:Reaction), (c)-\[:IS\_PRIMARY\_SUSPECT\]->(d:Drug)  
    """  
    if drug and isinstance(drug, str):  
        candidate\_drugs = \[el\["candidate"\] for el in get\_candidates(drug, "drug")\]  
        if not candidate\_drugs:  
            return "The mentioned drug was not found"  
        filters.append("d.name IN $drugs")  
        params\["drugs"\] = candidate\_drugs  
  
    if min\_age and isinstance(min\_age, int):  
        filters.append("c.age > $min\_age ")  
        params\["min\_age"\] = min\_age  
    if max\_age and isinstance(max\_age, int):  
        filters.append("c.age < $max\_age ")  
        params\["max\_age"\] = max\_age  
    if manufacturer and isinstance(manufacturer, str):  
        candidate\_manufacturers = \[  
            el\["candidate"\] for el in get\_candidates(manufacturer, "manufacturer")  
        \]  
        if not candidate\_manufacturers:  
            return "The mentioned manufacturer was not found"  
        filters.append(  
            "EXISTS {(c)<-\[:REGISTERED\]-(:Manufacturer {manufacturerName: $manufacturer})}"  
        )  
        params\["manufacturer"\] = candidate\_manufacturers\[0\]  
  
    if filters:  
        side\_effects\_base\_query += " WHERE "  
        side\_effects\_base\_query += " AND ".join(filters)  
    side\_effects\_base\_query += """  
    RETURN d.name AS drug, r.description AS side\_effect, count(\*) AS count  
    ORDER BY count DESC  
    LIMIT 10  
    """  
    print(f"Using parameters: {params}")  
    data = graph.query(side\_effects\_base\_query, params=params)  
    return data  

get_side_effects函数旨在通过指定的搜索条件从知识图谱中检索药物的常见副作用。它接受可选参数,包括药物名称、患者年龄范围和药物制造商,以自定义搜索。每个参数都有一个描述,这些描述与函数描述一起传递给大型语言模型,使其理解如何使用这些参数。然后该函数根据提供的输入构建动态Cypher查询,针对知识图谱执行此查询,并返回结果副作用数据。

让我们测试该函数。

get\_side\_effects("lyrica")  
\# Using parameters: {'drugs': \['LYRICA', 'LYRICA CR'\]}  
\# \[{'drug': 'LYRICA', 'side\_effect': 'Pain', 'count': 32},  
\#  {'drug': 'LYRICA', 'side\_effect': 'Fall', 'count': 21},  
\# {'drug': 'LYRICA', 'side\_effect': 'Intentional product use issue', 'count': 20},  
\# {'drug': 'LYRICA', 'side\_effect': 'Insomnia', 'count': 19},  
\# ...

我们的工具首先将问题中提到的“lyrica”药物映射到知识图谱中的“[‘LYRICA’, ‘LYRICA CR’]”值,然后执行相应的Cypher语句以查找最常见的副作用。

基于图谱的大模型智能体

唯一需要做的就是配置一个可以使用定义工具回答有关药物副作用问题的LLM代理

智能体数据流 作者提供的图

图展示了用户与Llama-3.1智能体互动以询问药物副作用。智能体访问副作用工具,从知识图谱中检索信息,以向用户提供相关数据。

我们将首先定义提示模板。

prompt = ChatPromptTemplate.from\_messages(  
    \[  
        (  
            "system",  
            "You are a helpful assistant that finds information about common side effects. "  
            "If tools require follow up questions, "  
            "make sure to ask the user for clarification. Make sure to include any "  
            "available options that need to be clarified in the follow up questions "  
            "Do only the things the user specifically requested. ",  
        ),  
        MessagesPlaceholder(variable\_name="chat\_history"),  
        ("user", "{input}"),  
        MessagesPlaceholder(variable\_name="agent\_scratchpad"),  
    \]  
)

提示模板包括系统消息、可选的聊天记录和用户输入。agent_scratchpad 保留给 LLM,因为它有时需要执行多个步骤才能回答问题,比如执行和从工具中检索信息。LangChain 库通过使用 bind_tools 方法,使得为 LLM 添加工具变得简单。

tools = \[get\_side\_effects\]  
llm\_with\_tools = llm.bind\_tools(tools=tools)  
agent = (  
    {  
        "input": lambda x: x\["input"\],  
        "chat\_history": lambda x: \_format\_chat\_history(x\["chat\_history"\])  
        if x.get("chat\_history")  
        else \[\],  
        "agent\_scratchpad": lambda x: format\_to\_openai\_function\_messages(  
            x\["intermediate\_steps"\]  
        ),  
    }  
    | prompt  
    | llm\_with\_tools  
    | OpenAIFunctionsAgentOutputParser()  
)  
  
agent\_executor = AgentExecutor(agent=agent, tools=tools, verbose=True).with\_types(  
    input\_type=AgentInput, output\_type=Output  
)

代理通过一系列转换和处理程序处理输入,这些处理程序格式化聊天记录,应用带有绑定工具的LLM,并解析输出。最后,代理设置了一个执行器来管理执行流程,指定输入和输出类型,并包括详细日志记录的冗长设置。

现在让我们测试代理。

agent\_executor.invoke(  
    {  
        "input": "What are the most common side effects when using lyrica for people below 35 years old?"  
    }  
)

结果

Agent execution. Image by author.

LLM识别到需要使用get_side_effects函数并提供适当的参数。该函数动态生成Cypher语句,获取相关信息,并将其返回给LLM以生成最终答案。

Summary摘要

函数调用能力是对开源模型如Llama 3.1的强大补充,使与外部数据源和工具的互动更加结构化和可控。除了查询非结构化文档之外,基于图形的代理为与知识图谱和结构化数据的互动提供了令人兴奋的可能性。使用像NVIDIA NIM(https://build.nvidia.com/explore/discover)微服务这样的平台轻松托管这些模型,使它们变得越来越易于获取

如常,代码在GitHub上可用

https://github.com/tomasonjo/blogs/blob/master/llm/nvidia_neo4j_langchain.ipynb

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

llamaindex实战-Agent-在Agent中使用外部工具(本地部署) 对于Agent来说,一般会调用多个外部的工具来实现各种功能。本文介绍了如何通过llamaindex来使用外部工具。当然这些工具都是llamaindex提供的。该框架提供了多个外部工具,通过这些工具可以让Agent的能力得到无限扩展。 阅读详情

相关推荐

CMap数据库学习及结果可视化

CMap是一个生物信息学数据库和工具,旨在通过比较基因表达谱来揭示药物、基因和疾病之间的潜在关联。CMap数据库主要用于寻找药物、化合物和生物过程之间的关系,并用于药物重定位(drug repurposing)和疾病机制研究。

zfyyzhys的博客 5602

Llama3 中文通用 Agent 微调模型来啦!(附手把手微调实战教程)

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。考虑到国内用户对Agent场景的需求,社区LLM&AIGC模型微调推理框架SWIFT基于Llama3-8b-instruct原始版本训练了。

2301_78285120的博客 3492

使用PLINK做GWAS(2)

利用PLINK对单基因控制的性状进行定位,之前一篇文章粗滤的记录了一下使用PLINK的命令,本次博客主要记录一下如何根据SNP芯片的数据制作PLINK的格式,以及分析的步骤,最后数据的可视化。 首先,有的公司给的新片的数据就是一个excel表格,列表示的是样品,行表示的是基因型,基因型用ATCG构成,当然有的基因型是用数字0或者1表示的。下面我拿到的一个数据是15个样品构成的基因型,有13个样品是突变体,2个样品是野生型。 格式如下: 第二步:将此基因型存成csv文件,使用R进行读取,在R中制作pl

samhuairen的专栏 2925

使用Milvus和Llama-agents构建更强大的Agent系统

代理(Agent)系统能够帮助开发人员创建智能的自主系统,因此变得越来越流行。大语言模型(LLM)能够遵循各种指令,是管理 Agent 的理想选择,在许多场景中帮助我们尽可能减少人工干预、处理更多复杂任务。例如,Agent 系统解答客户咨询的问题,甚至根据客户偏好进行交叉销售。本文将探讨如何使用 Llama-agents 和 Milvus 构建 Agent 系统。通过将 LLM 的强大功能与 Mi...

ZILLIZ 1972

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

东城绝神 4460

信创改造实战:SpringBoot项目迁移到宝兰德BES 9.5.5的完整避坑指南(附依赖配置)

本文详细介绍了将SpringBoot项目迁移到宝兰德BES 9.5.5中间件的完整流程,包括环境准备、依赖调整、Web.xml版本适配、部署配置优化及常见问题解决方案。特别针对信创改造需求,提供了排除Tomcat依赖、处理BES专用starter等实用技巧,帮助开发者顺利完成国产中间件迁移。

weixin_30825581的博客 1102

【开发框架系列1】:Agent革命——从概念到医药研发的范式跃迁,大模型入门到精通,收藏这篇就足够了!

本文系统梳理Agent的定义、分类、技术原理、应用场景,并深度剖析其在医药研发领域的革命性突破,为专业人士提供参考框架,也为新入行者构建完整认知体系。

2301_81888214的博客 1196

量化投资从0开始系列 ---- 15. 郑商所日统计数据

前面已经提取了其它期货交易所的数据,最后还剩下郑商所。相比而言,郑商所的数据获取比其它几个交易所更麻烦一点。因为郑商所的系统接口有两个,在2015年11月11日前后发生了切换,这个日期之前是老系统的api接口,这个日期之后是一个新的api接口。 具体的地址在哪里,还是依靠在浏览器中按F12来确定,最后发现的地址是: if trade_date > '20151111': czce_url = f'http://www.czce.com.cn/cn/DFSS

kengxie的博客 2116

AGENTTUNING:为LLM启用广义的代理能力

这篇文章介绍了一种方法,可以让大型语言模型(LLM)具备在多种代理任务上表现出色的能力,缩小了开源和商业LLM在这方面的差距。该方法称为AgentTuning,它包括以下两个步骤: ● 首先,构建了一个覆盖多种代理任务的数据集,称为AgentInstruct,它包含了1,866个经过验证的代理交互轨迹,每个轨迹都有一个人类指令和一个代理动作。 ● 然后,设计了一种指令调优策略,将AgentInstruct和通用领域指令混合起来,对LLM进行微调。 作者使用AgentTuning对Llama 2模型进行了调优

liangwqi的博客 4065

ROS新手必看:如何用URDF快速搭建UR5机械臂模型(附完整代码)

本文为ROS新手提供了一份详细的UR5机械臂URDF建模实战指南。通过解析URDF核心概念,逐步讲解如何定义link与joint,并整合官方网格文件,最终构建出完整的、可在RViz中可视化与控制的UR5模型。文章还介绍了模型验证、调试技巧以及如何添加碰撞与惯性属性,为后续的物理仿真与算法开发奠定坚实基础。

pz89012345的博客 499

手把手教你学Simulink——基于新型电力电子拓扑与宽禁带器件的电网系统场景实例:GaN HEMT器件在高频逆变器中的开关特性建模

本文介绍了基于Simulink和Simscape Electrical的GaN HEMT高频逆变器建模方法。通过构建半桥拓扑电路,详细说明了GaN器件参数设置(以EPC2045为例)、专用驱动电路设计(含负压关断和米勒钳位)以及开关瞬态过程仿真(配置1ns步长捕捉MHz级特性)。重点分析了开关损耗计算和寄生导通风险,并对比了GaN与Si MOSFET的性能差异。案例展示了如何优化驱动参数和PCB布局,验证了GaN器件在1MHz高频应用中的优势(开关损耗仅5μJ)。最后总结了GaN在数据中心电源、无线充电等领

MHD0815的博客 405

Llama3 中文通用Agent微调模型来啦!(附手把手微调实战教程)

Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。考虑到国内用户对Agent场景的需求,魔搭社区LLM&AIGC模型微调推理框架SWIFT基于Llama3-8b-instruct原始版本训练了。

xxue345678的博客 1601

链接文件及功能安全:S32K3如何将FLASH驱动放到RAM里面、RAM如何实现软件复位数据不丢失操作。

在通过RTD的SDK也好MCAL也好,始终存在一个问题,生成的代码除了看门狗模块,默认都是放在flash里面,按照正常逻辑来看没啥大的问题,思考一个问题:Flash放在0x100的位置,但是此时我们要操作0x100怎么办?那肯定不允许啊,但是将flash的驱动放在RAM里面就可以避免这个问题的产生。Flash的特性:PF0能操作PF1,当然PF1也能操作PF0的,以此类推,只要不操作自身,想怎么玩都可以。这也是一个物理特性吧。

梦想技术家 2311

Llamaindex实战-Agent-实现简单运算的Agent(本地部署-可断网运行)

本文通过一个简单的例子来介绍llamaindex的Agent的使用。该例子会通过对话来让Agent调用对应的工具函数实现两个数相乘的运算。

zg_hover的专栏 734

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

小模型大作为:如何用 Llama 3 本地部署高效能 Agent?

首先,我们从第一性原理出发,定义通用智能Agent(以下简称Agent):Agent是一类能够感知环境状态、基于目标生成推理链、调用外部工具执行动作、并根据执行结果调整策略的自主计算实体。其核心价值在于将通用AI的泛化能力与专用工具/系统的确定性能力结合,打破了“纯生成式AI擅长创作但缺乏事实/操作能力”“纯专用系统擅长执行但缺乏泛化推理能力”的技术壁垒。我们将“小模型本地部署高效能Agent”的问题空间分解为4个核心子问题子问题1:资源约束下的模型选择与推理优化。

AI大模型应用之禅 225

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Llama3 中文通用Agent微调模型

Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。将MLP和Embedder加入了lora_target_modules. 你可以通过指定--lora_target_modules ALL在所有的linear层(包括qkvo以及mlp和embedder)加lora. 这通常是效果最好的。,这是开源社区中率先完整适配中文环境的通用Agent Llama3模型,后续会有更完整的评测报告产出。

Mooczx的博客 1273

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用InternStudio 进行Llama 3 Agent 能力体验+微调(Lagent 版)

说明: 本博客是InternStudio学习的部分记录贴。

baiyang1943的博客 585

大模型教程:去年爆火的大模型综述,如今中国人民大学直接出书了

相信很多朋友都看过这篇论文,在 2023 年 3 月,一支来自中国人民大学的团队,发表了一篇大模型综述《A Survey of Large Language Models》

AAI666666的博客 1287

Neo4j + LangChain:如何构建基于知识图谱的最强RAG系统?

这个工作流程结合了许多步骤,而我在这里没有讨论所有步骤。然而,我承认,仅使用 LangChain 构建高级 GraphRAG 应用程序遇到了一些困难。通过使用 LangGraph 解决了这些困难。最让我沮丧的是无法在提示模板中引入所需的多个输入变量,并将该模板传递给 LangChain Expression Language 中的 Graph QA 链。起初,LangGraph 看起来需要大量的学习,但一旦你克服了这个障碍,它就会变得顺畅起来。未来,我会尝试将代理引入到工作流程中。

python1222_的博客 4964

AI入门必读:小白也能懂的LLM Agent工作原理,轻松掌握基础知识大全!

LLM代理是一种先进的数字助手,它们超越了传统的聊天机器人,通过整合推理和行动能力,类似于人类使用工具来增强认知任务。这些代理配备了一个核心模块,用于管理目标、工具、计划和记忆,使它们能够独立执行复杂任务。它们利用短期和长期记忆来指导它们的行动和决策,并且可以访问各种工具和API来执行任务。本文介绍了开发LLM代理的步骤,强调了基础LLM、交互工具和代理控制器的重要性,Llama Index是一个推荐的框架。评估这些代理对于保持高质量的响应至关重要,TrueLens提供了一个为此目的的开源库。

2401_85375186的博客 1232

【AI+医疗】无需微调!基于RAG和知识图谱的药物发现LLM代理系统详解!

文章介绍了一种名为CLADD的创新药物发现框架,通过检索增强生成(RAG)技术和多代理协作,将通用大语言模型与生物医学知识图谱结合,无需特定领域微调即可在药物发现任务中取得出色表现。CLADD包含规划、知识图谱和分子理解三个核心团队,在分子描述、药物靶点预测和毒性预测等多种任务中展现出超越通用和领域专用模型的性能,为药物发现提供了灵活高效的解决方案。

2401_84495872的博客 1284

如何用 LlamaIndex 实现 agent

好,我们再进一步,那什么是智能体呢?从 “智能体” 使用者的角度看,“智能体” 就像专门完成某一类任务的机器人。智能体的设计目的其实就是为了实现特定的目标或完成特定的任务。它像是一个专家一样,专门解决某一类的问题,用医生做比喻,agent就像一个专科大夫,比如骨科大夫,只能看骨科相关的病,而大模型LLM 像是一个全科大夫,什么病都能看。从设计上不一样,使用上自然就要有所区别,比如你要处理和计算复杂的数学公式,那么向专门为解决这类问题而设计的 “智能体” 提问就比直接向LLM 提问得到的答案要准确。

python1234_的博客 1095

50行代码教会你使用Nvidia-NIM搭建一个经RAG强化的+可说话的大模型

现在的大模型遍地都是,如何搭建一个自己的大模型,并且可以和你对话?参考这个文档就对了。你只需要按步骤操作,就能无误完成。这个教程不需要GPU也可完成,老爷们请进!

weixin_44756966的博客 1184

Llama 3.1 开源AI大模型使用

2024年7月24日,Meta宣布推出迄今为止最强大的开源模型Llama 3.1 405B,Llama 3.1的405B支持上下文长度为128K Tokens, 增加了对八种语言的支持,号称第一个在常识、可操纵性、数学、工具使用和多语言翻译方面与顶级人工智能模型相媲美的模型。

pythonhy的博客 945

Llamaindex 实战:Agent 篇 —— 实现简易智能体(本地部署,支持断网运行)

今天,我们将深入 LlamaIndex 的世界,实战打造一个简易智能体,并且实现本地部署,让其在断网环境下也能 “大显身手”。

大模型教程的博客 1641
上一篇: AI项目如何选择技术路线?
下一篇: 使用 LiteLLM 构建适用于生产级规模的强大 LLM 应用程序
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值