langchain/libs/partners/mistralai
Mohammad Mohtashim 577ed68b59
mistralai[patch]: Added Json Mode for ChatMistralAI (#22213)
- **Description:** Powered
[ChatMistralAI.with_structured_output](fbfed65fb1/libs/partners/mistralai/langchain_mistralai/chat_models.py (L609))
via json mode
 

-  **Issue:** #22081

---------

Co-authored-by: Bagatur <baskaryan@gmail.com>
2024-05-27 21:16:52 +00:00
..
langchain_mistralai mistralai[patch]: Added Json Mode for ChatMistralAI (#22213) 2024-05-27 21:16:52 +00:00
scripts infra: add print rule to ruff (#16221) 2024-02-09 16:13:30 -08:00
tests core, partners: add token usage attribute to AIMessage (#21944) 2024-05-23 14:21:58 -04:00
.gitignore mistralai: Add langchain-mistralai partner package (#14783) 2023-12-19 10:34:19 -05:00
LICENSE mistralai: Add langchain-mistralai partner package (#14783) 2023-12-19 10:34:19 -05:00
Makefile mistralai: Add langchain-mistralai partner package (#14783) 2023-12-19 10:34:19 -05:00
poetry.lock mistral: implement ls_params (#21867) 2024-05-20 11:49:48 -07:00
pyproject.toml mistral: implement ls_params (#21867) 2024-05-20 11:49:48 -07:00
README.md mistralai[minor]: Add embeddings (#15282) 2024-01-16 17:48:37 -08:00

langchain-mistralai

This package contains the LangChain integrations for MistralAI through their mistralai SDK.

Installation

pip install -U langchain-mistralai

Chat Models

This package contains the ChatMistralAI class, which is the recommended way to interface with MistralAI models.

To use, install the requirements, and configure your environment.

export MISTRAL_API_KEY=your-api-key

Then initialize

from langchain_core.messages import HumanMessage
from langchain_mistralai.chat_models import ChatMistralAI

chat = ChatMistralAI(model="mistral-small")
messages = [HumanMessage(content="say a brief hello")]
chat.invoke(messages)

ChatMistralAI also supports async and streaming functionality:

# For async...
await chat.ainvoke(messages)

# For streaming...
for chunk in chat.stream(messages):
    print(chunk.content, end="", flush=True)

Embeddings

With MistralAIEmbeddings, you can directly use the default model 'mistral-embed', or set a different one if available.

Choose model

embedding.model = 'mistral-embed'

Simple query

res_query = embedding.embed_query("The test information")

Documents

res_document = embedding.embed_documents(["test1", "another test"])