# 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) ```