用vs2010做网站的好处,汉中网站设计,广东恒力建设工程有限公司网站,兰州网站设计公司排名langchain
前段时间去玩了一下langchain,熟悉了一下大模型的基本概念#xff0c;使用等。前段时间meta的ollama模型发布了3.0,感觉还是比较强大的#xff0c;在了解过后#xff0c;自己去用前后端代码#xff0c;调用ollama模型搭建了一个本地的gpt应用。 核心逻辑 开始搭…langchain
前段时间去玩了一下langchain,熟悉了一下大模型的基本概念使用等。前段时间meta的ollama模型发布了3.0,感觉还是比较强大的在了解过后自己去用前后端代码调用ollama模型搭建了一个本地的gpt应用。 核心逻辑 开始搭建
首先本地需要安装ollama的模型,这里有两种方式大家自己选择即可第一种选择官网下载[ollama], 第二种可以去docker hub里面下载里面有ollama的镜像包, 这里为了方便我就用第一种了。
ollama
下载好之后我们直接执行
ollama serve
命令即可, 出现下面的样子代表执行成功了。 这时候ollama会运行在11434端口这样我们的后端可以通过端口连接到ollama的服务了。
ollama run llama3
直接执行这个命令就可以在本地终端里起一个gpt, llama3是ollama最新的模型 后端代码实现
后端我们用nestjs来搭建
首先我们需要安装一个langchain的包 langchain/community, 我这里选用的社区版支持度比较好,模型也比较多。
注意点 推荐用npm和yarn安装 pnpm安装会导致失败官网上面也有说明这个楼主踩过坑如果非要用pnpm安装的话按照官网指示的操作来
import { Controller, Post, Body, Sse, Header } from nestjs/common;import { Observable, Subject } from rxjs;import { Ollama } from langchain/community/llms/ollama;Controller()export class AppController {private messageSubject new SubjectMessageEvent();private model: Ollama;constructor() {this.model new Ollama({baseUrl: http://localhost:11434,model: llama3,});}Sse(sse)Header(Content-Type, text/event-stream)sse(): ObservableMessageEvent {return this.messageSubject.asObservable();}Post(question)async addList(Body() body: { question: string }): Promiseany {const stream await this.model.stream(body.question);for await (const str of stream) {this.messageSubject.next({data: JSON.stringify({ answer: str, end: false }),} as MessageEvent);
Å
}this.messageSubject.next({data: JSON.stringify({ answer: , end: true }),} as MessageEvent);}}
sse技术
是一种基于HTTP协议的服务器到客户端的单向数据通信技术允许服务器向浏览器实时推送更新而不需要客户端通过轮询等方式反复请求数据。很多gpt应用服务端向客户端发送消息都是利用这种方式去做的。SSE协议本质上就是一个Http的get请求也支持Https服务端在接到该请求后返回状态。同时请求头设置也变为流形式。
Content-Type: text/event-stream,
这里因为只是示例demo,逻辑就写在controller层了标准一点的还是抽到service层。
nest的sse接口返回值是一个Observable(可观察对象), 刚好在rxjs中我们的suject(主体)也是一种Observable suject和普通的Observable区别在于suject是多播并且像EventEmitters ,像维护着多个监听器的一张注册表,当我们在请求到ollama返回的数据后,就可以调用next方法将值多播到Observale中这样就可以做到结果的接收 这个next方法其实也就是迭代器方法不断的调用next会不断的输出值直到没有值为止 这里的end属性是控制我们客户端什么时候和服务端断开连接。
前端实现
前端的逻辑就很简单了当我们发送问题后监听到服务端发过来的结果收集起来展示即可我这里的样式写的比较简陋功能也只是最基本的,大家可以自己完善
import { useRef, useState } from react;type Message {answer: string;end: boolean;};export default function Layout() {const [message, setMessage] useStateMessage[]([]);const [question, setQuestion] useStatestring();const ref useRefany();const send () {const question ref.current.value as string;if (!question) return;fetch(http://localhost:3000/question, {method: POST,headers: {Content-Type: application/json,},body: JSON.stringify({question,}),});setQuestion(question);ref.current.value ;setMessage((prev) [...prev, { answer: , end: false }]);const eventSource new EventSource(http://localhost:3000/sse);eventSource.onmessage ({ data }) {const { answer, end } JSON.parse(data);if (!end) {setMessage((prev) {const newMessages [...prev];newMessages[newMessages.length - 1].answer answer;return newMessages;});}if (end) {eventSource.close();}};};return (div classNameh-screen w-screen overflow-hidden bg-orange-400nav classNamew-full h-16 flex items-center justify-between bg-indigo-400 px-4span classNamew-10 h-10img srcpublic/ollama.png classNamew-full h-full //spanspanollama大模型/spanspan className欢迎使用/span/navdiv classNamew-full h-[calc(100%-64px)] relativeaside classNamew-[200px] bg-red-400 h-full p-4 absolute top-0 flex justify-centertodo/asidemain classNamew-full h-full absolute left-[200px] top-0 px-2div classNamew-full h-[calc(100%-64px)] py-4 overflow-y-autodivstyle{{display: question ? block : none,}}classNamehuman min-h-[100px] w-[calc(100%-200px)] p-4 rounded-lg text-white bg-yellow-300{question}/divdivstyle{{display: message?.[message.length - 1]?.answer? block: none,}}classNameai min-h-[100px] text-white w-[calc(100%-200px)] bg-indigo-500 mt-5 rounded-lg p-4 {message?.[message.length - 1]?.answer}/div/divfooter classNamerounded-lg relative bottom-2 w-[calc(100%-200px)] h-[64px] border-red-300 border-solid border-[1px]inputref{ref}typetextclassNamerounded-lg w-full px-4 text-lg h-full caret-red-300 outline-none focus:border-[1px] focus:border-solid focus:border-red-500/buttononClick{() send()}classNamez-10 focus:text-red-700 absolute right-0 top-0 w-[64px] h-[62px] bg-red-300发送/button/footer/main/div/div);}
看下实现效果 总结
ollama的中文支持度不是很好看视频效果也能看得出来不过功能还是很强大的。 功能实现的比较基础不过核心功能都有大家可以参考代码自行拓展动动手你我都有属于自己的gpt
那么我们该如何学习大模型
作为一名热心肠的互联网老兵我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型如GPT-3、BERT或任何其他先进的神经网络模型需要系统的方法和持续的努力。既然要系统的学习大模型那么学习路线是必不可少的下面的这份路线能帮助你快速梳理知识形成自己的体系。
L1级别:AI大模型时代的华丽登场 L2级别AI大模型API应用开发工程 L3级别大模型应用架构进阶实践 L4级别大模型微调与私有化部署 一般掌握到第四个级别市场上大多数岗位都是可以胜任但要还不是天花板天花板级别要求更加严格对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线不知道为什么发出来就有点糊高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 二、640套AI大模型报告合集
这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。 三、大模型经典PDF籍
随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。 四、AI大模型商业化落地方案 作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。 文章转载自: http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn http://www.morning.xrpjr.cn.gov.cn.xrpjr.cn http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn http://www.morning.tqpds.cn.gov.cn.tqpds.cn http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn http://www.morning.ntwxt.cn.gov.cn.ntwxt.cn http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.rgxn.cn.gov.cn.rgxn.cn http://www.morning.frsxt.cn.gov.cn.frsxt.cn http://www.morning.yrddl.cn.gov.cn.yrddl.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.trfrl.cn.gov.cn.trfrl.cn http://www.morning.mjbnp.cn.gov.cn.mjbnp.cn http://www.morning.lnrr.cn.gov.cn.lnrr.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.xqbgm.cn.gov.cn.xqbgm.cn http://www.morning.tqpnf.cn.gov.cn.tqpnf.cn http://www.morning.rjrz.cn.gov.cn.rjrz.cn http://www.morning.lzbut.cn.gov.cn.lzbut.cn http://www.morning.jnvivi.com.gov.cn.jnvivi.com http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn http://www.morning.hous-e.com.gov.cn.hous-e.com http://www.morning.kgnrh.cn.gov.cn.kgnrh.cn http://www.morning.drrt.cn.gov.cn.drrt.cn http://www.morning.lhgkr.cn.gov.cn.lhgkr.cn http://www.morning.kuaijili.cn.gov.cn.kuaijili.cn http://www.morning.mrncd.cn.gov.cn.mrncd.cn http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.drtgt.cn.gov.cn.drtgt.cn http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn http://www.morning.lwgsk.cn.gov.cn.lwgsk.cn http://www.morning.ychrn.cn.gov.cn.ychrn.cn http://www.morning.nrftd.cn.gov.cn.nrftd.cn http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn http://www.morning.gycyt.cn.gov.cn.gycyt.cn http://www.morning.tllhz.cn.gov.cn.tllhz.cn http://www.morning.syynx.cn.gov.cn.syynx.cn http://www.morning.wddmr.cn.gov.cn.wddmr.cn http://www.morning.tnwwl.cn.gov.cn.tnwwl.cn http://www.morning.wrwcf.cn.gov.cn.wrwcf.cn http://www.morning.gbfck.cn.gov.cn.gbfck.cn http://www.morning.bgnkl.cn.gov.cn.bgnkl.cn http://www.morning.plqkz.cn.gov.cn.plqkz.cn http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn http://www.morning.grbp.cn.gov.cn.grbp.cn http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn http://www.morning.djpgc.cn.gov.cn.djpgc.cn http://www.morning.xfxlr.cn.gov.cn.xfxlr.cn http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn http://www.morning.dbcw.cn.gov.cn.dbcw.cn http://www.morning.zwznz.cn.gov.cn.zwznz.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn http://www.morning.irqlul.cn.gov.cn.irqlul.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.lkgqb.cn.gov.cn.lkgqb.cn http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.ruifund.com.gov.cn.ruifund.com http://www.morning.cprls.cn.gov.cn.cprls.cn http://www.morning.hnpkr.cn.gov.cn.hnpkr.cn http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn http://www.morning.pcngq.cn.gov.cn.pcngq.cn http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn http://www.morning.lbqt.cn.gov.cn.lbqt.cn http://www.morning.sldrd.cn.gov.cn.sldrd.cn http://www.morning.drmbh.cn.gov.cn.drmbh.cn http://www.morning.tsflw.cn.gov.cn.tsflw.cn