探索Oracle Cloud Infrastructure上的生成式AI及其应用

94 阅读3分钟

探索Oracle Cloud Infrastructure上的生成式AI及其应用

引言

在现代技术的推动下,生成式AI(Generative AI)正越来越多地影响和改变我们的日常生活和工作方式。Oracle Cloud Infrastructure (OCI) 提供了一项完整的生成式AI托管服务,允许开发者通过单一API访问先进的可定制大型语言模型(LLMs)。这篇文章将帮助您了解如何在OCI上利用生成式AI服务,并使用LangChain工具进行模型调用和链式处理。

主要内容

安装和设置

首先,确保安装了oci SDK和langchain-community包。这可以通过以下命令完成:

!pip install -U oci langchain-community

使用OCI生成式AI模型

在OCI上,可以通过OCIGenAI类来调用生成式AI模型。以下示例展示了如何初始化并使用该模型。

from langchain_community.llms.oci_generative_ai import OCIGenAI

llm = OCIGenAI(
    model_id="cohere.command",
    service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",  # 使用API代理服务提高访问稳定性
    compartment_id="MY_OCID",
    model_kwargs={"temperature": 0, "max_tokens": 500},
)

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

提示模板链式处理

LangChain提供了强大的链式处理功能,使用提示模板可以轻松构建复杂的查询流程。

from langchain_core.prompts import PromptTemplate

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

response = llm_chain.invoke("What is the capital of France?")
print(response)

流式处理大文本

流式处理是处理长文本生成的有效方法。以下是一个流式生成文本的示例:

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="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",
    compartment_id="MY_OCID",
    auth_type="SECURITY_TOKEN",
    auth_profile="MY_PROFILE",  # 替换为您的配置文件名
)

专用AI集群

对于更高的性能和自定义需求,OCI支持专用AI集群。以下是访问专用集群的初始化方法:

llm = OCIGenAI(
    model_id="ocid1.generativeaiendpoint.oc1.us-chicago-1....",
    service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",
    compartment_id="DEDICATED_COMPARTMENT_OCID",
    auth_profile="MY_PROFILE",  # 替换为您的配置文件名
    provider="MODEL_PROVIDER",  # 例如:"cohere" 或 "meta"
    context_size="MODEL_CONTEXT_SIZE",  # 例如:128000
)

常见问题和解决方案

  1. 访问限制:由于网络限制,一些地区可能无法直接访问OCI API。可以通过使用API代理服务提高访问的稳定性。
  2. 认证失败:确保在OCI控制台上正确配置了所有相关认证信息。

总结和进一步学习资源

通过OCI的生成式AI服务,用户可以轻松地访问并使用各种强大的LLM模型。对于下一步学习和应用开发,建议参考以下资源:

参考资料

  1. Oracle Cloud Infrastructure Generative AI 官方文档
  2. LangChain 官方文档

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