下载安装Ollama:
curl -fsSL https://ollama.com/install.sh | sh
-- 手工启动ollama进程。这里指定了ollama服务的监听地址。如果 ollama 是以系统服务启动,则也需要将环境变量增加到系统服务中。
OLLAMA_HOST=0.0.0.0:8098 ollama serve
部署 bge-m3 模型:
ollama pull bge-m3
直接在Oracle SQL中访问部署的模型进行 embedding:
-- 创建访问凭证
BEGIN
DBMS_VECTOR_CHAIN.CREATE_CREDENTIAL (
CREDENTIAL_NAME => 'LAB_OPENAI_CRED',
PARAMS => json('{ "access_token": "EMPTY" }')
);
END;
/
-- SQL中直接调用自部署的模型:
SELECT dbms_vector.utl_to_embedding(
'Oracle向量数据库动手实验培训',
json('{
"provider": "OpenAI",
"credential_name": "LAB_OPENAI_CRED",
"url": "http://<ip>:8098/v1/embeddings",
"model": "bge-m3"
}')
) embedding;
直接在SQL中访问自部署的模型做向量化操作是非常有意义的,Embedding本来是靠近数据侧的一个操作,在数据侧完成这个操作,能让上层应用程序更简洁,更专注于业务。
附:
部署千问 embedding 模型:
ollama run rjmalagon/gte-qwen2-7b-instruct:f16
在SQL中直接使用:
-- 创建访问凭证(略)
-- SQL中直接调用自部署的模型:
SELECT dbms_vector.utl_to_embedding(
'Oracle向量数据库动手实验培训',
json('{
"provider": "OpenAI",
"credential_name": "LAB_OPENAI_CRED",
"url": "http://<ip>:8098/v1/embeddings",
"model": "rjmalagon/gte-qwen2-7b-instruct:f16"
}')
) embedding;