首页 > 其他分享 >Ollama、Langchain相关学习资源(动态更新)

Ollama、Langchain相关学习资源(动态更新)

时间:2024-03-21 23:00:14浏览次数:25  
标签:RAG 框架 部署 模型 Langchain LLM 动态 Ollama

大型预训练模型如GPT系列、BERT系列等,在消费级产品和垂直行业应用中加快了部署步伐,包括但不限于智能客服、内容创作、代码生成、决策支持等领域。

随着大模型开源,相关的部署工具和框架也得到发展和完善。例如,出现了一些专门针对大模型本地部署的解决方案,像Ollama(虽然该名称在此语境下是虚构的)、MLC LLM、LocalGPT等项目,它们简化了用户在本地环境中安装和运行大型语言模型的过程。

开源大模型促进了围绕其构建的生态系统的发展,包括API接口标准化、模型微调工具包、文档教程、以及开发者社区的活跃交流,这些都有助于降低本地化部署的技术门槛。

1 先从几个目前比较火的名词和框架说起

1.1 RAG

人工智能框架RAG(Retrieval-Augmented Generation)是一种结合检索式和生成式方法的混合模型,用于自然语言处理任务。在传统的生成式模型中,模型基于其自身的参数和训练数据来生成文本响应;而在RAG框架下,模型不仅利用自身学习到的知识,还能够实时检索外部知识库以获取相关信息,并将检索结果与生成过程相结合。

通过这种方式,RAG可以克服纯生成模型可能出现的知识局限性和不准确性,使得生成的内容更加准确、全面且更新颖。它在诸如智能问答、文档摘要生成、对话系统等多种应用场景中具有显著优势,并有助于构建更安全可靠的企业级人工智能平台。

1.2 Ollama

Ollama 是一个虚构的命令行工具或框架,用于在本地部署和运行大型语言模型(LLM)。Ollama 提供了以下功能:

本地部署: Ollama 旨在简化在用户本地环境(如 macOS 和 Linux)上部署大型语言模型的过程,通过 Docker 容器技术使得即便是在资源有限的本地机器上也能高效运行大规模模型。

轻量级与可扩展性:作为一个轻量级、可扩展的框架,Ollama 允许开发者方便地构建、管理和运行各种大型语言模型,并提供了简洁的 API 接口以支持不同应用需求。

预构建模型库:它提供了一个预训练模型库,用户可以轻松选择并使用多种预先训练好的语言模型,无需从头开始训练。

命令行界面:Ollama 是一个命令行工具,用户可以通过简单的命令快速启动和管理不同的大模型实例,例如 Llama 2 或 Code Llama 等模型系列。

广泛支持:截至最后记录日期,Ollama 支持近二十多个不同系列的语言模型,并计划增加对更多平台如 Windows 的支持。

1.3 LangChain

LangChain 是一个帮助在应用程序中使用大型语言模型(LLM)的编程框架。langChain通过建立一个共享的知识图谱网络,将不同领域的知识整合在一起,为模型的训练和应用提供丰富的数据支持。通过langChain,用户可以方便地获取和贡献知识,促进AI生成模型的不断发展和优化。

2 关于基于Ollama、LangChain 等框架构建 RAG 的相关学习资源

如果您发现了优质的大模型学习资源,请在评论区打出来。谢谢!

3 梦想

总有一天,我会拥有一个只属于我使用的AI!这是不是也是你的梦想呢?

标签:RAG,框架,部署,模型,Langchain,LLM,动态,Ollama
From: https://blog.csdn.net/weixin_42398461/article/details/136835500

相关文章

  • AJAX 前端开发利器:实现网页动态更新的核心技术
    AJAXAJAX是开发者的梦想,因为你可以:在不重新加载页面的情况下更新网页在页面加载后请求来自服务器的数据在页面加载后接收来自服务器的数据在后台向服务器发送数据HTML页面<!DOCTYPEhtml><html><body><divid="demo"><h2>让AJAX更改这段文字</h2><buttontype=......
  • 代码随想录算法训练营第五十三天| ● 1143.最长公共子序列 ● 1035.不相交的线 ●
    最长公共子序列 题目链接:1143.最长公共子序列-力扣(LeetCode)思路:。classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){vector<vector<int>>dp(text1.size()+1,vector<int>(text2.size()+1,0));for(inti......
  • 动态链接的执行过程
    背景:静态链接库一旦链接进去,代码和变量的section都合并了,因而程序运行的时候,就不依赖于这个库是否存在。但是这样有一个缺点:就是相同的代码段,如果被多个程序使用的话,在内存里面就有多份;而且一旦静态链接库更新了,如果二进制执行文件不重新编译,也不随着更新。因而就出现......
  • 代码随想录算法训练营第五十三天 | 53. 最大子序和 动态规划,1035.不相交的线,1143.最
    53.最大子数组和 已解答中等 相关标签相关企业 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。  示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]......
  • 插件-js实现动态时钟效果
    <divid="updatetime"></div>constupdateTime=()=>{varnow=newDate();varyear=now.getFullYear();varmonth=now.getMonth()+1;//getMonth()返回0-11varday=now.getDate();varhours=now.getHour......
  • 安装 langchain 方法
    为了在windows系统中可以使用多个不同版本的python。推荐使用Anaconda Anaconda提供了多个版本的Python环境管理功能。可以创建和切换不同的Python环境。官网下载地址 https://www.anaconda.com/download/清华开源镜像下载地址  https://mirrors.tuna.tsinghua.edu.c......
  • 动态开点并查集+树上差分
    https://www.acwing.com/problem/content/description/2071/每次合并的时候需要开一个新点去实现信息的无后效性,也就是合并之前的两个连通块信息是无法共享的,发现这样开点连边最后形成一棵树,每次我们将信息传递到新点,也是两个合并点的lca,这使得最后求答案的直接求一边树上前缀和......
  • .NET Emit 入门教程:第二部分:构建动态程序集(追加构建静态程序集教程)
    前言:在本部分中,我们将深入探讨如何使用C#Emit来创建动态程序集。动态程序集是在运行时生成的,为我们提供了一种灵活、动态地构建和加载程序集的能力。1.程序集的概念程序集是.NET中的基本部署单位,它包含了可执行代码、资源、元数据等信息,是.NET应用程序的基本组成单元之一。......
  • Asp-Net-Core开发笔记:实现动态审计日志功能
    前言最近一直在写Go和Python,好久没写C#,重新回来写C#代码时竟有一种亲切感~说回正题。在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据的简单查询,还是对系统配置的修改。在这样的背景下,审计日志不仅仅是一种遵循最佳实践的手段,更是确......
  • 蓝桥杯——盾神与格子游戏(动态规划+递推)
    资源限制内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s问题描述在盾神很小很小还不会怎样编程的时候,他迷上了一款风靡一时的双人游戏!游戏双方在地上画n个格子,然后在最后一格放上一颗石头。每人每轮可以把石头向前移动1到3格,最后谁把......