mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-12 05:51:28 +00:00
feat: OpenAI and Claude vision support (#430)
* feat: add OpenAI and Claude vision support * refactor: replace awaitility with PlatformTestUtil.waitWithEventsDispatching * feat: display error when image not found * chore: bump llm-client * feat: configurable file watcher and minor code cleanup * fix: ensure image notifications are triggered only for image file types * docs: update changelog * fix: user textarea icon button behaviour * refactor: minor cleanup
This commit is contained in:
parent
99b5f94dad
commit
8cf5720db9
40 changed files with 793 additions and 309 deletions
|
|
@ -9,7 +9,10 @@ import com.knuddels.jtokkit.api.EncodingRegistry;
|
|||
import com.knuddels.jtokkit.api.EncodingType;
|
||||
import com.knuddels.jtokkit.api.IntArrayList;
|
||||
import ee.carlrobert.codegpt.conversations.Conversation;
|
||||
import ee.carlrobert.llm.client.openai.completion.request.OpenAIChatCompletionDetailedMessage;
|
||||
import ee.carlrobert.llm.client.openai.completion.request.OpenAIChatCompletionMessage;
|
||||
import ee.carlrobert.llm.client.openai.completion.request.OpenAIChatCompletionStandardMessage;
|
||||
import ee.carlrobert.llm.client.openai.completion.request.OpenAIMessageTextContent;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
|
|
@ -38,7 +41,16 @@ public final class EncodingManager {
|
|||
}
|
||||
|
||||
public int countMessageTokens(OpenAIChatCompletionMessage message) {
|
||||
return countMessageTokens(message.getRole(), message.getContent());
|
||||
if (message instanceof OpenAIChatCompletionStandardMessage standardMessage) {
|
||||
return countMessageTokens(standardMessage.getRole(), standardMessage.getContent());
|
||||
}
|
||||
|
||||
return ((OpenAIChatCompletionDetailedMessage) message).getContent().stream()
|
||||
.filter(it -> it instanceof OpenAIMessageTextContent)
|
||||
.map(it -> countMessageTokens(
|
||||
((OpenAIChatCompletionDetailedMessage) message).getRole(),
|
||||
((OpenAIMessageTextContent) it).getText()))
|
||||
.reduce(0, Integer::sum);
|
||||
}
|
||||
|
||||
public int countMessageTokens(String role, String content) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue