专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle数据库与第三方Embedding服务集成

ins518 2024-10-28 16:40:39 技术文章 15 ℃ 0 评论

Oracle数据库向量化操作能支持众多外部提供商提供的API,包括:

  • OCIGenAI (Oracle OCI)
  • OpenAI
  • Cohere
  • HuggingFace
  • GoogleAI
  • VertexAI
  • 以及所有能兼容 OpenAI API 规范的其它服务接口。

本节以腾讯混元Embeddings模型为例,演示如何在Oracle中直接用简单的SQL调用腾讯混元Embedding模型,实现数据的向量化。对于其它的API提供商,做法上是一样的。

开通第三方API服务

首先,开通腾讯混元大模型服务,并注册API Key: https://console.cloud.tencent.com/hunyuan/api-key 。

创建访问凭证

利用刚才创建的API Key,在Oracle数据库中创建访问凭证。

declare
  jo json_object_t;
begin
  jo := json_object_t();
  jo.put('access_token', 'sk-IGiJxMkAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
  dbms_vector.create_credential(
    credential_name   => 'HYSUN_HUNYUAN_CRED',
    params            => json(jo.to_string));
end;
/

直接在SQL中Embedding

在SQL中直接调用dbms_vector.utl_to_embedding或dbms_vector.utl_to_embeddings将数据转化为向量:

SELECT
    dbms_vector.utl_to_embedding(
        'Oracle向量数据库动手实验培训',
        json('{
            "provider": "OpenAI",
            "credential_name": "HYSUN_HUNYUAN_CRED",
            "url": "https://api.hunyuan.cloud.tencent.com/v1/embeddings",
            "model": "hunyuan-embedding"
        }')
    ) embedding
FROM dual;

与第三方Embedding服务的方法还有很多,例如 先在程序中调用外部 Embedding 服务完成向量化,再进行下一步的向量操作。本节我们介绍的是直接通过 SQL 调用腾讯混元 Embedding 服务。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表