1
1
<h1 align =" center " >🔥 polyfire</h1 >
2
2
3
3
<h4 align =" center " >
4
- <a href="https://docs.polyfire.com">Documentation</a> |
5
4
<a href="https://www.polyfire.com/discord">Discord</a> | <a href="https://beta.polyfire.com">Dashboard</a>
6
5
</h4 >
7
6
@@ -17,10 +16,6 @@ We **manage your AI backend** so you don't have to.
17
16
18
17
![ Demo Gif] ( https://files.readme.io/7442014-demo.gif )
19
18
20
- ## 🧰 Examples
21
-
22
- We have several examples in our [ documentation] ( https://docs.polyfire.com/ ) . But here are two simple ones to get you started
23
-
24
19
### React
25
20
26
21
``` js
@@ -69,35 +64,193 @@ root.render(
69
64
70
65
> Don' t forget to change the **your_project_id** by your project ID you will have got on https://beta.polyfire.com
71
66
72
- ## 🆕 Getting Started
67
+ ## 🔗 Links
73
68
74
- To get an overview of Polyfire follow this **[Basic Usage](https://docs.polyfire.com/docs/basic-usage)** tutorial.
69
+ - Website: [polyfire.com](https://www.polyfire.com)
70
+ - Dashboard: [beta.polyfire.com](https://beta.polyfire.com)
71
+ - Discord: [polyfire.com/discord](https://www.polyfire.com/discord)
72
+ - Javascript SDK: [github.com/polyfact/polyfire-js](https://www.github.com/polyfact/polyfire-js)
73
+ - Open Source API (your managed backend!): [github.com/polyfact/polyfire-api](https://github.com/polyfact/polyfire-api)
75
74
76
- ## ✨ Starter Guides
75
+ We ' re open source ! Make a good PR to the JS SDK or the API and we ' ll merge it.
77
76
78
- We also made a couple of tutorials you can use to get started with Polyfire:
79
77
80
- - **[How to make a clone of ChatGPT](https://docs.polyfire.com/docs/chatgpt-clone)**
81
- - **[New Project & Rate Limits](https://docs.polyfire.com/docs/new-project-rate-limit)**
82
- - **[Adding stripe subscriptions](https://docs.polyfire.com/docs/react-stripe-subscriptions)**
83
- - **[Call Polyfire from React](https://docs.polyfire.com/docs/usepolyfire)**: The usePolyfire hooks lets you use Polyfire and handle authentification without having to deploy any backend
84
- - **[Call Polyfire from other browser environments](https://docs.polyfire.com/docs/javascript)**: The Polyfire Client Object allows you to use Polyfire and handle authentification without having to deploy any backend in any environment
78
+ # SDK Documentation
85
79
86
- ## 📚 Useful References
80
+ ## Overview
87
81
88
- - **[Generate Simple Text](https://docs.polyfire.com/reference/generate)**: Answer to simple requests as text
89
- - **[Create Chatbots](https://docs.polyfire.com/reference/chats)**: Easily create chatbots
90
- - **[Transcribe](https://docs.polyfire.com/reference/transcribe)**: Transcribe audio files to text
91
- - **[Memory](https://docs.polyfire.com/reference/embeddings)**: Easily create a long-term memory and simplify the use of large amounts of information
92
- - **[GenerateImage](https://docs.polyfire.com/reference/generate-image)**: Generate images with Dall-E
82
+ This SDK provides functionalities for text generation, transcription, memory management, image generation, and data loading. Below is a guide on how to use these features.
93
83
94
- ## 🔗 Links
84
+ ### Installation
95
85
96
- - Website: [polyfire.com](https://www.polyfire.com)
97
- - Documentation: [docs.polyfire.com](https://docs.polyfire.com)
98
- - Dashboard: [beta.polyfire.com](https://beta.polyfire.com)
99
- - Discord: [polyfire.com/discord](https://www.polyfire.com/discord)
100
- - Javascript SDK: [github.com/polyfire-ai/polyfire-js](https://www.github.com/polyfire-ai/polyfire-js)
101
- - Open Source API (your managed backend!): [github.com/polyfire-ai/polyfire-api](https://github.com/polyfire-ai/polyfire-api)
86
+ To install the SDK, use the following command:
87
+
88
+ ```bash
89
+ npm install polyfire-js
90
+ ```
91
+
92
+ ### Importing the SDK
93
+
94
+ To use the SDK, import the necessary functions and classes:
95
+
96
+ ```typescript
97
+ import {
98
+ generate,
99
+ generateWithType,
100
+ transcribe,
101
+ Chat,
102
+ createMemory,
103
+ updateMemory,
104
+ getAllMemories,
105
+ generateImage,
106
+ TextFileLoader,
107
+ StringLoader,
108
+ AudioLoader,
109
+ kv,
110
+ usage,
111
+ t
112
+ } from "polyfire-js";
113
+ import PolyfireClientBuilder from "polyfire-js";
114
+ ```
115
+
116
+ ## Features
117
+
118
+ ### Text Generation
119
+
120
+ - **generate**: Generate text based on input.
121
+ - **generateWithType**: Generate text with probabilistic types.
122
+
123
+ ```typescript
124
+ const options: GenerationOptions = { /* Generation options */ };
125
+ const result = await generate("Your input text", options);
126
+ ```
127
+
128
+ ### Transcription
129
+
130
+ - **transcribe**: Transcribe audio to text.
131
+
132
+ ```typescript
133
+ const transcription = await transcribe(audioFile);
134
+ ```
135
+
136
+ ### Chat
137
+
138
+ - **Chat**: Class for handling chat functionalities.
139
+
140
+ ```typescript
141
+ const chat = new Chat();
142
+ chat.sendMessage("Hello!");
143
+ ```
144
+
145
+ ### Memory Management
146
+
147
+ - **createMemory**: Create embeddings for memory.
148
+ - **updateMemory**: Update existing embeddings.
149
+ - **getAllMemories**: Retrieve all embeddings.
150
+
151
+ ```typescript
152
+ const memory = createMemory(data);
153
+ const updatedMemory = updateMemory(memoryId, newData);
154
+ const allMemories = getAllMemories();
155
+ ```
156
+
157
+ ### Image Generation
158
+
159
+ - **generateImage**: Generate images based on input.
160
+
161
+ ```typescript
162
+ const image = await generateImage("A beautiful sunset");
163
+ ```
164
+
165
+ ### Data Loaders
166
+
167
+ - **TextFileLoader**: Load text files.
168
+ - **StringLoader**: Load strings.
169
+ - **AudioLoader**: Load audio files.
170
+
171
+ ```typescript
172
+ const textLoader = new TextFileLoader(filePath);
173
+ const stringLoader = new StringLoader(stringData);
174
+ const audioLoader = new AudioLoader(audioFile);
175
+ ```
176
+
177
+ ### Key-Value Store Operations
178
+
179
+ - **kv.get**: Retrieve a value by key.
180
+ - **kv.set**: Store a value by key.
181
+ - **kv.del**: Delete a value by key.
182
+ - **kv.all**: Retrieve all key-value pairs.
183
+
184
+ ```typescript
185
+ const value = await kv.get("key");
186
+ await kv.set("key", "value");
187
+ await kv.del("key");
188
+ const allValues = await kv.all();
189
+ ```
190
+
191
+ ### Usage Tracking
192
+
193
+ - **usage**: Track usage of the SDK.
194
+
195
+ ```typescript
196
+ const usageData = await usage();
197
+ ```
198
+
199
+ ### Type Validation
200
+
201
+ - **t**: Type validation using `polyfact-io-ts`.
202
+
203
+ ```typescript
204
+ const isValid = t.validate(data, schema);
205
+ ```
206
+
207
+ ### Client Builder
208
+
209
+ - **PolyfireClientBuilder**: Build the client.
210
+
211
+ ```typescript
212
+ const client = new PolyfireClientBuilder({ apiKey: "your-api-key" });
213
+ ```
214
+
215
+ ## Example Usage
216
+
217
+ Here is a complete example of using the SDK:
218
+
219
+ ```typescript
220
+ import {
221
+ generate,
222
+ transcribe,
223
+ createMemory,
224
+ generateImage,
225
+ kv,
226
+ usage
227
+ } from "polyfire-js";
228
+ import PolyfireClientBuilder from "polyfire-js";
229
+
230
+ async function main() {
231
+ // Text generation
232
+ const text = await generate("Hello, world!");
233
+
234
+ // Transcription
235
+ const transcription = await transcribe("path/to/audio/file");
236
+
237
+ // Memory management
238
+ const memory = createMemory("Some data");
239
+
240
+ // Image generation
241
+ const image = await generateImage("A beautiful sunset");
242
+
243
+ // Key-Value operations
244
+ await kv.set("key", "value");
245
+ const value = await kv.get("key");
246
+
247
+ // Usage tracking
248
+ const usageData = await usage();
249
+
250
+ // Client builder
251
+ const client = new PolyfireClientBuilder({ apiKey: "your-api-key" });
252
+ }
253
+
254
+ main();
255
+ ```
102
256
103
- We' re open source! Make a good PR to the JS SDK or the API and we' ll merge it.
0 commit comments