Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计通过

vectordbvectordb 搜索

Agent Skill

用于搭建或维护带检索增强的 RAG 工作流,适合让 Agent 处理知识库问答、向量检索、来源引用和事实核查。它可以辅助整理数据接入、Embedding、向量库、召回参数和回答生成流程。使用时需要确认数据来源、更新频率、召回阈值和引用展示方式,避免把未命中的资料或过期内容包装成确定事实。

总安装

792

周安装

33

GitHub Stars

11

下载量

264
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vectordb(vectordb 搜索)
来源仓库:https://github.com/lobbi-docs/claude
仓库路径:skills/vectordb
安装命令:
npx skills add https://github.com/lobbi-docs/claude --skill vectordb
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/lobbi-docs/claude --skill vectordb

简介

用于搭建或维护带检索增强的 RAG 工作流,适合处理知识库问答、向量检索和来源引用。

  • 适用于需要接入数据源、配置 Embedding 模型、管理向量库及调整召回参数的场景。
  • 通过整理数据接入、向量化和检索流程,辅助生成准确回答并展示引用来源。
  • 使用时需确认数据来源、更新频率和召回阈值,避免将未命中内容包装成确定事实。
  • 安装前建议检查仓库权限和维护状态,确保不会触发不必要的网络或文件操作。

SKILL.md

Vector Database Skill

Provides comprehensive vector database capabilities for the Golden Armada AI Agent Fleet Platform.

When to Use This Skill

Activate this skill when working with:

  • Semantic search implementation
  • RAG (Retrieval Augmented Generation)
  • Embedding storage and retrieval
  • Similarity search
  • Vector index management

Embedding Generation


# OpenAI embeddings

def get_openai_embedding(text: str) -> list[float]: response = openai.embeddings.create(model="text-embedding-3-small", input=text) return response.data[0].embedding

# Batch embeddings

def get_batch_embeddings(texts: list[str]) -> list[list[float]]: response = openai.embeddings.create(model="text-embedding-3-small", input=texts) return [item.embedding for item in response.data] ```

## Pinecone

Initialize

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

Create index

pc.create_index(name="agents", dimension=1536, metric="cosine", spec=ServerlessSpec(cloud="aws", region="us-west-2"))

Get index

index = pc.Index("agents")

Upsert vectors

index.upsert(vectors=[{"id": "agent-1", "values": embedding, "metadata": {"name": "Claude Agent", "type": "claude", "description": "General assistant"}}], namespace="production")

Query

results = index.query(vector=query_embedding, top_k=10, include_metadata=True, namespace="production", filter={"type": {"$eq": "claude"}})

for match in results.matches: print(f"{match.id}: {match.score} - {match.metadata}")

Delete

index.delete(ids=["agent-1"], namespace="production") ```

Chroma


# Initialize

client = chromadb.PersistentClient(path="./chroma_db")

# Create collection

collection = client.get_or_create_collection(name="agents", metadata={"hnsw:space": "cosine"})

# Add documents

collection.add(ids=["agent-1", "agent-2"], embeddings=[embedding1, embedding2], documents=["Document 1 text", "Document 2 text"], metadatas=[{"type": "claude", "version": "3"}, {"type": "gpt", "version": "4"}])

# Query

results = collection.query(query_embeddings=[query_embedding], n_results=10, where={"type": "claude"}, include=["documents", "metadatas", "distances"])

# Update

collection.update(ids=["agent-1"], metadatas=[{"type": "claude", "version": "3.5"}])

# Delete

collection.delete(ids=["agent-1"]) ```

## pgvector (PostgreSQL)

-- Create table CREATE TABLE documents (id UUID PRIMARY KEY DEFAULT gen_random_uuid(), content TEXT NOT NULL, embedding vector(1536), metadata JSONB DEFAULT '{}');

-- Create index (IVFFlat for larger datasets) CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);

-- Or HNSW for better recall CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);

-- Insert INSERT INTO documents (content, embedding, metadata) VALUES ('Document content', '[0.1, 0.2,...]', '{"type": "manual"}');

-- Similarity search SELECT id, content, 1 - (embedding <=> $1) AS similarity FROM documents ORDER BY embedding <=> $1 LIMIT 10;

-- With filter SELECT id, content, 1 - (embedding <=> $1) AS similarity FROM documents WHERE metadata->>'type' = 'manual' ORDER BY embedding <=> $1 LIMIT 10; ```

Python with pgvector


class Document(Base): **tablename** = 'documents'

id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) content = Column(String, nullable=False) embedding = Column(Vector(1536)) metadata = Column(JSON, default={})


# Insert

doc = Document(content="Document content", embedding=embedding, metadata={"type": "manual"}) session.add(doc) session.commit()

# Query

from sqlalchemy import select from pgvector.sqlalchemy import cosine_distance

results = session.execute(select(Document).order_by(cosine_distance(Document.embedding, query_embedding)).limit(10)).scalars().all() ```

## RAG Implementation
async def query(self, question: str, top_k: int = 5) -> str:
    # 1. Generate query embedding
    query_embedding = await self.get_embedding(question)

    # 2. Retrieve relevant documents
    docs = await self.vector_store.search(
        embedding=query_embedding,
        top_k=top_k
    )

    # 3. Build context
    context = "\n\n".join([
        f"Document {i+1}:\n{doc.content}"
        for i, doc in enumerate(docs)
    ])

    # 4. Generate response
    prompt = f"""Answer the question based on the following context.

Context: {context}

Question: {question}

Answer:"""

    response = await self.llm.generate(prompt)
    return response

async def add_document(self, content: str, metadata: dict = None):
    # Chunk document
    chunks = self.chunk_text(content)

    # Generate embeddings
    embeddings = await self.get_batch_embeddings(chunks)

    # Store
    for i, (chunk, embedding) in enumerate(zip(chunks, embeddings)):
        await self.vector_store.upsert(
            id=f"{metadata.get('doc_id', 'doc')}-{i}",
            embedding=embedding,
            content=chunk,
            metadata=metadata
        )

def chunk_text(self, text: str, chunk_size: int = 1000, overlap: int = 200) -> list[str]:
    chunks = []
    start = 0
    while start < len(text):
        end = start + chunk_size
        chunk = text[start:end]
        chunks.append(chunk)
        start += chunk_size - overlap
    return chunks

## Best Practices

1. **Choose appropriate index type** (HNSW for recall, IVFFlat for scale)
2. **Chunk documents appropriately** (typically 500-1000 tokens)
3. **Include overlap** between chunks (10-20%)
4. **Store metadata** for filtering
5. **Use namespaces/collections** to organize data
6. **Monitor query latency** and index performance
7. **Batch operations** for bulk inserts

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.08%
按下载量换算71

Antigravity

24.03%
按下载量换算63

windsurf

19.13%
按下载量换算51

Codex

12.18%
按下载量换算32

OpenCode

7.54%
按下载量换算20

Gemini CLI

3.91%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills