Example of including an image + prompt to gpt-4o?
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- swift
- Área
- documentation
Línea de trabajo
Start by checking the package's existing examples and the ChatQuery.ChatCompletionMessageParam API used in the issue, especially how a user message can carry both text and an image for gpt-4o. Done looks like an example showing an image from assets or the device sent with a prompt; the issue has had no comment for over two years, so confirm the request is still relevant before starting.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi.
Pretty new to both Swift and this package.
Can anyone include an example of how to supply an image from assets or uploaded from the device with a prompt to the gpt-4o endpoint?
My current progress is below, but I feel like I'm doing something terribly wrong.
Only requirement is making it work at this point :D.
Current Error:
Current Code:
private func sendDataToAPI() async {
let washRoutine = UserDefaults.standard.string(forKey: "washRoutine") ?? ""
let beforeBedRoutine = UserDefaults.standard.string(forKey: "beforeBedRoutine") ?? ""
let otherHairCare = UserDefaults.standard.string(forKey: "otherHairCare") ?? ""
var messages: [ChatQuery.ChatCompletionMessageParam] = [
.user(.init(content: .string("Here are my current hair care routines:"))),
.user(.init(content: .string("Wash Routine: \(washRoutine)"))),
.user(.init(content: .string("Before Bed Routine: \(beforeBedRoutine)"))),
.user(.init(content: .string("Other Hair Care: \(otherHairCare)")))
]
if let image = UIImage(named: "curly_1"),
let imageData = image.jpegData(compressionQuality: 1.0) {
let base64String = imageData.base64EncodedString()
let imageUrl = "data:image/jpeg;base64,\(base64String)"
let imageParam = ChatQuery.ChatCompletionMessageParam.ChatCompletionUserMessageParam.init(content: .string(imageUrl))
messages.append(.user(imageParam))
}
let openAI = OpenAI(apiToken: "<api_token>")
let query = ChatQuery(messages: messages, model: .gpt4_o)
do {
let result = try await openAI.chats(query: query)
let content = result.choices.first?.message.content?.string
let tokenCount = result.usage?.promptTokens ?? 0
DispatchQueue.main.async {
self.apiResult = "\nPrompt tokens: \(tokenCount)\n\n\(content ?? "No content")"
}
} catch {
DispatchQueue.main.async {
self.apiResult = "Error fetching chats: \(error.localizedDescription)"
}
}
}
- Lenguaje dominante
- Swift
- Estrellas
- 2.9k
- Forks
- 519
- Merge medio
- 4 d 9 h
- PR fusionados (30 d)
- 13
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MacPaw/OpenAI
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 3 días
-
Enable batch promptsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
MacPaw/OpenAI#73 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 3 días
-
Check the HTTP status code for JSON responsesPosiblemente ocupada @mvanhorn la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
MacPaw/OpenAI#469 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 3 días
-
Add Batch API supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 3 días
Todos los issues de MacPaw/OpenAI
Issues similares
-
swift.md: `Date(myString, strategy: .iso8601)` example omits `try` — the initializer is throwingAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
core: RAC_LLM_OPTIONS_DEFAULT.min_p disagrees with the IDL's annotated defaultPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug core p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
Los mantenedores suelen responder en 5 días
-
area: docs eco: swift good first issue help wanted lane: free-agent roadmap size: XS type: docs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
arminazimi/evergreen#441 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nightscout/nightguard#368 ·