@@ -32,8 +32,10 @@ pip install langbase
32
32
### 1. Set up your API key
33
33
34
34
Create a ` .env ` file and add your [ Langbase API Key] ( https://langbase.com/docs/api-reference/api-keys ) .
35
+
35
36
``` bash
36
37
LANGBASE_API_KEY=" your-api-key"
38
+ LLM_API_KEY=" your-llm-api-key"
37
39
```
38
40
39
41
---
@@ -49,6 +51,7 @@ load_dotenv()
49
51
50
52
# Get API key from environment variable
51
53
langbase_api_key = os.getenv(" LANGBASE_API_KEY" )
54
+ llm_api_key = os.getenv(" LLM_API_KEY" )
52
55
53
56
# Initialize the client
54
57
lb = Langbase(api_key = langbase_api_key)
@@ -58,57 +61,83 @@ lb = Langbase(api_key=langbase_api_key)
58
61
59
62
``` python
60
63
# Simple generation
61
- response = lb.pipes.run(
62
- name = " ai-agent" ,
63
- messages = [{" role" : " user" , " content" : " Tell me about AI" }],
64
+ response = lb.agent.run(
65
+ input = [{" role" : " user" , " content" : " Tell me about AI" }],
66
+ model = " openai:gpt-4.1-mini" ,
67
+ api_key = llm_api_key,
64
68
)
65
69
66
- print (response[" completion " ])
70
+ print (response[" output " ])
67
71
```
68
72
69
73
---
70
74
71
75
### 4. Stream text (Simple)
72
76
73
77
``` python
78
+ form langbase import get_runner
79
+
74
80
# Stream text as it's generated
75
- response = lb.pipes.run(
76
- name = " ai-agent" ,
77
- messages = [{" role" : " user" , " content" : " Tell me about AI" }],
81
+ response = langbase.agent.run(
82
+ input = [{" role" : " user" , " content" : " Tell me about AI" }],
83
+ model = " openai:gpt-4.1-mini" ,
84
+ api_key = llm_api_key,
78
85
stream = True ,
79
86
)
80
87
81
- for text in stream_text(response[" stream" ]):
82
- print (text, end = " " , flush = True )
88
+ runner = get_runner(response)
89
+
90
+ for content in runner.text_generator():
91
+ print (content, end = " " , flush = True )
83
92
```
84
93
85
94
### 5. Stream with typed events (Advanced) 🆕
86
95
87
96
``` python
88
97
from langbase import StreamEventType, get_typed_runner
89
98
90
- # Get streaming response
91
- response = lb.pipes.run(
92
- name = " ai-agent " ,
93
- messages = [{ " role " : " user " , " content " : " Tell me about AI " }] ,
99
+ response = langbase.agent.run(
100
+ input = [{ " role " : " user " , " content " : " What is an AI Engineer? " }],
101
+ model = " openai:gpt-4.1-mini " ,
102
+ api_key = llm_api_key ,
94
103
stream = True ,
95
104
)
96
105
97
106
# Create typed stream processor
98
107
runner = get_typed_runner(response)
99
108
100
109
# Register event handlers
101
- runner.on(StreamEventType.CONNECT , lambda e :
102
- print (f " ✓ Connected to thread: { e[' threadId' ]} " ))
110
+ runner.on(
111
+ StreamEventType.CONNECT ,
112
+ lambda event : print (f " ✓ Connected! Thread ID: { event[' threadId' ]} \n " ),
113
+ )
103
114
104
- runner.on(StreamEventType.CONTENT , lambda e :
105
- print (e[" content" ], end = " " , flush = True ))
115
+ runner.on(
116
+ StreamEventType.CONTENT ,
117
+ lambda event : print (event[" content" ], end = " " , flush = True ),
118
+ )
106
119
107
- runner.on(StreamEventType.TOOL_CALL , lambda e :
108
- print (f " \n 🔧 Tool: { e[' toolCall' ][' function' ][' name' ]} " ))
120
+ runner.on(
121
+ StreamEventType.TOOL_CALL ,
122
+ lambda event : print (
123
+ f " \n 🔧 Tool call: { event[' toolCall' ][' function' ][' name' ]} "
124
+ ),
125
+ )
109
126
110
- runner.on(StreamEventType.END , lambda e :
111
- print (f " \n ⏱️ Duration: { e[' duration' ]:.2f } s " ))
127
+ runner.on(
128
+ StreamEventType.COMPLETION ,
129
+ lambda event : print (f " \n\n ✓ Completed! Reason: { event[' reason' ]} " ),
130
+ )
131
+
132
+ runner.on(
133
+ StreamEventType.ERROR ,
134
+ lambda event : print (f " \n ❌ Error: { event[' message' ]} " ),
135
+ )
136
+
137
+ runner.on(
138
+ StreamEventType.END ,
139
+ lambda event : print (f " ⏱️ Total duration: { event[' duration' ]:.2f } s " ),
140
+ )
112
141
113
142
# Process the stream
114
143
runner.process()
@@ -205,9 +234,9 @@ Explore the [examples](./examples) directory for complete working examples:
205
234
- [ Document processing] ( ./examples/parser/ )
206
235
- [ Workflow automation] ( ./examples/workflow/ )
207
236
208
- ## API Reference
237
+ ## SDK Reference
209
238
210
- For detailed API documentation, visit [ langbase.com/docs/sdk] ( https://langbase.com/docs/sdk ) .
239
+ For detailed SDK documentation, visit [ langbase.com/docs/sdk] ( https://langbase.com/docs/sdk ) .
211
240
212
241
## Contributing
213
242
0 commit comments