Using Pinecone Assistant

1. Understanding Pinecone Assistant

FeatureDescription
Managed RAGDocument upload → chat-ready
Built-inChunking, embedding, retrieval, LLM
CitationsReturns source references
No infraNo need to manage index directly

2. Creating Assistant

Example: Create

from pinecone import Pinecone

pc = Pinecone(api_key="...")
assistant = pc.assistant.create_assistant(
    assistant_name="docs-bot",
    instructions="Answer using only uploaded docs.",
    region="us",
)

3. Uploading Documents

Example: Upload

a = pc.assistant.Assistant("docs-bot")
a.upload_file(file_path="./manual.pdf", metadata={"product": "v3"})
FormatSupported
PDFYes
DOCXYes
TXT/MDYes
JSONYes

4. Chatting with Assistant

Example: Chat

from pinecone_plugins.assistant.models.chat import Message

msgs = [Message(role="user", content="How do I install?")]
resp = a.chat(messages=msgs)
print(resp.message.content)
for c in resp.citations: print(c.references)

5. Configuring Assistant Settings

SettingDescription
instructionsSystem prompt
modelgpt-4o / claude-3.5-sonnet
regionus / eu
metadataAssistant tagging

6. Managing Document Collections

Example: List + Delete

files = a.list_files()
for f in files:
    print(f.id, f.name, f.status)

a.delete_file(file_id="abc-123")

7. Handling Chat History

Example: Multi-Turn

history = []
def ask(q):
    history.append(Message(role="user", content=q))
    r = a.chat(messages=history)
    history.append(Message(role="assistant", content=r.message.content))
    return r.message.content

8. Customizing Response Behavior

SettingEffect
instructionsPersona, tone, scope
temperaturePer-chat creativity
filterLimit retrieval to matching docs

9. Monitoring Assistant Usage

MetricSource
Tokens usedPinecone console / API usage
Files indexedlist_files()
Chat volumeApplication log

10. Optimizing Assistant Performance

TipEffect
Smaller knowledge baseHigher relevance
Clear instructionsReduces hallucinations
File metadata filtersScoped retrieval
StreamingFaster perceived latency