Skip to content

Commit c350c57

Browse files
working
1 parent 7459252 commit c350c57

File tree

5 files changed

+22
-6
lines changed

5 files changed

+22
-6
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,6 @@ config = {
418418
"pinecone": {
419419
"api_key": "your-pinecone-api-key",
420420
"index_name": "your-pinecone-index-name",
421-
"use_reranking": True # optional - but increases better matching - requires Pinecone Standard
422421
}
423422
},
424423
"mongo": {

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "solana-agent"
3-
version = "30.0.0"
3+
version = "30.0.0-dev11"
44
description = "AI Agents for Solana"
55
authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
66
license = "MIT"

solana_agent/adapters/pinecone_adapter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __init__(
4141
create_index_if_not_exists: bool = True,
4242
# Reranking Config
4343
use_reranking: bool = False,
44-
rerank_model: Optional[PineconeRerankModel] = None,
44+
rerank_model: Optional[PineconeRerankModel] = "cohere-rerank-3.5",
4545
rerank_top_k: int = 3, # Final number of results after reranking
4646
# Multiplier for initial fetch before rerank
4747
initial_query_top_k_multiplier: int = 5,
@@ -371,7 +371,7 @@ async def query_and_rerank(
371371
"parameters": rerank_params,
372372
}
373373

374-
rerank_response = await self.pinecone.rerank(**rerank_request)
374+
rerank_response = await self.pinecone.inference.rerank(**rerank_request)
375375

376376
# 4. Process Reranked Results
377377
reranked_results = []

solana_agent/factories/agent_factory.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,9 @@ def create_from_config(config: Dict[str, Any]) -> QueryService:
270270
),
271271
# Reranking config
272272
use_reranking=pinecone_config.get("use_reranking", False),
273-
rerank_model=pinecone_config.get("rerank_model"),
273+
rerank_model=pinecone_config.get(
274+
"rerank_model", "cohere-rerank-3.5"
275+
),
274276
rerank_top_k=pinecone_config.get("rerank_top_k", 3),
275277
initial_query_top_k_multiplier=pinecone_config.get(
276278
"initial_query_top_k_multiplier", 5

solana_agent/services/graph_memory.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ async def add_episode(
5858
entity["text"], model=self.embedding_model
5959
)
6060
await self.pinecone.upsert(
61-
[{"id": node_id, "values": embedding}],
61+
[
62+
{
63+
"id": node_id,
64+
"values": embedding,
65+
"metadata": {"text": self._truncate_text(entity["text"])},
66+
}
67+
],
6268
namespace=namespace,
6369
)
6470
return episode_id
@@ -85,3 +91,12 @@ async def search(
8591

8692
async def traverse(self, node_id: str, depth: int = 1) -> List[Dict[str, Any]]:
8793
return await self.graph.find_neighbors(node_id, depth=depth)
94+
95+
# pinecone has a 40kb character limit for text
96+
def _truncate_text(self, text: str, max_length: int = 40960) -> str:
97+
"""
98+
Truncate text to a maximum length.
99+
"""
100+
if len(text) > max_length - 3:
101+
return text[:max_length] + "..."
102+
return text

0 commit comments

Comments
 (0)