近年来,大型语言模型(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 的创新应用涌现出来,为用户带来更加智能化的体验。