2023-12-11 21:53:30 +00:00
|
|
|
"""**Chat Models** are a variation on language models.
|
|
|
|
|
|
|
|
While Chat Models use language models under the hood, the interface they expose
|
|
|
|
is a bit different. Rather than expose a "text in, text out" API, they expose
|
|
|
|
an interface where "chat messages" are the inputs and outputs.
|
|
|
|
|
|
|
|
**Class hierarchy:**
|
|
|
|
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
BaseLanguageModel --> BaseChatModel --> <name> # Examples: ChatOpenAI, ChatGooglePalm
|
|
|
|
|
|
|
|
**Main helpers:**
|
|
|
|
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
AIMessage, BaseMessage, HumanMessage
|
|
|
|
""" # noqa: E501
|
|
|
|
|
|
|
|
from langchain_community.chat_models.anthropic import ChatAnthropic
|
|
|
|
from langchain_community.chat_models.anyscale import ChatAnyscale
|
|
|
|
from langchain_community.chat_models.azure_openai import AzureChatOpenAI
|
|
|
|
from langchain_community.chat_models.baichuan import ChatBaichuan
|
|
|
|
from langchain_community.chat_models.baidu_qianfan_endpoint import QianfanChatEndpoint
|
|
|
|
from langchain_community.chat_models.bedrock import BedrockChat
|
|
|
|
from langchain_community.chat_models.cohere import ChatCohere
|
|
|
|
from langchain_community.chat_models.databricks import ChatDatabricks
|
|
|
|
from langchain_community.chat_models.ernie import ErnieBotChat
|
|
|
|
from langchain_community.chat_models.everlyai import ChatEverlyAI
|
|
|
|
from langchain_community.chat_models.fake import FakeListChatModel
|
|
|
|
from langchain_community.chat_models.fireworks import ChatFireworks
|
|
|
|
from langchain_community.chat_models.gigachat import GigaChat
|
|
|
|
from langchain_community.chat_models.google_palm import ChatGooglePalm
|
2023-12-19 15:48:52 +00:00
|
|
|
from langchain_community.chat_models.gpt_router import GPTRouter
|
2023-12-21 17:28:30 +00:00
|
|
|
from langchain_community.chat_models.huggingface import ChatHuggingFace
|
2023-12-11 21:53:30 +00:00
|
|
|
from langchain_community.chat_models.human import HumanInputChatModel
|
|
|
|
from langchain_community.chat_models.hunyuan import ChatHunyuan
|
|
|
|
from langchain_community.chat_models.javelin_ai_gateway import ChatJavelinAIGateway
|
|
|
|
from langchain_community.chat_models.jinachat import JinaChat
|
|
|
|
from langchain_community.chat_models.konko import ChatKonko
|
|
|
|
from langchain_community.chat_models.litellm import ChatLiteLLM
|
feat: Implement `stream` interface (#15875)
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
Major changes:
- Rename `wasm_chat.py` to `llama_edge.py`
- Rename the `WasmChatService` class to `ChatService`
- Implement the `stream` interface for `ChatService`
- Add `test_chat_wasm_service_streaming` in the integration test
- Update `llama_edge.ipynb`
---------
Signed-off-by: Xin Liu <sam@secondstate.io>
2024-01-12 05:32:48 +00:00
|
|
|
from langchain_community.chat_models.llama_edge import LlamaEdgeChatService
|
2023-12-11 21:53:30 +00:00
|
|
|
from langchain_community.chat_models.minimax import MiniMaxChat
|
|
|
|
from langchain_community.chat_models.mlflow import ChatMlflow
|
|
|
|
from langchain_community.chat_models.mlflow_ai_gateway import ChatMLflowAIGateway
|
|
|
|
from langchain_community.chat_models.ollama import ChatOllama
|
|
|
|
from langchain_community.chat_models.openai import ChatOpenAI
|
|
|
|
from langchain_community.chat_models.pai_eas_endpoint import PaiEasChatEndpoint
|
|
|
|
from langchain_community.chat_models.promptlayer_openai import PromptLayerChatOpenAI
|
2023-12-29 20:06:12 +00:00
|
|
|
from langchain_community.chat_models.tongyi import ChatTongyi
|
2023-12-11 21:53:30 +00:00
|
|
|
from langchain_community.chat_models.vertexai import ChatVertexAI
|
|
|
|
from langchain_community.chat_models.volcengine_maas import VolcEngineMaasChat
|
|
|
|
from langchain_community.chat_models.yandex import ChatYandexGPT
|
community: Integration of New Chat Model Based on ChatGLM3 via ZhipuAI API (#15105)
- **Description:**
- This PR introduces a significant enhancement to the LangChain project
by integrating a new chat model powered by the third-generation base
large model, ChatGLM3, via the zhipuai API.
- This advanced model supports functionalities like function calls, code
interpretation, and intelligent Agent capabilities.
- The additions include the chat model itself, comprehensive
documentation in the form of Python notebook docs, and thorough testing
with both unit and integrated tests.
- **Dependencies:** This update relies on the ZhipuAI package as a key
dependency.
- **Twitter handle:** If this PR receives spotlight attention, we would
be honored to receive a mention for our integration of the advanced
ChatGLM3 model via the ZhipuAI API. Kindly tag us at @kaiwu.
To ensure quality and standards, we have performed extensive linting and
testing. Commands such as make format, make lint, and make test have
been run from the root of the modified package to ensure compliance with
LangChain's coding standards.
TO DO: Continue refining and enhancing both the unit tests and
integrated tests.
---------
Co-authored-by: jing <jingguo92@gmail.com>
Co-authored-by: hyy1987 <779003812@qq.com>
Co-authored-by: jianchuanqi <qijianchuan@hotmail.com>
Co-authored-by: lirq <whuclarence@gmail.com>
Co-authored-by: whucalrence <81530213+whucalrence@users.noreply.github.com>
Co-authored-by: Jing Guo <48378126+JaneCrystall@users.noreply.github.com>
2024-01-01 23:17:03 +00:00
|
|
|
from langchain_community.chat_models.zhipuai import ChatZhipuAI
|
2023-12-11 21:53:30 +00:00
|
|
|
|
|
|
|
__all__ = [
|
feat: Implement `stream` interface (#15875)
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
Major changes:
- Rename `wasm_chat.py` to `llama_edge.py`
- Rename the `WasmChatService` class to `ChatService`
- Implement the `stream` interface for `ChatService`
- Add `test_chat_wasm_service_streaming` in the integration test
- Update `llama_edge.ipynb`
---------
Signed-off-by: Xin Liu <sam@secondstate.io>
2024-01-12 05:32:48 +00:00
|
|
|
"LlamaEdgeChatService",
|
2023-12-11 21:53:30 +00:00
|
|
|
"ChatOpenAI",
|
|
|
|
"BedrockChat",
|
|
|
|
"AzureChatOpenAI",
|
|
|
|
"FakeListChatModel",
|
|
|
|
"PromptLayerChatOpenAI",
|
|
|
|
"ChatDatabricks",
|
|
|
|
"ChatEverlyAI",
|
|
|
|
"ChatAnthropic",
|
|
|
|
"ChatCohere",
|
|
|
|
"ChatGooglePalm",
|
|
|
|
"ChatMlflow",
|
|
|
|
"ChatMLflowAIGateway",
|
|
|
|
"ChatOllama",
|
|
|
|
"ChatVertexAI",
|
|
|
|
"JinaChat",
|
2023-12-21 17:28:30 +00:00
|
|
|
"ChatHuggingFace",
|
2023-12-11 21:53:30 +00:00
|
|
|
"HumanInputChatModel",
|
|
|
|
"MiniMaxChat",
|
|
|
|
"ChatAnyscale",
|
|
|
|
"ChatLiteLLM",
|
|
|
|
"ErnieBotChat",
|
|
|
|
"ChatJavelinAIGateway",
|
|
|
|
"ChatKonko",
|
|
|
|
"PaiEasChatEndpoint",
|
|
|
|
"QianfanChatEndpoint",
|
2023-12-29 20:06:12 +00:00
|
|
|
"ChatTongyi",
|
2023-12-11 21:53:30 +00:00
|
|
|
"ChatFireworks",
|
|
|
|
"ChatYandexGPT",
|
|
|
|
"ChatBaichuan",
|
|
|
|
"ChatHunyuan",
|
|
|
|
"GigaChat",
|
|
|
|
"VolcEngineMaasChat",
|
2023-12-19 15:48:52 +00:00
|
|
|
"GPTRouter",
|
community: Integration of New Chat Model Based on ChatGLM3 via ZhipuAI API (#15105)
- **Description:**
- This PR introduces a significant enhancement to the LangChain project
by integrating a new chat model powered by the third-generation base
large model, ChatGLM3, via the zhipuai API.
- This advanced model supports functionalities like function calls, code
interpretation, and intelligent Agent capabilities.
- The additions include the chat model itself, comprehensive
documentation in the form of Python notebook docs, and thorough testing
with both unit and integrated tests.
- **Dependencies:** This update relies on the ZhipuAI package as a key
dependency.
- **Twitter handle:** If this PR receives spotlight attention, we would
be honored to receive a mention for our integration of the advanced
ChatGLM3 model via the ZhipuAI API. Kindly tag us at @kaiwu.
To ensure quality and standards, we have performed extensive linting and
testing. Commands such as make format, make lint, and make test have
been run from the root of the modified package to ensure compliance with
LangChain's coding standards.
TO DO: Continue refining and enhancing both the unit tests and
integrated tests.
---------
Co-authored-by: jing <jingguo92@gmail.com>
Co-authored-by: hyy1987 <779003812@qq.com>
Co-authored-by: jianchuanqi <qijianchuan@hotmail.com>
Co-authored-by: lirq <whuclarence@gmail.com>
Co-authored-by: whucalrence <81530213+whucalrence@users.noreply.github.com>
Co-authored-by: Jing Guo <48378126+JaneCrystall@users.noreply.github.com>
2024-01-01 23:17:03 +00:00
|
|
|
"ChatZhipuAI",
|
2023-12-11 21:53:30 +00:00
|
|
|
]
|