Skip to content

ai-forever/langchain4j-gigachat

Repository files navigation

GigaChat для LangChain4j

GigaChat для LangChain4j — это Java-библиотека, которая интегрирует модели GigaChat c проектом LangChain4j. Библиотека предназначена для упрощения разработки LLM-приложений на Java. Для обмена сообщения с моделями она использует GigaChat Java SDK. Библиотека входит в состав GigaChain — набора решений для разработки LLM-приложений с помощью моделей GigaChat.

О проекте LangChain4j

Проект LangChain4j существует с 2023 года и основывается на концептах, предложенных популярными фреймворками для разработки LLM-приложений, среди которых LangChain, Haystack, LlamaIndex. Он дает доступ к единообразным API, широкому набору программных инструментов и библиотеке примеров.

Tip

Примеры работы с моделями GigaChat с помощью библиотеки langchain4j-gigachat — в папке langchain4j-gigachat-examples.

Требования

Для работы langchain4j-gigachat используйте Java версии 17 или выше.

Установка

Чтобы установить библиотеку, подключите ее в зависимости.

Gradle

implementation("chat.giga:langchain4j-gigachat:0.1.4")

Maven

<dependency>
    <groupId>chat.giga</groupId>
    <artifactId>langchain4j-gigachat</artifactId>
    <version>0.1.4</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();

Полезные материалы

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages