目录

开放 Ollama 服务

环境变量

  • OLLAMA_HOST: Ollama 服务器的 IP 地址(默认 127.0.0.1:11434)
  • OLLAMA_NUM_PARALLEL: 最大并行请求数(默认 1)
  • OLLAMA_MAX_LOADED_MODELS: 最大加载模型数量(默认 1)
  • OLLAMA_KEEP_ALIVE: 模型在内存中保持加载的持续时间(默认 5m),-1 表示永久保持加载。

  • ollama/envconfig/config.go
  • Ollama FAQ

Linux

  1. 安装 Ollama 服务。
    curl -fsSL https://ollama.com/install.sh | sh
    
  2. 编辑 systemd 服务,调用 systemctl edit ollama.service。这将打开一个编辑器。
    sudo systemctl edit ollama.service
    
  3. 对于每个环境变量,在 [Service] 部分下添加一行 Environment:
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0"
    Environment="OLLAMA_NUM_PARALLEL=3"
    Environment="OLLAMA_MAX_LOADED_MODELS=6"
    Environment="OLLAMA_KEEP_ALIVE=4h"
    
  4. 保存并关闭编辑器。
  5. 重新加载 systemd 并重启 Ollama。
    sudo systemctl daemon-reload
    sudo systemctl restart ollama
    

查看运行的模型

ollama ps
NAME                   	ID          	SIZE  	PROCESSOR	UNTIL            
nomic-embed-text:latest	0a109f422b47	518 MB	100% CPU 	4 hours from now	
codeqwen:7b            	a6f7662764bd	4.9 GB	100% CPU 	4 hours from now	
yi:6b                  	a7f031bb846f	4.3 GB	100% CPU 	4 hours from now

Embedding Models

Model Parameter Size Context Length  
mxbai-embed-large 334M 512 View model
nomic-embed-text 137M 8192 View model
all-minilm 23M 256 View model

mxbai-embed-large

mxbai-embed-large 模型以其在多个领域、任务和文本长度上的良好泛化能力而闻名。它是在没有重叠 MTEB 数据的情况下训练的,表明在各种情况下具有强大的性能。该模型适用于需要理解和处理大型和多样化数据集的应用程序。

为什么没有较长的上下文长度?

最近,我们发现有些模型宣称支持长上下文以缓解分块。虽然我们认识到分块很糟糕,但使用长上下文模型并不是解决方案。

通过嵌入,我们旨在捕捉文本的语义。为了便于说明,请想象一下您自己的长上下文文档。它们可以包含任意数量的不同信息和多个主题,这些主题可能不相关或相互矛盾。使用单个嵌入准确表示这一点几乎是极其困难的,这就是为什么我们决定不支持长上下文,而是以更智能、更合理的方式解决这个问题。敬请期待,精彩内容即将推出!

nomic-embed-text

nomic-embed-text 模型是一个大上下文长度文本编码器,优于一些 OpenAI 的文本嵌入模型。它特别擅长处理短文本和长文本任务,使其成为生成嵌入的多功能选择。该模型是开源的、开放的数据,完全可重现的,为开发者增加了额外的透明度和可靠性。

all-minilm

all-minilm 模型旨在使用自监督对比学习目标在非常大的句子级数据集上训练句子嵌入模型。它旨在对句子级嵌入进行高效和有效的训练,使其成为在更细粒度的层面上进行聚类或语义搜索等任务的绝佳选择。

Ollama SDK

视觉问答

import ollama


response = ollama.chat(
	# model="llava:7b",
	model="minicpm-v:8b",
	messages=[
		{
			'role': 'user',
			'content': 'Describe this image(使用中文回答):',
			'images': ['/Users/junjian/截屏/catdog.jpg']
		}
	]
)

print(response['message']['content'])