近年来,大型语言模型(LLM)的快速发展彻底改变了人机交互的方式。ChatGPT作为其中的佼佼者,凭借其强大的自然语言处理能力,在各个领域都展现出巨大的应用潜力。然而,对于开发者而言,构建自己的ChatGPT应用往往需要耗费大量的时间和资源。
Ollama 和 Ollamaweb 的出现为开发者提供了一个快速构建类ChatGPT应用的解决方案。Ollama 是一款开源的LLM服务,它支持 Llama-compatible 的模型,并提供简单易用的 API 接口。而 Ollamaweb 则是一个基于 Ollama 的轻量级 ChatGPT 网页版,使用 Go 语言编写,简洁高效。
Ollamaweb 功能介绍
Ollamaweb 提供了简洁直观的网页界面,方便用户与 LLM 进行交互。其主要功能如下:
- 信息展示: 主页清晰地显示 Ollama 版本、LLM 模型标签以及上下文长度等关键信息,使用户对当前环境一目了然。
- 问答交互: Ollamaweb 能够准确理解用户提出的问题,并基于选择的 LLM 模型给出相应的答案,例如回答 “什么是 TOTP?” 等问题。
- 上下文记忆: 在对话过程中,Ollamaweb 会记住之前的对话内容,并在后续回答中保持上下文一致性,使对话更加自然流畅。
- 对话管理: 为了确保 LLM 的逻辑连贯性,用户可以方便地删除任何一轮对话,以便重新组织思路或纠正错误。
- 对话保存: Ollamaweb 支持将对话内容保存为 HTML 文档,方便用户回顾和分析之前的对话记录。
- 响应日志: 后端服务器会记录每个会话的 Token 使用量和响应速度等信息,方便开发者进行性能分析和优化。
快速上手
1. 下载模型
访问 https://www.ollama.com 下载你所需要的 Llama-compatible 模型。
2. 获取代码
git clone https://github.com/ml2068/ollamagoweb.git
cd ollamagoweb
go mod tidy
3. 配置环境
编辑 .env
文件,设置端口号和 LLM 模型标签:
vim .env
PORT=1102
llm=llama3.1:8b
4. 运行服务
go run main.go
5. 构建可执行文件
go build main.go
./main
Groq 支持
Ollamaweb 还支持使用 Groq 平台的 LLM 模型。
1. 替换文件:
将以下文件替换为 GroqGoWeb 目录下的对应文件:
./main.go
./.env
./static/logo.png
./static/favicon.ico
2. 配置 Groq:
编辑 .env
文件,设置 Groq API 地址和 API 密钥:
PORT=1102
llm=llama3-8b-8192
baseUrl=https://api.groq.com/openai/v1
apiKey=gsk_rmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0H
3. 运行服务
go run main.go
项目优势
- 轻量级: Ollamaweb 使用 Go 语言编写,代码简洁易懂,部署方便,对硬件资源要求低。
- 易用性: Ollamaweb 提供了直观的网页界面,无需安装任何软件,用户即可轻松使用。
- 可扩展性: Ollamaweb 支持不同的 LLM 模型,用户可以根据自己的需求选择合适的模型。
- 开源免费: Ollama 和 Ollamaweb 都是开源项目,用户可以免费使用和修改代码。
总结
Ollamaweb 为开发者提供了一个快速构建类ChatGPT应用的便捷方案。其轻量级、易用性、可扩展性和开源特性使得开发者能够更加专注于应用逻辑的开发,而无需过多关注底层技术细节。相信随着 Ollama 和 Ollamaweb 的不断完善,将会有更多基于 LLM 的创新应用涌现出来,为用户带来更加智能化的体验。