微软
所有与 Microsoft Azure 及其他 Microsoft 产品相关的功能。
聊天模型
Azure OpenAI
参见使用示例
:::提示
我们正在统一所有包中的模型参数。现在建议使用 model 代替 modelName,并使用 apiKey 表示API密钥。
:::
import { AzureChatOpenAI } from "@langchain/openai";
const model = new AzureChatOpenAI({
temperature: 0.9,
azureOpenAIApiKey: "<your_key>", // In Node.js defaults to process.env.AZURE_OPENAI_API_KEY
azureOpenAIApiInstanceName: "<your_instance_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_INSTANCE_NAME
azureOpenAIApiDeploymentName: "<your_deployment_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME
azureOpenAIApiVersion: "<api_version>", // In Node.js defaults to process.env.AZURE_OPENAI_API_VERSION
});
API Reference:
- AzureChatOpenAI from
@langchain/openai
LLM
Azure OpenAI
Microsoft Azure,通常称为
Azure,是由Microsoft运营的云计算平台,它通过全球数据中心提供应用程序和服务的访问、管理和开发。它提供多种功能,包括软件即服务 (SaaS)、平台即服务 (PaaS) 和基础设施即服务 (IaaS)。Microsoft Azure支持多种编程语言、工具和框架,包括 Microsoft 自有的和第三方的软件及系统。
Azure OpenAI 是一项云服务,可帮助您通过 OpenAI、Meta 等提供的多样化预构建和精选模型快速开发生成式 AI 体验。
LangChain.js 支持使用 OpenAI SDK 中的新 Azure 集成来与 Azure OpenAI 进行集成。
您可以在此页面了解更多关于 Azure OpenAI 及其与 OpenAI API 的区别。如果您没有 Azure 帐户,可以创建一个免费帐户开始使用。
您需要部署一个 Azure OpenAI 实例。您可以按照此指南在 Azure 门户中部署一个实例。
当您的实例运行后,请确保您拥有实例的名称和密钥。您可以在 Azure 门户中实例的 "密钥和端点" 部分找到密钥。
如果您使用的是 Node.js,可以定义以下环境变量来使用该服务:
AZURE_OPENAI_API_INSTANCE_NAME=<YOUR_INSTANCE_NAME>
AZURE_OPENAI_API_DEPLOYMENT_NAME=<YOUR_DEPLOYMENT_NAME>
AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME=<YOUR_EMBEDDINGS_DEPLOYMENT_NAME>
AZURE_OPENAI_API_KEY=<YOUR_KEY>
AZURE_OPENAI_API_VERSION="2024-02-01"
您可以在 Azure OpenAI 文档中找到支持的 API 版本列表。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/openai @langchain/core
yarn add @langchain/openai @langchain/core
pnpm add @langchain/openai @langchain/core
参见使用示例。
:::提示
我们正在统一所有包中的模型参数。现在建议使用 model 代替 modelName,并使用 apiKey 表示API密钥。
:::
import { AzureOpenAI } from "@langchain/openai";
const model = new AzureOpenAI({
azureOpenAIApiKey: "<your_key>", // In Node.js defaults to process.env.AZURE_OPENAI_API_KEY
azureOpenAIApiInstanceName: "<your_instance_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_INSTANCE_NAME
azureOpenAIApiDeploymentName: "<your_deployment_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME
azureOpenAIApiVersion: "<api_version>", // In Node.js defaults to process.env.AZURE_OPENAI_API_VERSION
});
API Reference:
- AzureOpenAI from
@langchain/openai
文本嵌入模型
Azure OpenAI
参见使用示例
:::提示
我们正在统一所有包中的模型参数。现在建议使用 model 代替 modelName,并使用 apiKey 表示API密钥。
:::
import { AzureOpenAIEmbeddings } from "@langchain/openai";
const model = new AzureOpenAIEmbeddings({
azureOpenAIApiKey: "<your_key>", // In Node.js defaults to process.env.AZURE_OPENAI_API_KEY
azureOpenAIApiInstanceName: "<your_instance_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_INSTANCE_NAME
azureOpenAIApiEmbeddingsDeploymentName: "<your_embeddings_deployment_name>", // In Node.js defaults to process.env.AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME
azureOpenAIApiVersion: "<api_version>", // In Node.js defaults to process.env.AZURE_OPENAI_API_VERSION
});
API Reference:
- AzureOpenAIEmbeddings from
@langchain/openai
向量存储
Azure AI Search
Azure AI Search(以前称为 Azure Search 和 Azure Cognitive Search)是一个分布式、RESTful 搜索引擎,针对 Azure 上生产规模工作负载的速度和相关性进行了优化。它还支持使用 k-最近邻 (kNN) 算法和 语义搜索 进行向量搜索。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install -S @langchain/community @langchain/core @azure/search-documents
yarn add @langchain/community @langchain/core @azure/search-documents
pnpm add @langchain/community @langchain/core @azure/search-documents
参见使用示例。
import { AzureAISearchVectorStore } from "@langchain/community/vectorstores/azure_aisearch";
Azure Cosmos DB for NoSQL
Azure Cosmos DB for NoSQL 提供了对具有灵活模式的文档进行查询的支持,并原生支持 JSON。它现在还提供了向量索引和搜索功能。此功能旨在处理高维向量,能够在任意规模下实现高效且准确的向量搜索。您现在可以将向量直接存储在文档中,与您的数据一起。数据库中的每个文档不仅可以包含传统的无模式数据,还可以包含高维向量作为文档的其他属性。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/azure-cosmosdb @langchain/core
yarn add @langchain/azure-cosmosdb @langchain/core
pnpm add @langchain/azure-cosmosdb @langchain/core
参见使用示例。
import { AzureCosmosDBNoSQLVectorStore } from "@langchain/azure-cosmosdb";
Azure Cosmos DB for MongoDB vCore
Azure Cosmos DB for MongoDB vCore 使得创建具有完整原生 MongoDB 支持的数据库变得简单。您可以通过将应用程序指向 MongoDB vCore 帐户的连接字符串来应用您的 MongoDB 经验,并继续使用您最喜欢的 MongoDB 驱动程序、SDK 和工具。在 Azure Cosmos DB for MongoDB vCore 中使用向量搜索,可以无缝地将基于 AI 的应用程序与存储在 Azure Cosmos DB 中的数据集成。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/azure-cosmosdb @langchain/core
yarn add @langchain/azure-cosmosdb @langchain/core
pnpm add @langchain/azure-cosmosdb @langchain/core
参见使用示例。
import { AzureCosmosDBMongoDBVectorStore } from "@langchain/azure-cosmosdb";
语义缓存
Azure Cosmos DB NoSQL 语义缓存
语义缓存功能通过 Azure Cosmos DB for NoSQL 集成提供支持,使用户能够基于用户输入与先前缓存结果之间的语义相似性来检索缓存的响应。它利用 AzureCosmosDBNoSQLVectorStore,该存储将缓存提示的向量嵌入。这些嵌入支持基于相似性的搜索,使系统能够检索相关的缓存结果。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/azure-cosmosdb @langchain/core
yarn add @langchain/azure-cosmosdb @langchain/core
pnpm add @langchain/azure-cosmosdb @langchain/core
参见使用示例。
import { AzureCosmosDBNoSQLSemanticCache } from "@langchain/azure-cosmosdb";
聊天消息历史
Azure Cosmos DB NoSQL 聊天消息历史
AzureCosmosDBNoSQLChatMessageHistory 使用 Cosmos DB 存储聊天消息历史。对于跨聊天会话的长期持久化,您可以替换默认的内存中
chatHistory,该chatHistory支持如BufferMemory等聊天内存类。
- npm
- Yarn
- pnpm
npm install @langchain/azure-cosmosdb @langchain/core
yarn add @langchain/azure-cosmosdb @langchain/core
pnpm add @langchain/azure-cosmosdb @langchain/core
参见使用示例。
import { AzureCosmosDBNoSQLChatMessageHistory } from "@langchain/azure-cosmosdb";
Azure Cosmos DB MongoDB vCore 聊天消息历史
AzureCosmosDBMongoChatMessageHistory 使用 Cosmos DB Mongo vCore 存储聊天消息历史。对于跨聊天会话的长期持久化,您可以替换默认的内存中
chatHistory,该chatHistory支持如BufferMemory等聊天内存类。
- npm
- Yarn
- pnpm
npm install @langchain/azure-cosmosdb @langchain/core
yarn add @langchain/azure-cosmosdb @langchain/core
pnpm add @langchain/azure-cosmosdb @langchain/core
参见使用示例。
import { AzureCosmosDBMongoChatMessageHistory } from "@langchain/azure-cosmosdb";
文档加载器
Azure Blob Storage
Azure Blob Storage 是微软的云对象存储解决方案。Blob Storage 经过优化,用于存储大量非结构化数据。非结构化数据是指不符合特定数据模型或定义的数据,例如文本或二进制数据。
Azure Files 提供了完全托管的 云文件共享,可以通过行业标准服务器消息块 (
SMB) 协议、网络文件系统 (NFS) 协议和Azure Files REST API访问。Azure Files基于Azure Blob Storage。
Azure Blob Storage 主要用于:
- 向浏览器直接提供图像或文档。
- 存储用于分布式访问的文件。
- 流式传输视频和音频。
- 写入日志文件。
- 存储备份和恢复、灾难恢复和归档数据。
- 存储用于本地或 Azure 托管服务分析的数据。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/community @langchain/core @azure/storage-blob
yarn add @langchain/community @langchain/core @azure/storage-blob
pnpm add @langchain/community @langchain/core @azure/storage-blob
import { AzureBlobStorageContainerLoader } from "@langchain/community/document_loaders/web/azure_blob_storage_container";
参见 Azure Files 使用示例。
import { AzureBlobStorageFileLoader } from "@langchain/community/document_loaders/web/azure_blob_storage_file";
工具
Azure Container Apps 动态会话
Azure Container Apps 动态会话 提供了快速访问安全沙盒环境的功能,非常适合运行需要与其他工作负载强隔离的代码或应用程序。
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- Yarn
- pnpm
npm install @langchain/azure-dynamic-sessions @langchain/core
yarn add @langchain/azure-dynamic-sessions @langchain/core
pnpm add @langchain/azure-dynamic-sessions @langchain/core
参见 使用示例。
import { SessionsPythonREPLTool } from "@langchain/azure-dynamic-sessions";