Pinecone Research

RAG для агента и долговременная память на Pinecone.

Метаданные навыка

ИсточникОпциональный — установка: hermes skills install official/research/pinecone-research
Путьoptional-skills/research/pinecone-research
Версия1.0.0
Авторimmuhammadfurqan
ЛицензияMIT
Зависимостиpinecone-client, langchain-pinecone
Платформыlinux, macos, windows
ТегиRAG, Pinecone, Memory, Research, Vector Database, Agent, Retrieval

Справочник: полный SKILL.md

инфо

Ниже — полное определение навыка, которое Hermes Agent загружает при его активации. Именно этот текст агент получает как инструкцию в момент работы навыка.

Pinecone Research — RAG и долговременная память агента

Используй Pinecone как бэкенд генерации с извлечением (RAG) для диалогов агента: сохраняй эмбеддинги, доставай нужный контекст из прошлых сессий и выстраивай долговременную память.

Когда брать этот навык

Бери, когда:

  • Строишь RAG-конвейер агента, где векторное хранилище — Pinecone
  • Нужна постоянная память, переживающая сессии агента
  • Извлечение сочетается с вызовом инструментов
  • Исследуешь или прототипируешь семантический поиск

Вместо него бери навык mlops/pinecone, когда:

  • Нужен общий справочник по Pinecone (управление индексами, CRUD, гибридный поиск)
  • Работаешь над продакшн-инфраструктурой без интеграции с агентом

Быстрый старт

Подготовка

pip install pinecone-client langchain-pinecone langchain-openai

Задай ключ API:

export PINECONE_API_KEY="your-api-key"

Простейший RAG-конвейер

from pinecone import Pinecone, ServerlessSpec
from langchain_pinecone import PineconeVectorStore
from langchain_openai import OpenAIEmbeddings

# Initialize Pinecone
pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])

# Create or connect to index
index_name = "agent-memory"
if index_name not in [i.name for i in pc.list_indexes()]:
    pc.create_index(
        name=index_name,
        dimension=1536,
        metric="cosine",
        spec=ServerlessSpec(cloud="aws", region="us-east-1"),
    )

# Build vector store
vectorstore = PineconeVectorStore.from_documents(
    documents=docs,
    embedding=OpenAIEmbeddings(),
    index_name=index_name,
)

# Retrieve relevant context
retriever = vectorstore.as_retriever(search_kwargs={"k": 5})
results = retriever.invoke("What did the agent discuss yesterday?")

Память сессии через пространства имён

# Store per-session memory
vectorstore = PineconeVectorStore(
    index=pc.Index(index_name),
    embedding=OpenAIEmbeddings(),
    namespace=f"session-{session_id}",
)

# Query across all sessions (no namespace filter)
all_memory = PineconeVectorStore(
    index=pc.Index(index_name),
    embedding=OpenAIEmbeddings(),
)
results = all_memory.similarity_search("relevant query", k=10)

Хорошие практики

  1. Раздельные пространства имён по сессии или пользователю — изоляция данных для мультиарендных агентов
  2. Пакетная запись — по 100–200 векторов за раз ради эффективности
  3. Фильтрация по метаданным — размечай векторы идентификатором сессии, временем, темой
  4. Чистка старой памяти — удаляй протухшие пространства имён, чтобы не переплачивать
  5. Serverless — автомасштабирование и оплата по факту

Материалы

перевод и редактура:

обновлено

⌕ ESC