https://github.com/ai-forever/langchain4j-gigachat

https://github.com/ai-forever/langchain4j-gigachat

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (2.6%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: ai-forever
  • Language: Java
  • Default Branch: main
  • Size: 166 KB
Statistics
  • Stars: 7
  • Watchers: 6
  • Forks: 3
  • Open Issues: 0
  • Releases: 14
Created over 1 year ago · Last pushed 12 months ago
Metadata Files
Readme

README.md

GigaChat для LangChain4j/LangGraph4j

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, широкому набору программных инструментов и библиотеке примеров.

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

LangGraph4j — библиотека для разработки агентов, вдохновленная фреймворком LangGraph. Подробнее о возможностях библиотеки.

Требования

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

Установка

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

Gradle

kotlin implementation("chat.giga:langchain4j-gigachat:0.1.13")

Maven

```xml

chat.giga langchain4j-gigachat 0.1.13 ```

Примеры

Ниже приводится несколько базовых примеров работы с langchain4j-gigachat. Полный список примеров — в папке langchain4j-gigachat-examples.

Инициализация модели для генерации

Авторизация запросов к GigaChat API выполняется с помощью ключа авторизации. Вы также можете использовать другие способы аутентификации, которые поддерживает GigaChat Java SDK.

java 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();

Инициализация потоковой генерации токенов

java 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();

Инициализация модели для создания эмбеддингов

java GigaChatEmbeddingModel model = GigaChatEmbeddingModel.builder() .authClient(AuthClient.builder() .withOAuth(AuthClientBuilder.OAuthBuilder.builder() .scope(Scope.GIGACHAT_API_PERS) .authKey("<ключ_авторизации>") .build()) .build()) .logRequests(true) .logResponses(true) .build();

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

Список примеров и полезных материалов на английском языке:

Owner

  • Name: AI Forever
  • Login: ai-forever
  • Kind: organization
  • Location: Armenia

Creating ML for the future. AI projects you already know. We are non-profit organization with members from all over the world.

GitHub Events

Total
  • Create event: 12
  • Issues event: 10
  • Release event: 8
  • Watch event: 11
  • Delete event: 2
  • Issue comment event: 7
  • Member event: 6
  • Push event: 29
  • Pull request review event: 2
  • Pull request event: 10
  • Fork event: 1
Last Year
  • Create event: 12
  • Issues event: 10
  • Release event: 8
  • Watch event: 11
  • Delete event: 2
  • Issue comment event: 7
  • Member event: 6
  • Push event: 29
  • Pull request review event: 2
  • Pull request event: 10
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 51
  • Total Committers: 5
  • Avg Commits per committer: 10.2
  • Development Distribution Score (DDS): 0.608
Past Year
  • Commits: 51
  • Committers: 5
  • Avg Commits per committer: 10.2
  • Development Distribution Score (DDS): 0.608
Top Committers
Name Email Commits
Бочарова Дарья Михайловна D****a@s****u 20
Sergey Safonov s****v@s****u 15
Сафонов Сергей S****v@s****u 13
Lytkini i****8@g****m 2
dmbocharova 4****a 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 6
  • Total pull requests: 10
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 18 hours
  • Total issue authors: 5
  • Total pull request authors: 4
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.3
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 10
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 18 hours
  • Issue authors: 5
  • Pull request authors: 4
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.3
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • isergeymd (2)
  • ArtHardziy (1)
  • Zakusov (1)
  • DinarRK (1)
  • Ih8uSenpai (1)
Pull Request Authors
  • Lytkini (6)
  • Ih8uSenpai (2)
  • apotheque (1)
  • isergeymd (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
build.gradle.kts maven
  • org.junit.jupiter:junit-jupiter * testImplementation
buildSrc/build.gradle.kts maven
  • com.diffplug.spotless:spotless-plugin-gradle 7.0.2 implementation
  • com.vanniktech:gradle-maven-publish-plugin 0.28.0 implementation
langchain4j-gigachat/build.gradle.kts maven
  • chat.giga:gigachat-java 0.1.5 api
  • dev.langchain4j:langchain4j 1.0.0-beta2 api
  • io.github.dvgaba:easy-random-core 7.1.0 testImplementation
  • org.assertj:assertj-core 3.27.3 testImplementation
  • org.junit.jupiter:junit-jupiter * testImplementation
  • org.mockito:mockito-junit-jupiter 5.15.2 testImplementation
langchain4j-gigachat-examples/build.gradle.kts maven
  • ch.qos.logback:logback-classic 1.5.8 implementation
  • org.junit.jupiter:junit-jupiter * testImplementation