AI-Ollama本地大语言模型运行框架与Ollama javascript接入

1.Ollama

        Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。

        Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。

        Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。

        与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。

        Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。

Ollama 简介 | 菜鸟教程https://www.runoob.com/ollama/ollama-intro.html

2.Ollama下载

Ollama下载 - 官方正版 - 极客应用Ollama可以部署开箱即用的Ai大模型,省去安装环境和下载模型的步骤,让零基础的人也能在本地启动并运行 DeepSeek-R1,Llama 3.3,Gemma 2等AI大模型https://www.gy328.com/app/ollama/根据系统选择下载对应的Ollama版本

3.cmd模型基本操作

 检测是否安装

ollama --version

启动下载对应模型

ollama run llama3.2

选择模型应注意:7B模型至少8GB内存,13B模型需要16GB

 退出模型

/bye

 

具体对应操作查看菜鸟教程

Ollama 基本概念 | 菜鸟教程https://www.runoob.com/ollama/ollama-basic.html参考博客

Ollama保姆级教程_ollama ps-CSDN博客文章浏览阅读5.7k次,点赞28次,收藏39次。Ollama能够更容易的让大模型在本地运行起来,没错,是运行起来,至于交互就差点意思了。总不能总是铜鼓命令行来交互吧,这样也太不优雅了!实际上Ollama主要是用来提供服务的,也就是作为服务端,但是可以通过配合其他的UI界面来更方便的使用大模型,例如Open WebUI等。Ollama官网:https://ollama.com/downloadOllama文档:https://github.com/ollama/ollama/tree/main/docs。_ollama ps https://blog.csdn.net/andyyah/article/details/140891679?fromshare=blogdetail&sharetype=blogdetail&sharerId=140891679&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link

4.Ollama javascript接入

4.1 前端项目中引入Ollama依赖包(sdk)
npm i ollama
4.2 vue2中安装axios库

        使用axios库来发送HTTP请求到Ollama的API。

npm install axios
4.3 api.js调用模型Api
import axios from 'axios';const API_URL = 'http://localhost:11434'; // Ollama默认的API端口是11434export const generateText = async (prompt) => {try {const response = await axios.post(`${API_URL}/api/generate`, {model: 'mistral', // 指定模型prompt: prompt,   // 输入的提示文本stream: true,     // 流式传输结果(可选)});if (response.data) {return response.data;} else {throw new Error('No data received');}} catch (error) {console.error('Error generating text:', error);throw error;}
};
4.4 组件中使用服务

调用服务生成文本结果

<template><div><textarea v-model="prompt" placeholder="Enter your prompt"></textarea><button @click="generateText">Generate</button><div v-if="generatedText">{{ generatedText }}</div></div>
</template><script>
import { generateText } from './api'; // 引入你的API服务文件export default {data() {return {prompt: '',generatedText: ''};},methods: {async generateText() {try {const response = await generateText(this.prompt);this.generatedText = response; // 直接处理响应或根据需要解析响应数据流等逻辑(取决于API的实现)} catch (error) {console.error('Error generating text:', error);}}}
};
</script>

 运行项目与模型,注意node版本对应。

API 参考文档 -- Ollama 中文文档|Ollama官方文档https://ollama.cadn.net.cn/api.html

5.node版本不匹配请使用nvm管理版本 

node-nvm node版本管理器使用-CSDN博客node-nvm node版本管理器使用 https://blog.csdn.net/2301_76671906/article/details/146038866?fromshare=blogdetail&sharetype=blogdetail&sharerId=146038866&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式多卡训练(DDP)踩坑

多卡训练最近在跑yolov10版本的RT-DETR&#xff0c;用来进行目标检测。 单卡训练语句&#xff08;正常运行&#xff09;&#xff1a; python main.py多卡训练语句&#xff1a; 需要通过torch.distributed.launch来启动&#xff0c;一般是单节点&#xff0c;其中CUDA_VISIBLE…

LLM大型语言模型(一)

1. 什么是 LLM&#xff1f; LLM&#xff08;大型语言模型&#xff09;是一种神经网络&#xff0c;专门用于理解、生成并对人类文本作出响应。这些模型是深度神经网络&#xff0c;通常训练于海量文本数据上&#xff0c;有时甚至覆盖了整个互联网的公开文本。 LLM 中的 “大” …

确保初始化和销毁操作的线程安全-初始化和销毁

你想为代码中的每行加上注释解释,以下是详细的注释: // 定义初始化函数,接收一个 InitOptions 类型的参数 int initGBB(InitOptions _opts) {// 使用原子操作检查初始化/销毁计数器,并增加计数。如果当前是第一次初始化,执行以下操作if (initFiniCnt_.fetch_add(1, std

蓝桥杯备考:动态规划dp入门题目之数字三角形

依然是按照动态规划dp的顺序来 step1&#xff1a;定义状态表示 f[i][j]表示的是到,j这个坐标的结点时的最大权值 step2: 定义状态方程 i,j坐标可能是从i-1 j-1 到i,j 也可能是从i-1 j到 i,j 所以状态方程应该是 f[i][j] max(f[i-1][j-1],f[i-1][j]) a[i][j] step3:初始化…

HarmonyOS NEXT开发进阶(十一):应用层架构介绍

文章目录 一、前言二、应用与应用程序包三、应用的多Module设计机制四、 Module类型五、Stage模型应用程序包结构六、拓展阅读 一、前言 在应用模型章节&#xff0c;可以看到主推的Stage模型中&#xff0c;多个应用组件共享同一个ArkTS引擎实例&#xff1b;应用组件之间可以方…

深入C语言:指针与数组的经典笔试题剖析

1. sizeof和strlen的对比 1.1 sizeof sizeof 是C语言中的一个操作符&#xff0c;用于计算变量或数据类型所占内存空间的大小&#xff0c;单位是字节。它不关心内存中存储的具体数据内容&#xff0c;只关注内存空间的大小。 #include <stdio.h> int main() {int a 10;…

deepseek+mermaid【自动生成流程图】

成果&#xff1a; 第一步打开deepseek官网(或百度版&#xff08;更快一点&#xff09;)&#xff1a; 百度AI搜索 - 办公学习一站解决 第二步&#xff0c;生成对应的Mermaid流程图&#xff1a; 丢给deepseek代码&#xff0c;或题目要求 生成mermaid代码 第三步将代码复制到me…

Solon AI —— RAG

说明 当前大模型与外部打交道的方式有两种&#xff0c;一种是 Prompt&#xff0c;一种是 Fuction Call。在 Prompt 方面&#xff0c;应用系统可以通过 Prompt 模版和补充上下文的方式&#xff0c;调整用户输入的提示语&#xff0c;使得大模型生成的回答更加准确。 RAG RAG &…

STM32——USART—串口发送

目录 一&#xff1a;USART简介 二&#xff1a;初始化USART 1.开启时钟 2.代码 三&#xff1a;USART发送数据 1.USART发送数据函数 2.获取标志位的状态 3.代码 4.在main.c内调用 5.串口调试 1.串口选择要与设备管理器中的端口保持一致 2.波特率、停止位等要与前面…

基于SpringBoot的在线骑行网站的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

通义万相2.1:开启视频生成新时代

文章摘要&#xff1a;通义万相 2.1 是一款在人工智能视频生成领域具有里程碑意义的工具&#xff0c;它通过核心技术的升级和创新&#xff0c;为创作者提供了更强大、更智能的创作能力。本文详细介绍了通义万相 2.1 的背景、核心技术、功能特性、性能评测、用户反馈以及应用场景…

3.3.2 Proteus第一个仿真图

文章目录 文章介绍0 效果图1 新建“点灯”项目2 添加元器件3 元器件布局接线4 补充 文章介绍 本文介绍&#xff1a;使用Proteus仿真软件画第一个仿真图 0 效果图 1 新建“点灯”项目 修改项目名称和路径&#xff0c;之后一直点“下一步”直到完成 2 添加元器件 点击元…

华为OD机试-最长的密码(Java 2024 E卷 100分)

题目描述 小王正在进行游戏大闯关,有一个关卡需要输入一个密码才能通过。密码获得的条件如下: 在一个密码本中,每一页都有一个由26个小写字母组成的密码,每一页的密码不同。需要从这个密码本中寻找这样一个最长的密码,从它的末尾开始依次去掉一位得到的新密码也在密码本…

极狐GitLab 正式发布安全版本17.9.1、17.8.4、17.7.6

本分分享极狐GitLab 补丁版本 17.9.1、17.8.4、17.7.6 的详细内容。这几个版本包含重要的缺陷和安全修复代码&#xff0c;我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS&#xff0c;技术团队已经进行了升级&#xff0c;无需用户采取任何…

Ajax动态加载 和 网页动态渲染 之间的区别及应用场景

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Ajax 动态加载2. 动态渲染3. 两者之间的关系和区别3.1 AJAX 动态加载与动态渲染的关系3.2 流程3.3 两者区别4. 实际应用场景4.1 无限滚动4.2 表单提交4.3 单页应用(SPA)4.4 案例5. 总结Ajax 动态加载 和 动态渲染 …

QT——对象树

在上一篇博客我们已经学会了QT的坏境安装以及打印一个hello world&#xff0c;但是如果有细心的朋友看了代码&#xff0c;就会发现有一个严重的问题&#xff0c;从C语法看来存在内存泄漏。 上面的代码实际上并没有发送内存泄漏&#xff0c;是不是觉得有点奇怪&#xff1f;大家有…

深度学习之-“深入理解梯度下降”

梯度下降是机器学习和深度学习的核心优化算法&#xff0c;几乎所有的模型训练都离不开它。然而&#xff0c;梯度下降并不是一个单一的算法&#xff0c;而是一个庞大的家族&#xff0c;包含了许多变体和改进方法。本文将从最基础的梯度下降开始&#xff0c;逐步深入学习&#xf…

力扣-字符串

字符串不能被修改&#xff0c;所以如果有想修改字符串的行为&#xff0c;需要转换为StringBuilder StringBuilder里也有很多封装方法String没有&#xff0c;比如reverse() StringBuilder sb new StringBuilder();// 添加字符串 sb.append("Hello"); sb.append(&qu…

flink重启策略

一、重启策略核心意义 Flink 重启策略&#xff08;Restart Strategy&#xff09;是容错机制的核心组件&#xff0c;用于定义作业在发生故障时如何恢复执行。其核心目标为&#xff1a; 最小化停机时间&#xff1a;快速恢复数据处理&#xff0c;降低业务影响。平衡资源消耗&…

Java TCP 通信:实现简单的 Echo 服务器与客户端

TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的传输层协议。与 UDP 不同&#xff0c;TCP 保证了数据的顺序、可靠性和完整性&#xff0c;适用于需要可靠传输的应用场景&#xff0c;如文件传输、网页浏览等。本文将基于 Java 实现一个简单的…