Skip to content

Commit 604b0b6

Browse files
committed
Update GenAIVision API
1 parent 6516b45 commit 604b0b6

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

Arduino_package/hardware/libraries/NeuralNetwork/examples/GenAIVision/GenAIVision.ino

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ https://ai.google.dev/gemini-api/docs/vision
1111
GroqCloud - Llama vision
1212
https://console.groq.com/docs/overview
1313
14-
Example Guide: TBD
14+
Example Guide: https://ameba-arduino-doc.readthedocs.io/en/latest/amebapro2/Example_Guides/Neural%20Network/Generative%20AI%20Vision.html
1515
1616
Credit : ChungYi Fu (Kaohsiung, Taiwan)
1717
@@ -34,7 +34,7 @@ VideoSetting config(768, 768, CAM_FPS, VIDEO_JPEG, 1);
3434
uint32_t img_addr = 0;
3535
uint32_t img_len = 0;
3636

37-
String prompt = "Please describe the image, and if there is a text, please summarize the content";
37+
String prompt_msg = "Please describe the image, and if there is a text, please summarize the content";
3838

3939
void initWiFi()
4040
{
@@ -83,13 +83,13 @@ void setup()
8383
Camera.getImage(0, &img_addr, &img_len);
8484

8585
// openAI vision prompt
86-
// Serial.println((llm.openaivision(openAI_key, prompt, &img_addr, img_len, client)));
86+
llm.openaivision(openAI_key, prompt_msg, img_addr, img_len, client);
8787

8888
// Gemini vision prompt
89-
// Serial.println((llm.geminivision(Gemini_key, prompt, img_addr, img_len, client)));
89+
// llm.geminivision(Gemini_key, prompt_msg, img_addr, img_len, client);
9090

9191
// Llama vision prompt
92-
Serial.println((llm.llamavision(Llama_key, prompt, img_addr, img_len, client)));
92+
// llm.llamavision(Llama_key, prompt_msg, img_addr, img_len, client);
9393
}
9494

9595
void loop()

Arduino_package/hardware/libraries/NeuralNetwork/src/NNGenAIVision.cpp

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ NNGenAIVision::~NNGenAIVision()
1111
}
1212

1313
// Model: gpt-4o-mini, Server: openAI Platform
14-
String NNGenAIVision::openaivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
14+
void NNGenAIVision::openaivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
1515
{
1616
const char *myDomain = "api.openai.com";
1717
String getResponse = "", Feedback = "";
@@ -88,14 +88,13 @@ String NNGenAIVision::openaivision(String key, String message, uint32_t img_addr
8888
}
8989
} else {
9090
getResponse = "Connected to " + String(myDomain) + " failed.";
91-
Serial.println("Connected to " + String(myDomain) + " failed.");
9291
}
93-
94-
return getResponse;
92+
Serial.println("Response from GPT:");
93+
Serial.println(getResponse);
9594
}
9695

97-
// Model: gemini-1.5, Server: Google AI Studio
98-
String NNGenAIVision::geminivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
96+
// Model: gemini-1.5-flash, Server: Google AI Studio
97+
void NNGenAIVision::geminivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
9998
{
10099
const char *myDomain = "generativelanguage.googleapis.com";
101100
String getResponse = "", Feedback = "";
@@ -171,14 +170,13 @@ String NNGenAIVision::geminivision(String key, String message, uint32_t img_addr
171170
}
172171
} else {
173172
getResponse = "Connected to " + String(myDomain) + " failed.";
174-
Serial.println("Connected to " + String(myDomain) + " failed.");
175173
}
176-
177-
return getResponse;
174+
Serial.println("Response from Gemini:");
175+
Serial.println(getResponse);
178176
}
179177

180178
// Model: llama-3.2-90b-vision-preview, Server: groq
181-
String NNGenAIVision::llamavision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
179+
void NNGenAIVision::llamavision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client)
182180
{
183181
const char *myDomain = "api.groq.com";
184182
String getResponse = "", Feedback = "";
@@ -255,8 +253,7 @@ String NNGenAIVision::llamavision(String key, String message, uint32_t img_addr,
255253
}
256254
} else {
257255
getResponse = "Connected to " + String(myDomain) + " failed.";
258-
Serial.println("Connected to " + String(myDomain) + " failed.");
259256
}
260-
261-
return getResponse;
257+
Serial.println("Response from Llama:");
258+
Serial.println(getResponse);
262259
}

Arduino_package/hardware/libraries/NeuralNetwork/src/NNGenAIVision.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class NNGenAIVision {
1818
NNGenAIVision();
1919
~NNGenAIVision();
2020

21-
String openaivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
22-
String geminivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
23-
String llamavision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
21+
void openaivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
22+
void geminivision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
23+
void llamavision(String key, String message, uint32_t img_addr, uint32_t img_len, WiFiSSLClient client);
2424
};
2525

2626
#endif

0 commit comments

Comments
 (0)