Itinai.com lat lay of a minimalist ai business toolkit on a c 0402bced 02f4 46e4 b510 37913864cde9 0
Itinai.com lat lay of a minimalist ai business toolkit on a c 0402bced 02f4 46e4 b510 37913864cde9 0

Руководство по настройке памяти mem0 для чат-бота Anthropic Claude: создание контекстных бесед

Легче сразу спросить 💭

AI снижает операционные расходы на 20–40% 📊 за 6 месяцев. А что бы вы сделали с этими деньгами?

Опишите задачу — обсудим, как это можно реализовать у вас.

ИИ автоматизирует 70% рутинных задач 🤖 за 3 месяца. Какие процессы в вашем бизнесе скинуть роботу?
Персонализированные AI-кампании увеличивают клиентскую базу на 30% 📈. Как это работает?
AI-аналитика сокращает ошибки в прогнозах на 50% 📉. Расскажите подробнее!


Создание ИИ-бота с использованием модели Claude от Anthropic

В этом руководстве мы покажем, как настроить полностью функционального бота в Google Colab, который использует модель Claude от Anthropic совместно с mem0 для бесшовного запоминания информации. Сочетание интуитивной оркестрации LangGraph с мощным векторным хранилищем памяти mem0 даст возможность нашему ассистенту запоминать прошлые разговоры, извлекать необходимые детали по запросу и поддерживать естественное продолжение диалогов на протяжении сессий. Это руководство станет надежной основой для создания ИИ-решений с памятью, таких как поддержка клиентов, виртуальные помощники или интерактивные демонстрации.

Установка необходимых библиотек

Первым шагом является установка и обновление всех необходимых библиотек:

!pip install -qU langgraph mem0ai langchain langchain-anthropic anthropic

Эти действия обеспечивают наличие всех последних библиотек, необходимых для создания чат-бота с памятью на основе Claude в Google Colab, что помогает избежать проблем с зависимостями и упрощает процесс настройки.

Объединение основных компонентов

import os
from typing import Annotated, TypedDict, List

from langgraph.graph import StateGraph, START
from langgraph.graph.message import add_messages
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
from langchain_anthropic import ChatAnthropic
from mem0 import MemoryClient

Мы загружаем интерфейс операционной системы для API-ключей и определяем типы данных для отслеживания состояния разговоров, а также компоненты для оркестрации потока чата и хранения памяти.

Безопасное хранение ключей API

os.environ["ANTHROPIC_API_KEY"] = "Use Your Own API Key"
MEM0_API_KEY = "Use Your Own API Key"

Безопасно вводим учетные данные Anthropic и mem0 в среду, обеспечивая правильную аутентификацию клиентов.

Инициализация ИИ-ядра

llm = ChatAnthropic(
    model="claude-3-5-haiku-latest",
    temperature=0.0,
    max_tokens=1024,
    anthropic_api_key=os.environ["ANTHROPIC_API_KEY"]
)
mem0 = MemoryClient(api_key=MEM0_API_KEY)

Инициализируем ядро разговорного ИИ, создавая экземпляр ChatAnthropic и Mem0 MemoryClient для хранения памяти.

Определение состояния разговора

class State(TypedDict):
    messages: Annotated[List[HumanMessage | AIMessage], add_messages]
    mem0_user_id: str

graph = StateGraph(State)

Создаем схему состояния разговора и подключаем её к LangGraph, что позволяет отслеживать историю сообщений.

Оркестрация логики бота

def chatbot(state: State):
    messages = state["messages"]
    user_id = state["mem0_user_id"]

    memories = mem0.search(messages[-1].content, user_id=user_id)

    context = "n".join(f"- {m['memory']}" for m in memories)
    system_message = SystemMessage(content=(
        "Вы - полезный асистент службы поддержки клиентов. "
        "Используйте контекст ниже для персонализации ваших ответов:n" + context
    ))

    full_msgs = [system_message] + messages
    ai_resp: AIMessage = llm.invoke(full_msgs)

    mem0.add(
        f"Пользователь: {messages[-1].content}nАссистент: {ai_resp.content}",
        user_id=user_id
    )

    return {"messages": [ai_resp]}

Определяем функцию бота, которая обрабатывает сообщения и запоминает новые интеракции.

Запуск диалога

def run_conversation(user_input: str, mem0_user_id: str):
    config = {"configurable": {"thread_id": mem0_user_id}}
    state = {"messages": [HumanMessage(content=user_input)], "mem0_user_id": mem0_user_id}
    for event in compiled_graph.stream(state, config):
        for node_output in event.values():
            if node_output.get("messages"):
                print("Ассистент:", node_output["messages"][-1].content)
                return

Организуем запуск диалога и выводим сообщения от ассистента на экран.

Заключение

Мы создали архитектуру разговорного ИИ, которая объединяет модель Claude от Anthropic с возможностями постоянной памяти mem0. Этот подход позволяет запоминать специфические детали пользователя и адаптировать ответы со временем.

Рассмотрите возможность автоматизации процессов, которые могут быть улучшены с помощью ИИ, и обратитесь к нам за консультациями по управлению ИИ в бизнесе по адресу hello@itinai.ru.

Чтобы оставаться в курсе последних новостей в области ИИ, подписывайтесь на наш Telegram: https://t.me/itinai.


Новости в сфере искусственного интеллекта