add data/faq_langchain.md
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
# FAQ: LangChain
|
||||||
|
|
||||||
|
## Как создать инструмент (tool)?
|
||||||
|
Используй декоратор @tool:
|
||||||
|
```python
|
||||||
|
from langchain.tools import tool
|
||||||
|
|
||||||
|
@tool
|
||||||
|
def my_tool(query: str) -> str:
|
||||||
|
"""Описание инструмента для LLM."""
|
||||||
|
return f"Result: {query}"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Что такое цепочка (chain)?
|
||||||
|
Chain — последовательность компонентов: prompt | llm | output_parser.
|
||||||
|
Каждый компонент принимает вход и передает выход следующему.
|
||||||
|
|
||||||
|
## Как работает ReAct агент?
|
||||||
|
ReAct (Reasoning + Acting) — агент чередует рассуждения и действия.
|
||||||
|
Цикл: думает → выбирает tool → получает результат → думает снова → финальный ответ.
|
||||||
|
|
||||||
|
## Как создать векторное хранилище ChromaDB?
|
||||||
|
```python
|
||||||
|
from langchain_chroma import Chroma
|
||||||
|
from langchain_ollama import OllamaEmbeddings
|
||||||
|
|
||||||
|
embeddings = OllamaEmbeddings(model="nomic-embed-text")
|
||||||
|
store = Chroma(embedding_function=embeddings, persist_directory="./chroma_db")
|
||||||
|
store.add_documents(documents)
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user