
ΠΠ°Π±ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ LLM-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ GigaChat
Π‘ΠΎΠ·Π΄Π°ΡΡ issue
Β·
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GigaChain
GigaChain β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (LLM). GigaChain ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
Π ΡΠΎΡΡΠ°Π² GigaChain Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ GigaChat, ΠΊΠ°ΠΊ:
langchain-gigachat β ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ open source ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° LangChain Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ LLM-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ GigaChat, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π³Π΅Π½ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ LangGraph. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° langchain-gigachat Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ Python, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ JavaScript.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ LangChain: Π΄Π»Ρ Python, Π΄Π»Ρ JavaScript;
- Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° langchain-gigachat Π΄Π»Ρ Python Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ LangChain.
- gigachat β ΠΎΠ±Π΅ΡΡΠΊΠ° Π΄Π»Ρ REST API GigaChat. ΠΠ½Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ GigaChat ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ Python, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ JavaScript.
Π ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΊΡΠ°ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ langchain-gigachat ΠΈ gigachat Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ:
-
Python Π²Π΅ΡΡΠΈΠΈ 3.9 ΠΈ Π²ΡΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Python.
-
Node.js Π²Π΅ΡΡΠΈΠΈ 16 ΠΈ Π²ΡΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ JavaScript.
-
ΠΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ β Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ GigaChat API.
-
Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ.
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π½ΠΈΠΆΠ΅.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² pip:
pip install langchain-gigachat
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_gigachat.chat_models import GigaChat
giga = GigaChat(
# ΠΠ»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ GigaChat API
credentials="Π²Π°Ρ_ΠΊΠ»ΡΡ_Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ",
verify_ssl_certs=False,
)
messages = [
SystemMessage(
content="Π’Ρ ΡΠΌΠΏΠ°ΡΠΈΡΠ½ΡΠΉ Π±ΠΎΡ-ΠΏΡΠΈΡ
ΠΎΠ»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ."
)
]
while(True):
user_input = input("ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ")
if user_input == "ΠΏΠΎΠΊΠ°":
break
messages.append(HumanMessage(content=user_input))
res = giga.invoke(messages)
messages.append(res)
print("GigaChat: ", res.content)
ΠΠ±ΡΠ΅ΠΊΡ GigaChat ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
credentials
β ΠΊΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ GigaChat API. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. -
scope
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ API. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:-
GIGACHAT_API_PERS
β Π²Π΅ΡΡΠΈΡ API Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ; -
GIGACHAT_API_B2B
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΠ»Π°ΡΠ΅; -
GIGACHAT_API_CORP
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ pay-as-you-go.
-
-
model
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat Lite (model="GigaChat"
). -
verify_ssl_certs
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ. -
streaming
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡFalse
. ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ.
Tip
Π‘ΠΏΡΠΎΡΠΈΡΠ΅ ΡΠ°Ρ-Π±ΠΎΡ LangChain, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GigaChat Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°Ρ-Π±ΠΎΡΠ° β Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ chat-langchain.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² pip:
pip install gigachat
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π² API:
from gigachat import GigaChat
# ΠΠ»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ GigaChat API
with GigaChat(credentials="Π²Π°Ρ_ΠΊΠ»ΡΡ_Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ", verify_ssl_certs=False) as giga:
response = giga.chat("ΠΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Ρ
ΠΎΠ²ΠΊΠΈ Π½Π° Π΄ΠΎΠΌ?")
print(response.choices[0].message.content)
ΠΠ±ΡΠ΅ΠΊΡ GigaChat ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
credentials
β ΠΊΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ GigaChat API. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. -
scope
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ API. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:-
GIGACHAT_API_PERS
β Π²Π΅ΡΡΠΈΡ API Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ; -
GIGACHAT_API_B2B
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΠ»Π°ΡΠ΅; -
GIGACHAT_API_CORP
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ pay-as-you-go.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ.
-
-
model
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat Lite (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡGigaChat
). -
verify_ssl_certs
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ langchain-gigachat, Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ stream()
:
from gigachat import GigaChat
for chunk in GigaChat(credentials="Π²Π°Ρ_ΠΊΠ»ΡΡ_Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ",verify_ssl_certs=False, scope="GIGACHAT_API_PERS", model="GigaChat-Max").stream("ΠΠ°ΠΏΠΈΡΠΈ ΡΠ°ΡΡΠΊΠ°Π· ΠΏΡΠΎ Π΄Π²ΡΡ
ΠΊΠΎΡΡΡ."):
print(chunk.choices[0].delta.content, end="", flush=True)
Tip
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ β Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² npm:
npm install --save langchain-gigachat
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
import { Agent } from 'node:https';
import { GigaChat } from "langchain-gigachat"
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
const httpsAgent = new Agent({
rejectUnauthorized: false, // ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ
});
const giga = new GigaChat({
credentials: 'ΠΊΠ»ΡΡ_Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ',
model: 'GigaChat-Max',
httpsAgent
})
const messages = [
new SystemMessage("ΠΠ΅ΡΠ΅Π²Π΅Π΄ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ"),
new HumanMessage("ΠΡΠΈΠ²Π΅Ρ!"),
];
const resp = await giga.invoke(messages);
console.log(resp.content);
ΠΠ±ΡΠ΅ΠΊΡ GigaChat ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
credentials
β ΠΊΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ GigaChat API. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. -
scope
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ API. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:-
GIGACHAT_API_PERS
β Π²Π΅ΡΡΠΈΡ API Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ; -
GIGACHAT_API_B2B
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΠ»Π°ΡΠ΅; -
GIGACHAT_API_CORP
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ pay-as-you-go.
-
-
model
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat Lite (model="GigaChat"
). -
httpsAgent
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ HTTPS. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ API. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² npm:
npm install gigachat
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π² API:
import GigaChat from 'gigachat';
import { Agent } from 'node:https';
const httpsAgent = new Agent({
rejectUnauthorized: false, // ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ
});
const giga = new GigaChat({
model: 'GigaChat',
credentials: 'ΠΊΠ»ΡΡ_Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ',
httpsAgent: httpsAgent,
});
giga
.chat({
messages: [{ role: 'user', content: 'ΠΡΠΈΠ²Π΅Ρ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°?' }],
})
.then((resp) => {
console.log(resp.choices[0]?.message.content);
});
ΠΠ±ΡΠ΅ΠΊΡ GigaChat ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
-
credentials
β ΠΊΠ»ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Ρ GigaChat API. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. -
model
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ GigaChat Lite (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡGigaChat
). -
scope
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ API. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:-
GIGACHAT_API_PERS
β Π²Π΅ΡΡΠΈΡ API Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ; -
GIGACHAT_API_B2B
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΠ»Π°ΡΠ΅; -
GIGACHAT_API_CORP
β Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΠΠ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ ΠΏΠΎ ΡΡ Π΅ΠΌΠ΅ pay-as-you-go.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ.
-
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ HTTPS, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ API
-
httpsAgent
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ HTTPS. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ API. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΠ£Π¦ ΠΠΈΠ½ΡΠΈΡΡΡ.
Tip
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ β Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ Python ΠΈ JavaScript Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Jupyter-Π±Π»ΠΎΠΊΠ½ΠΎΡΠΎΠ².
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Python. Π§ΡΠΎΠ±Ρ ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΡΡΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
- Retrieval-Augmented Generation (RAG):
- ΠΠ³Π΅Π½ΡΡ:
- ΠΠ³Π΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
- ΠΠ³Π΅Π½Ρ Β«ΠΡΠΎΠ΄Π°Π²Π΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²Β»
- ΠΠ³Π΅Π½Ρ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Yandex Search API
- ΠΠ΅Π±Π°ΡΡ Π°Π³Π΅Π½ΡΠΎΠ² Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΠ»ΡΠΌΠΈ
- ΠΠ³Π΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ Spotify
- ΠΠ³Π΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄
- ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ:
- Retrieval-Augmented Generation (RAG)
- Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
- ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅
- ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π³Π΅Π½ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ LangGraph.js ΠΈ GigaChat API
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GigaChat API:
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ LangChain:
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ LangGraph.