community: Add deprecation warning for GigaChat integration in langchain-community (#28022)

- **Description:** We have released the
[langchain-gigachat](https://github.com/ai-forever/langchain-gigachat?tab=readme-ov-file)
with new GigaChat integration that support's function/tool calling. This
PR deprecated legacy GigaChat class in community package.

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
Mikelarg 2024-11-21 00:03:47 +03:00 committed by GitHub
parent 567dc1e422
commit 2901fa20cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 28 additions and 19 deletions

View File

@ -8,7 +8,7 @@
"source": [ "source": [
"# GigaChat\n", "# GigaChat\n",
"This notebook shows how to use LangChain with [GigaChat](https://developers.sber.ru/portal/products/gigachat).\n", "This notebook shows how to use LangChain with [GigaChat](https://developers.sber.ru/portal/products/gigachat).\n",
"To use you need to install ```gigachat``` python package." "To use you need to install ```langchain_gigachat``` python package."
] ]
}, },
{ {
@ -22,7 +22,7 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"%pip install --upgrade --quiet gigachat" "%pip install --upgrade --quiet langchain-gigachat"
] ]
}, },
{ {
@ -53,20 +53,20 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "execution_count": 5,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain_community.chat_models import GigaChat\n", "from langchain_gigachat import GigaChat\n",
"\n", "\n",
"chat = GigaChat(verify_ssl_certs=False, scope=\"GIGACHAT_API_PERS\")" "chat = GigaChat(verify_ssl_certs=False, scope=\"GIGACHAT_API_PERS\")"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 6,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },

View File

@ -9,7 +9,7 @@ For more info how to get access to GigaChat [follow here](https://developers.sbe
GigaChat package can be installed via pip from PyPI: GigaChat package can be installed via pip from PyPI:
```bash ```bash
pip install gigachat pip install langchain-gigachat
``` ```
## LLMs ## LLMs
@ -25,7 +25,7 @@ from langchain_community.llms import GigaChat
See a [usage example](/docs/integrations/chat/gigachat). See a [usage example](/docs/integrations/chat/gigachat).
```python ```python
from langchain_community.chat_models import GigaChat from langchain_gigachat.chat_models import GigaChat
``` ```
## Embeddings ## Embeddings
@ -33,5 +33,5 @@ from langchain_community.chat_models import GigaChat
See a [usage example](/docs/integrations/text_embedding/gigachat). See a [usage example](/docs/integrations/text_embedding/gigachat).
```python ```python
from langchain_community.embeddings import GigaChatEmbeddings from langchain_gigachat.embeddings import GigaChatEmbeddings
``` ```

View File

@ -15,11 +15,14 @@
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
"metadata": { "metadata": {
"collapsed": false "collapsed": false,
"pycharm": {
"is_executing": true
}
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"%pip install --upgrade --quiet gigachat" "%pip install --upgrade --quiet langchain-gigachat"
] ]
}, },
{ {
@ -50,13 +53,13 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 5, "execution_count": 3,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from langchain_community.embeddings import GigaChatEmbeddings\n", "from langchain_gigachat import GigaChatEmbeddings\n",
"\n", "\n",
"embeddings = GigaChatEmbeddings(verify_ssl_certs=False, scope=\"GIGACHAT_API_PERS\")" "embeddings = GigaChatEmbeddings(verify_ssl_certs=False, scope=\"GIGACHAT_API_PERS\")"
] ]
@ -81,13 +84,7 @@
"outputs": [ "outputs": [
{ {
"data": { "data": {
"text/plain": [ "text/plain": "[0.8398333191871643,\n -0.14180311560630798,\n -0.6161925792694092,\n -0.17103666067123413,\n 1.2884578704833984]"
"[0.8398333191871643,\n",
" -0.14180311560630798,\n",
" -0.6161925792694092,\n",
" -0.17103666067123413,\n",
" 1.2884578704833984]"
]
}, },
"execution_count": 8, "execution_count": 8,
"metadata": {}, "metadata": {},

View File

@ -13,6 +13,7 @@ from typing import (
Type, Type,
) )
from langchain_core._api.deprecation import deprecated
from langchain_core.callbacks import ( from langchain_core.callbacks import (
AsyncCallbackManagerForLLMRun, AsyncCallbackManagerForLLMRun,
CallbackManagerForLLMRun, CallbackManagerForLLMRun,
@ -113,6 +114,11 @@ def _convert_delta_to_message_chunk(
return default_class(content=content) # type: ignore[call-arg] return default_class(content=content) # type: ignore[call-arg]
@deprecated(
since="0.3.5",
removal="1.0",
alternative_import="langchain_gigachat.GigaChat",
)
class GigaChat(_BaseGigaChat, BaseChatModel): class GigaChat(_BaseGigaChat, BaseChatModel):
"""`GigaChat` large language models API. """`GigaChat` large language models API.

View File

@ -4,6 +4,7 @@ import logging
from functools import cached_property from functools import cached_property
from typing import Any, Dict, List, Optional from typing import Any, Dict, List, Optional
from langchain_core._api.deprecation import deprecated
from langchain_core.embeddings import Embeddings from langchain_core.embeddings import Embeddings
from langchain_core.utils import pre_init from langchain_core.utils import pre_init
from langchain_core.utils.pydantic import get_fields from langchain_core.utils.pydantic import get_fields
@ -15,6 +16,11 @@ MAX_BATCH_SIZE_CHARS = 1000000
MAX_BATCH_SIZE_PARTS = 90 MAX_BATCH_SIZE_PARTS = 90
@deprecated(
since="0.3.5",
removal="1.0",
alternative_import="langchain_gigachat.GigaChatEmbeddings",
)
class GigaChatEmbeddings(BaseModel, Embeddings): class GigaChatEmbeddings(BaseModel, Embeddings):
"""GigaChat Embeddings models. """GigaChat Embeddings models.