examples/langchain_integration.py
1.2 KB · 46 lines · python Raw
1 """Integrate wallet with a LangChain-style secret provider.
2
3 Run: python examples/langchain_integration.py
4 """
5
6 from __future__ import annotations
7
8 import tempfile
9
10 from quantumshield import AgentIdentity
11
12 from pqc_agent_wallet import Wallet
13 from pqc_agent_wallet.integrations import (
14 make_langchain_secret_provider,
15 walletize_env,
16 )
17
18
19 def main() -> None:
20 owner = AgentIdentity.create("langchain-agent")
21 with tempfile.NamedTemporaryFile(suffix=".wallet", delete=False) as tmp:
22 path = tmp.name
23
24 w = Wallet.create_with_passphrase(path, "secret-phrase", owner)
25 w.put("openai_api_key", "sk-langchain-demo", service="openai")
26 w.put("serpapi_api_key", "sa-langchain-demo", service="serpapi")
27
28 # Method 1: callable provider
29 provider = make_langchain_secret_provider(w)
30 print("[OK] openai via provider:", provider("openai_api_key"))
31
32 # Method 2: bulk env mapping
33 env_cfg = walletize_env(
34 w,
35 {
36 "OPENAI_API_KEY": "openai_api_key",
37 "SERPAPI_API_KEY": "serpapi_api_key",
38 },
39 )
40 for k, v in env_cfg.items():
41 print(f"[OK] {k} = {v}")
42
43
44 if __name__ == "__main__":
45 main()
46