本文档将帮助您开始使用 OCI 生成式 AI 嵌入模型。Oracle Cloud Infrastructure (OCI) 生成式 AI 提供最先进的文本和图像嵌入模型,支持语义搜索、RAG、聚类和跨模态应用。
有关详细文档,请参阅 OCI 生成式 AI 文档 和 API 参考.
概述
集成详情
| 类 | 包 | 可序列化 | 参数缓存 | 异步 | 下载 | 版本 |
|---|---|---|---|---|---|---|
OCIGenAIEmbeddings | langchain-oci | beta | ✅ | ✅ | !PyPI - 下载量 | !PyPI - 版本 |
模型特性
| 文本嵌入 | 图像嵌入 | 多模态 | 批处理操作 | 异步 |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ✅ |
设置
pip install -qU langchain-oci oci
uv add langchain-oci oci
设置身份验证:
oci setup config
实例化
from langchain_oci import OCIGenAIEmbeddings
embeddings = OCIGenAIEmbeddings(
model_id="cohere.embed-english-v3.0",
service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",
compartment_id="ocid1.compartment.oc1..your-compartment-id",
)
用法
对技术文档构建语义搜索:
# Index code documentation
docs = [
"authenticate() validates JWT tokens and returns user object",
"authorize() checks user permissions for resource access",
"audit_log() records user actions for compliance tracking"
]
doc_vectors = embeddings.embed_documents(docs)
# Search with natural language query
query = "How do I verify user identity?"
query_vector = embeddings.embed_query(query)
# Find most relevant documentation
similarities = [
np.dot(query_vector, doc_vec) /
(np.linalg.norm(query_vector) * np.linalg.norm(doc_vec))
for doc_vec in doc_vectors
]
best_match = docs[np.argmax(similarities)]
# Returns: "authenticate() validates JWT tokens..."
用例: 代码搜索、文档问答、日志分析、重复检测
图像嵌入
使用多模态嵌入通过文本查询搜索视觉资产:
from langchain_oci import OCIGenAIEmbeddings
embeddings = OCIGenAIEmbeddings(
model_id="cohere.embed-v4.0",
service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",
compartment_id="ocid1.compartment.oc1..your-compartment-id",
)
# Index architecture diagrams
diagrams = ["microservices.png", "database_schema.png", "network.png"]
image_vectors = embeddings.embed_image_batch(diagrams)
# Search with text query
query_vector = embeddings.embed_query("database relationships")
# Find best match
similarities = [np.dot(query_vector, v) / (np.linalg.norm(query_vector) * np.linalg.norm(v))
for v in image_vectors]
print(diagrams[np.argmax(similarities)]) # "database_schema.png"
用例: 技术图表搜索、资产管理、视觉文档检索
可用模型
| 模型 | 维度 | 类型 |
|---|---|---|
cohere.embed-english-v3.0 | 1024 | 纯文本 |
cohere.embed-multilingual-v3.0 | 1024 | 纯文本 |
cohere.embed-v4.0 | 256-1536 | 文本 + 图像 |
请参阅 OCI 模型目录 获取所有模型。
RAG 示例
from langchain_community.vectorstores import FAISS
# Create vector store
vectorstore = FAISS.from_documents(documents, embeddings)
# Search
results = vectorstore.similarity_search("your query", k=3)
异步
用于生产环境的异步操作:
query_vector = await embeddings.aembed_query("What is AI?")
doc_vectors = await embeddings.aembed_documents(["Doc 1", "Doc 2"])
API 参考
有关所有 OCIGenAIEmbeddings 功能和配置的详细文档,请访问 API 参考.
相关内容
- - OCI 提供商概述
- -
ChatOCIGenAI - - 嵌入指南
- - RAG 教程