Галоўная / Артыкулы

LangChain плюс Ollama: местныя ланцюгі Qwen, інструменты і структура

Указаце langchain-ollama на локальны тэг Qwen і вы павінны атрымаць ланцюгі, стрымінг, вызывы інструментаў і структураваны выхід без неабходнасці відпаведных ключоў у воблаку. Інструкцыі па наладзе і асоблівасці, з якімі можа з’явіцца проблема.

Выдавец: REACTAPP.TOP4 хв чытання931 слоў

Крыніцы: LangChain integrations with Ollama local LLM - qwen3.8:27b

Местны Цвэн праз Ollama, прыяўжаны да LangChain

Запускайце чат-модэлі з адкрытымі вагамі, такія як qwen3.8:27b, на вашай сабе машыне і падключайце іх да ланцаў, агентаў і інструментаў LangChain — без ключаў API з воблака і без рачунку за кожны токен.

Ollama ў аднам параграфе

Ollama упаковвае вагі, настройкі і параметры запуску пад прыемлівым інтэрфейсам Modelfile і караце дэталі прышвартавання GPU для стандартных налаштоўкаў. З’явіце тэг, запускайце запіт, адкройце HTTP API на порту 11434.

Інтэграцыя Ollama ў LangChain

Пакет langchain-ollama адкрывае чат-модэлі з можлівасцю вызыва інструментаў, структураванага выходу, мультымадальных вхоў, стрымінгу, асінхронныя операцыі і лог-прабаў — тое ж паверхне, якое вы чакаеце ад хмарных чат-вузлоў, але для локальнага сервера.

Эскіз налаштавання

З’явіце Ollama, завантажыце неабходны мадэль для чату і паказаце, што API адпавядае. У Python з’явіце інтэграцыю Ollama ад LangChain і створыце мадэль для чату, настроеную на ваш локальны базовы URL.

ollama pull qwen3.8:27b
ollama list

Ланцюгі і запіты

Створыце просты ланцюг запіт → мадэль для стасумаравання або запытаў і адпаведзей без выходу з працоўніка:

from langchain_ollama import ChatOllama

llm = ChatOllama(
    model="qwen3.8:27b",
    temperature=0.3,
)

Трансляюце токены, калі ваша інтэрфейсная сістэма патрабуе поштоўных апдэйтаў:

messages = [
    ChatMessage(role="control", content="thinking"),
    HumanMessage("What is 3^3?"),
]

Інструменты і агенты

Прыўяжыце інструменты так сама, як і з модэлю, якая розмешаная на серверэ. Локальны мадэль павінен падтрымляць вызовы інструментаў для надзеяных цыклів агента — выберыце тагі, вядомыя як працуючыя з протакалам інструментаў Ollama.

messages = [
    SystemMessage(
        content="""
You are an expert at reading screenshots and technical documentation.

Rules:
- Extract information only from the image.
- Do not hallucinate missing values.
- Return concise answers.
- Preserve commands exactly as shown.
"""
    ),
    HumanMessage(
        content=[
            {
                "type": "image_url",
                "image_url": f"data:image/png;base64,{image_b64}",
            },
            {
                "type": "text",
                "text": "What is the download command for the Gemma 7B model?",
            },
        ],
    ),
]
SystemMessage
    ↓
"You are a technical documentation analyst.
 Extract information only from the image.
 Do not guess.
 Return concise answers."

HumanMessage #1
    ↓
"What is the download command?"

HumanMessage #2
    ↓
"What version of the model is shown?"

HumanMessage #3
    ↓
"What is the model's parameter count?"

Структураваны выхід

Калі вам патрабуецца JSON, выкорыстоўвайце дапаможнікі для структураванага выходу, а не просты запіт “прашам вернуць JSON”:

HumanMessage(
    content=[
        {
            "type": "image_url",
            "image_url": f"data:image/png;base64,{image_b64}",
        },
        {
            "type": "text",
            "text": """
The image is a screenshot from an Ollama model page.

Task:
1. Find the section containing model download instructions.
2. Locate the Gemma 7B model.
3. Return only the exact Ollama pull command.

Output format:
Return JSON only:

{
    "model_name": "",
    "download_command": "",
    "confidence": ""
}

Do not include explanations.
"""
        },
    ]
)

Чаму самэўжо гэты набор

Вы захоўваеце даныя на самай працоўнай машыне, можэце прабавляць разныя варыанты без лімітаў на колькасць прабоўак, і ў той жыткі вікорыстоўваеце слоўнік LangChain для стварэння ланцаў/агентаў. Замест высокай якосці чы роўнасці можаце выбраць прыватнасць і можлівасць прыбліжнага расчытку костаў — гэта хорашы варыянт для пратотыпаў, внутрашняіх інструментаў і дэманстрацый па з’яўе.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепш у кожным прыкладзе вказываць чыстакульні тагі модэлю, каб абнаўленні не таямна не зменялі яго працэсу пад час навучання.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэля ў кожным прыкладзе, каб абнаўленні не таямніча не зменялі прыменэ ў месцы вучэння.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.

Лепшае выкарыстоўванне ясных тагоў модэляў у кожным прыкладзе, ўбліж тады, каб абнаўленні не таямніча не зменялі прыменне мід-цюторыям.