怎么用自己的主机做网站服务器,网站轮播效果怎么做,wordpress页面链接404错误,编程教育机构Ollama
简介
Ollama是一个开源的大型语言模型服务工具#xff0c;它允许用户在本地机器上构建和运行语言模型#xff0c;提供了一个简单易用的API来创建、运行和管理模型#xff0c;同时还提供了丰富的预构建模型库#xff0c;这些模型可以轻松地应用在多种应用场景中。O…Ollama
简介
Ollama是一个开源的大型语言模型服务工具它允许用户在本地机器上构建和运行语言模型提供了一个简单易用的API来创建、运行和管理模型同时还提供了丰富的预构建模型库这些模型可以轻松地应用在多种应用场景中。Ollama支持多种操作系统包括macOS、Windows、Linux并提供Docker镜像方便用户在不同环境中部署使用 。
Ollama的特点包括轻量级和可扩展性它允许用户通过命令行界面CLI或REST API与语言模型进行交互。用户可以下载并运行预训练的模型如Llama 2、Mistral、Dolphin Phi等这些模型具有不同的参数量和大小适用于不同的使用场景和需求 。
此外Ollama还支持模型的自定义用户可以根据自己的需求调整模型参数或者导入自有的模型进行使用。例如用户可以通过创建Modelfile来定制模型Modelfile是一个配置文件用于定义和管理Ollama平台上的模型通过模型文件可以创建新模型或修改现有模型以适应特定的应用场景 。
安装
官网https://ollama.com/ Githubhttps://github.com/ollama/ollama
进入官网之后点击download下载对应系统版本进行安装。
模型使用llama3 官网https://ollama.com/library/llama3
ollama下载完成之后打开命令行运行命令ollama run llama3自动下载模型在命令行可进行简单的聊天 llama3有8B和70B上面的命令运行之后默认选择的是8B
客户端
python客户端https://github.com/ollama/ollama-python
import ollama
response ollama.chat(modelllama3, messages[{role: user,content: Why is the sky blue?,},
])
print(response[message][content])流式响应
import ollamastream ollama.chat(modelllama3,messages[{role: user, content: 用中文讲一个笑话}],streamTrue,
)for chunk in stream:print(chunk[message][content], end, flushTrue)Web UI
Ollama的Github中推荐的UI项目 这里我们使用hollamahttps://github.com/fmaclen/hollama
先克隆hollama的源代码进入目录之后运行npm i --registryhttps://registry.npmmirror.com安装依赖然后运行npm run dev启动项目
进入setting中设置Server和Model 然后再sessions里面可以进行聊天 Spring AI
官网https://docs.spring.io/spring-ai/reference/index.html
ollama文档https://docs.spring.io/spring-ai/reference/api/chat/ollama-chat.html
1、通过https://start.spring.io/创建项目并引入Ollama AI pom.xml如下
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.1/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdpers.fengxu/groupIdartifactIdspringaidemo/artifactIdversion0.0.1-SNAPSHOT/versionnamespringaidemo/namedescriptionDemo project for Spring Boot/descriptionurl/licenseslicense//licensesdevelopersdeveloper//developersscmconnection/developerConnection/tag/url//scmpropertiesjava.version22/java.versionspring-ai.version1.0.0-M1/spring-ai.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-ollama-spring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion${spring-ai.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/buildrepositoriesrepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repository/repositories/project配置文件application.properties
spring.application.namespringaidemo
spring.ai.ollama.base-urlhttp://localhost:11434
spring.ai.ollama.chat.options.modelllama3新建controller
package pers.fengxu.springaidemo.controller;import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.ollama.api.OllamaApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;import java.util.Map;RestController
public class ChatController {private final OllamaChatModel chatModel;Autowiredpublic ChatController(OllamaChatModel chatModel) {this.chatModel chatModel;}GetMapping(/ai/generate)public Map generate(RequestParam(value message, defaultValue Tell me a joke) String message) {return Map.of(generation, chatModel.call(message));}GetMapping(/ai/generateStream)public FluxChatResponse generateStream(RequestParam(value message, defaultValue Tell me a joke) String message) {Prompt prompt new Prompt(new UserMessage(message));return chatModel.stream(prompt);}}新建启动类
package pers.fengxu.springaidemo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class SpringaidemoApplication {public static void main(String[] args) {SpringApplication.run(SpringaidemoApplication.class, args);}}启动项目之后访问http://localhost:8080/ai/generate AnyThingLLM
简介
AnythingLLM 是一款强大的人工智能商业智能工具用于商业智能和文档处理具有以下主要特点
多平台支持适用于 MacOS、Linux 和 Windows 系统。隐私保护可以在本地运行无需互联网连接。自定义模型支持使用闭源模型如 GPT-4 或自定义微调模型如 Llama2。多文档处理不仅支持 PDF还能处理 Word 文档等多种格式。工作区管理通过“工作区”管理文档保持上下文清晰。成本效益高管理大型文档时成本比其他解决方案节省高达 90%。开发者友好提供完整的开发者 API支持自定义集成。多用户支持支持多用户实例和权限管理。遥测功能可选的匿名使用信息收集帮助改进产品。
安装配置
官网https://useanything.com/download
下载之后双击安装之后打开进行初始设置 选择Ollama 继续 设置工作区名称 可以在设置里面进行语言和其他相关属性的配置 知识库导入
现在先问ai一个它可能不知道的问题例如“高启强是谁”它的回答显然有些驴头不对马嘴。 点击左边的上传按钮 左边支持网址和文本 所以可以直接讲百度百科的链接提供给ai学习
地址为https://baike.baidu.com/item/%E9%AB%98%E5%90%AF%E5%BC%BA/59990049 解析网页完成之后将该知识库移动至当前空间 点击保存
然后再次输入问题便可以得到我们想要的答案。 备注如果电脑性能不够可以选择阿里的qwen2:0.5b模型只需要几百兆运行ollama run qwen2:0.5b即可安装运行并且对中文的支持更好对应网址https://ollama.com/library/qwen2:0.5b