Skip to content

Commit 068ae29

Browse files
Update README.md
1 parent e5889c2 commit 068ae29

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

README.md

+23-16
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,17 @@ You can now use `client` as an interface to an LLM as provided by the underlying
146146
Each AI Client supports multiple models. For example:
147147

148148
```swift
149-
// OpenAI Models
149+
// OpenAI GPT Models
150150
let gpt_4o_Model: OpenAI.Model = .gpt_4o
151151
let gpt_4_Model: OpenAI.Model = .gpt_4
152152
let gpt_3_5_Model: OpenAI.Model = .gpt_3_5
153153
let otherGPTModels: OpenAI.Model = .chat(.gpt_OTHER_MODEL_OPTIONS)
154154

155+
// Open AI Text Embedding Models
156+
let smallTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_3_small)
157+
let largeTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_3_large)
158+
let adaTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_ada_002)
159+
155160
// Anthropic Models
156161
let caludeHaikuModel: Anthropic.Model = .haiku
157162
let claudeSonnetModel: Anthropic.Model = .sonnet
@@ -186,12 +191,15 @@ You can use the `LLMRequestHandling.complete(_:model:)` function to generate a c
186191
import AI
187192
import OpenAI
188193

189-
let llm: any LLMRequestHandling = OpenAI.Client(apiKey: "YOUR_KEY")
194+
let client: any LLMRequestHandling = OpenAI.Client(apiKey: "YOUR_KEY")
195+
196+
// the system prompt is optional
197+
let systemPrompt: PromptLiteral = "You are an extremely intelligent assistant."
198+
let userPrompt: PromptLiteral = "What is the meaning of life?"
190199

191200
let messages: [AbstractLLM.ChatMessage] = [
192-
// the system prompt is optional
193-
.system(PromptLiteral("You are an extremely intelligent assistant.")),
194-
.user(PromptLiteral("What is the meaning of life?"))
201+
.system(systemPrompt),
202+
.user(userPrompt)
195203
]
196204

197205
// Each of these is Optional
@@ -201,14 +209,13 @@ let parameters = AbstractLLM.ChatCompletionParameters(
201209
// controls the randomness of the result
202210
temperatureOrTopP: .temperature(1.2),
203211
// stop sequences that indicate to the model when to stop generating further text
204-
stops: ["\nUser:", "\nAssistant:"],
212+
stops: ["END OF CHAPTER"],
205213
// check the function calling section below
206214
functions: nil)
207215

208-
let model = OpenAI.Model.gpt_4o
216+
let model: OpenAI.Model = .gpt_4o
209217

210218
do {
211-
212219
let result: String = try await client.complete(
213220
messages,
214221
parameters: parameters,
@@ -230,20 +237,20 @@ import OpenAI
230237

231238
let client: any LLMRequestHandling = OpenAI.Client(apiKey: "YOUR_KEY")
232239

233-
let systemPrompt = "You are a VisionExpertGPT. You will receive an image. Your job is to list all the items in the image and write a one-sentence poem about each item. Make sure your poems are creative, capturing the essence of each item in an evocative and imaginative way."
240+
let systemPrompt: PromptLiteral = "You are a VisionExpertGPT. You will receive an image. Your job is to list all the items in the image and write a one-sentence poem about each item. Make sure your poems are creative, capturing the essence of each item in an evocative and imaginative way."
234241

235-
let userPrompt = "List the items in this image and write a short one-sentence poem about each item. Only reply with the items and poems. NOTHING MORE."
242+
let userPrompt: PromptLiteral = "List the items in this image and write a short one-sentence poem about each item. Only reply with the items and poems. NOTHING MORE."
236243

237244
// Image or NSImage is supported
238245
let imageLiteral = try PromptLiteral(image: imageInput)
239246

240247
let model = OpenAI.Model.gpt_4o
241248

242249
let messages: [AbstractLLM.ChatMessage] = [
243-
.system(PromptLiteral(systemPrompt),
250+
.system(systemPrompt),
244251
.user {
245252
.concatenate(separator: nil) {
246-
PromptLiteral(userPrompt)
253+
userPrompt
247254
imageLiteral
248255
}
249256
}]
@@ -298,13 +305,13 @@ import OpenAI
298305
let client: any LLMRequestHandling = OpenAI.Client(apiKey: "YOUR_KEY")
299306

300307
// supported models (Only OpenAI Embeddings Models are supported)
301-
let smallTextEmbeddingsModel = OpenAI.Model.embedding(.text_embedding_3_small)
302-
let largeTextEmbeddingsModel = OpenAI.Model.embedding(.text_embedding_3_large)
303-
let adaTextEmbeddingsModel = OpenAI.Model.embedding(.text_embedding_ada_002)
308+
let smallTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_3_small)
309+
let largeTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_3_large)
310+
let adaTextEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_ada_002)
304311

305312
let textInput = "Hello, Text Embeddings!"
306313

307-
let textEmbeddingsModel = OpenAI.Model.embedding(.text_embedding_3_small)
314+
let textEmbeddingsModel: OpenAI.Model = .embedding(.text_embedding_3_small)
308315

309316
let embeddings = try await LLMManager.client.textEmbeddings(
310317
for: [textInput],

0 commit comments

Comments
 (0)