9x25dillon commited on
Commit
589abc6
·
verified ·
1 Parent(s): 0dfd912

Create adapters/anthropic_adapter.py

Browse files
Files changed (1) hide show
  1. adapters/anthropic_adapter.py +23 -0
adapters/anthropic_adapter.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # adapters/anthropic_adapter.py
2
+ import os, hashlib
3
+ from typing import List
4
+ from .base import BaseModelAdapter
5
+
6
+ class AnthropicAdapter(BaseModelAdapter):
7
+ """
8
+ Placeholder that mimics a Claude-like adapter.
9
+ """
10
+ def __init__(self, model_text="claude-3.5-sonnet", model_embed="claude-embed-v1"):
11
+ self.model_text = model_text
12
+ self.model_embed = model_embed
13
+ self.dim = int(os.getenv("EMBED_DIM", "384"))
14
+
15
+ def generate(self, prompt: str) -> str:
16
+ return f"[{self.model_text}] {prompt.strip()}"
17
+
18
+ def embed_text(self, text: str) -> List[float]:
19
+ import numpy as np
20
+ h = hashlib.blake2b((self.model_embed + "||" + text).encode(), digest_size=16).digest()
21
+ seed = int.from_bytes(h[:8], "little")
22
+ rng = np.random.default_rng(seed)
23
+ return rng.standard_normal(self.dim).astype("float32").tolist()