探索Oracle AI Vector Search的嵌入生成:一步到位的指南

# 引言
Oracle AI Vector Search是为AI工作负载设计的,它允许你基于语义而非关键词来查询数据。其最大的优势在于它将非结构化数据的语义搜索与业务数据的关系搜索合二为一,消除了多系统间数据碎片化的烦恼。这篇文章将带你深入了解如何使用Oracle AI Vector Search生成文档嵌入。

# 主要内容

## 嵌入生成的优势
Oracle AI Vector Search不仅整合了Oracle数据库的强大功能,如分区支持、Exadata智能扫描、事务处理和安全性,还支持与第三方提供商的集成。

## 环境准备
- 安装Oracle Python客户端:
  ```bash
  pip install oracledb

连接到Oracle数据库

连接数据库是使用Oracle AI Vector Search的第一步:

import sys
import oracledb

username = "<username>"
password = "<password>"
dsn = "<hostname>/<service_name>"

try:
    conn = oracledb.connect(user=username, password=password, dsn=dsn)
    print("Connection successful!")
except Exception as e:
    print("Connection failed!")
    sys.exit(1)

上传ONNX模型

在数据库中使用ONNX模型进行嵌入生成:

from langchain_community.embeddings.oracleai import OracleEmbeddings

onnx_dir = "DEMO_DIR"
onnx_file = "tinybert.onnx"
model_name = "demo_model"

try:
    OracleEmbeddings.load_onnx_model(conn, onnx_dir, onnx_file, model_name)
    print("ONNX model loaded.")
except Exception as e:
    print("ONNX model loading failed!")
    sys.exit(1)

创建凭据

对于选择第三方提供商的用户,需要创建相应的凭据:

try:
    cursor = conn.cursor()
    cursor.execute(
        """
       declare
           jo json_object_t;
       begin
           dbms_vector_chain.drop_credential(credential_name  => 'HF_CRED');
           jo := json_object_t();
           jo.put('access_token', '<access_token>');
           dbms_vector_chain.create_credential(
               credential_name   =>  'HF_CRED',
               params            => json(jo.to_string));
       end;
       """
    )
    cursor.close()
    print("Credentials created.")
except Exception as ex:
    cursor.close()
    raise

嵌入生成

下述代码示例展示了如何使用Oracle AI Vector Search生成嵌入:

from langchain_community.embeddings.oracleai import OracleEmbeddings

embedder_params = {"provider": "database", "model": "demo_model"}
embedder = OracleEmbeddings(conn=conn, params=embedder_params)
embed = embedder.embed_query("Hello World!")

print(f"Embedding generated by OracleEmbeddings: {embed}")

常见问题和解决方案

  • 连接问题:确保网络配置正确,并检查凭证信息。
  • ONNX模型加载失败:验证模型文件的路径和文件名是否正确。

总结和进一步学习资源

Oracle AI Vector Search的嵌入生成功能强大且灵活。若要深入学习,请参考以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值