community[patch]: deprecate ErnieBotChat and ErnieEmbeddings classes (#15862)

- **Description:** add deprecated warning for ErnieBotChat and
ErnieEmbeddings.
- These two classes **lack maintenance** and do not use the sdk provided
by qianfan, which means hard to implement some key feature like
streaming.
- The alternative `langchain_community.chat_models.QianfanChatEndpoint`
and `langchain_community.embeddings.QianfanEmbeddingsEndpoint` can
completely replace these two classes, only need to change configuration
items.
  - **Issue:** None,
  - **Dependencies:** None,
  - **Twitter handle:** None

---------

Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
axiangcoding
2024-01-16 03:14:44 +08:00
committed by GitHub
parent 7c57cfd8f0
commit daa9ccae52
4 changed files with 97 additions and 10 deletions

View File

@@ -16,29 +16,58 @@
"# ErnieBotChat\n",
"\n",
"[ERNIE-Bot](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/jlil56u11) is a large language model developed by Baidu, covering a huge amount of Chinese data.\n",
"This notebook covers how to get started with ErnieBot chat models.\n",
"This notebook covers how to get started with ErnieBot chat models."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Deprecated Warning**\n",
"\n",
"We recommend users using `langchain_community.chat_models.ErnieBotChat` \n",
"to use `langchain_community.chat_models.QianfanChatEndpoint` instead.\n",
"\n",
"documentation for `QianfanChatEndpoint` is [here](./baidu_qianfan_endpoint).\n",
"\n",
"they are 4 why we recommend users to use `QianfanChatEndpoint`:\n",
"\n",
"**Note:** We recommend users using this class to switch to [Baidu Qianfan](./baidu_qianfan_endpoint). they are 3 why we recommend users to use `QianfanChatEndpoint`:\n",
"1. `QianfanChatEndpoint` support more LLM in the Qianfan platform.\n",
"2. `QianfanChatEndpoint` support streaming mode.\n",
"3. `QianfanChatEndpoint` support function calling usgage.\n",
"\n",
"4. `ErnieBotChat` is lack of maintenance and deprecated."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some tips for migration:\n",
"\n",
"- change `ernie_client_id` to `qianfan_ak`, also change `ernie_client_secret` to `qianfan_sk`.\n",
"- install `qianfan` package. \n",
" ```\n",
" pip install qianfan\n",
" ```"
"- install `qianfan` package. like `pip install qianfan`\n",
"- change `ErnieBotChat` to `QianfanChatEndpoint`."
]
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from langchain.schema import HumanMessage\n",
"from langchain_community.chat_models import ErnieBotChat"
"from langchain_community.chat_models.baidu_qianfan_endpoint import QianfanChatEndpoint\n",
"\n",
"chat = QianfanChatEndpoint(\n",
" qianfan_ak=\"your qianfan ak\",\n",
" qianfan_sk=\"your qianfan sk\",\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Usage"
]
},
{
@@ -47,6 +76,9 @@
"metadata": {},
"outputs": [],
"source": [
"from langchain.schema import HumanMessage\n",
"from langchain_community.chat_models import ErnieBotChat\n",
"\n",
"chat = ErnieBotChat(\n",
" ernie_client_id=\"YOUR_CLIENT_ID\", ernie_client_secret=\"YOUR_CLIENT_SECRET\"\n",
")"

View File

@@ -10,6 +10,51 @@
"which converts text into a vector form represented by numerical values, and is used in text retrieval, information recommendation, knowledge mining and other scenarios."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Deprecated Warning**\n",
"\n",
"We recommend users using `langchain_community.embeddings.ErnieEmbeddings` \n",
"to use `langchain_community.embeddings.QianfanEmbeddingsEndpoint` instead.\n",
"\n",
"documentation for `QianfanEmbeddingsEndpoint` is [here](./baidu_qianfan_endpoint).\n",
"\n",
"they are 2 why we recommend users to use `QianfanEmbeddingsEndpoint`:\n",
"\n",
"1. `QianfanEmbeddingsEndpoint` support more embedding model in the Qianfan platform.\n",
"2. `ErnieEmbeddings` is lack of maintenance and deprecated."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some tips for migration:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from langchain_community.embeddings import QianfanEmbeddingsEndpoint\n",
"\n",
"embeddings = QianfanEmbeddingsEndpoint(\n",
" qianfan_ak=\"your qianfan ak\",\n",
" qianfan_sk=\"your qianfan sk\",\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Usage"
]
},
{
"cell_type": "code",
"execution_count": null,