Интеграция с LangChain4j
GigaChat для LangChain4j/LangGraph4j — это Java-библиотека, которая интегрирует модели GigaChat c проектами LangChain4j и LangGraph4j . Библиотека предназначена для упрощения разработки LLM-приложений на Java. Для обмена сообщения с моделями она использует GigaChat Java SDK. Библиотека входит в состав GigaChain — набора решений для разработки LLM-приложений с помощью моделей GigaChat.
О LangChain4j и LangGraph4j
Проект LangChain4j существует с 2023 года и основывается на концептах, предложенных популярными фреймворками для разработки LLM-приложений, среди которых LangChain, Haystack, LlamaIndex. Он дает доступ к единообразным API, широкому набору программных инструментов и библиотеке примеров.
Примеры работы с моделями GigaChat с помощью библиотеки langchain4j-gigachat — в папке langchain4j-gigachat-examples.
LangGraph4j — библиотека для разработки агентов, вдохновленная фреймворком LangGraph. Подробнее о возможностях библиотеки .
Требования
Для работы langchain4j-gigachat используйте Java версии 17 или выше.
Установка
Чтобы установить библиотеку, подключите ее в зависимости.
Gradle
implementation("chat.giga:langchain4j-gigachat:0.1.6")
Maven
<dependency>
<groupId>chat.giga</groupId>
<artifactId>langchain4j-gigachat</artifactId>
<version>0.1.6</version>
</dependency>
Примеры
Ниже приводится несколько базовых примеров работы с langchain4j-gigachat.
Полный список примеров — в папке langchain4j-gigachat-examples.
Инициализация модели для генерации
Авторизация запросов к GigaChat API выполняется с помощью ключа авторизации. Вы также можете использовать другие способы аутентификации , которые поддерживает GigaChat Java SDK.
GigaChatChatModel model = GigaChatChatModel.builder()
.defaultChatRequestParameters(GigaChatChatRequestParameters.builder()
.modelName(ModelName.GIGA_CHAT_PRO)
.build())
.authClient(AuthClient.builder()
.withOAuth(AuthClientBuilder.OAuthBuilder.builder()
.scope(Scope.GIGACHAT_API_PERS)
.authKey("<ключ_авторизации>")
.build())
.build())
.logRequests(true)
.logResponses(true)
.build();
Инициализация потоковой генерации токенов
GigaChatStreamingChatModel model = GigaChatStreamingChatModel.builder()
.authClient(AuthClient.builder()
.withOAuth(AuthClientBuilder.OAuthBuilder.builder()
.scope(Scope.GIGACHAT_API_PERS)
.authKey("<ключ_авторизации>")
.build())
.build())
.defaultChatRequestParameters(GigaChatChatRequestParameters.builder()
.temperature(1.0)
.modelName(ModelName.GIGA_CHAT_PRO)
.responseFormat(JsonSchema.builder().build())
.build())
.logRequests(true)
.logResponses(true)
.build();
Инициализация модели для создания эмбеддингов
GigaChatEmbeddingModel model = GigaChatEmbeddingModel.builder()
.authClient(AuthClient.builder()
.withOAuth(AuthClientBuilder.OAuthBuilder.builder()
.scope(Scope.GIGACHAT_API_PERS)
.authKey("<ключ_авторизации>")
.build())
.build())
.logRequests(true)
.logResponses(true)
.build();
Полезные материалы
Список примеров и полезных материалов на английском языке:
- Официальная документация LangChain4j ;
- Серия обучающих статей:
- Книга Understanding LangChain4j ;
- Статьи о LangGraph4j ;
- Примеры разработки агентов с помощью LangGraph4j.