|
1 | 1 | package io.weaviate.client6.v1.api.collections.generate; |
2 | 2 |
|
| 3 | +import java.util.ArrayList; |
3 | 4 | import java.util.List; |
4 | 5 |
|
| 6 | +import io.weaviate.client6.v1.api.collections.generative.AnthropicGenerative; |
| 7 | +import io.weaviate.client6.v1.api.collections.generative.AnyscaleGenerative; |
| 8 | +import io.weaviate.client6.v1.api.collections.generative.AwsGenerative; |
| 9 | +import io.weaviate.client6.v1.api.collections.generative.CohereGenerative; |
| 10 | +import io.weaviate.client6.v1.api.collections.generative.DatabricksGenerative; |
5 | 11 | import io.weaviate.client6.v1.api.collections.generative.DummyGenerative; |
| 12 | +import io.weaviate.client6.v1.api.collections.generative.FriendliaiGenerative; |
| 13 | +import io.weaviate.client6.v1.api.collections.generative.GoogleGenerative; |
| 14 | +import io.weaviate.client6.v1.api.collections.generative.MistralGenerative; |
| 15 | +import io.weaviate.client6.v1.api.collections.generative.NvidiaGenerative; |
| 16 | +import io.weaviate.client6.v1.api.collections.generative.OllamaGenerative; |
| 17 | +import io.weaviate.client6.v1.api.collections.generative.OpenAiGenerative; |
| 18 | +import io.weaviate.client6.v1.api.collections.generative.ProviderMetadata; |
| 19 | +import io.weaviate.client6.v1.api.collections.generative.XaiGenerative; |
6 | 20 | import io.weaviate.client6.v1.api.collections.query.QueryResponse; |
7 | 21 | import io.weaviate.client6.v1.internal.grpc.protocol.WeaviateProtoGenerative; |
8 | 22 | import io.weaviate.client6.v1.internal.grpc.protocol.WeaviateProtoSearchGet; |
@@ -49,6 +63,102 @@ static TaskOutput unmarshalTaskOutput(List<WeaviateProtoGenerative.GenerativeRep |
49 | 63 | ProviderMetadata providerMetadata = null; |
50 | 64 | if (metadata.hasDummy()) { |
51 | 65 | providerMetadata = new DummyGenerative.Metadata(); |
| 66 | + } else if (metadata.hasAws()) { |
| 67 | + providerMetadata = new AwsGenerative.Metadata(); |
| 68 | + } else if (metadata.hasAnthropic()) { |
| 69 | + var anthropic = metadata.getAnthropic(); |
| 70 | + var usage = anthropic.getUsage(); |
| 71 | + providerMetadata = new AnthropicGenerative.Metadata(new AnthropicGenerative.Metadata.Usage( |
| 72 | + usage.getInputTokens(), |
| 73 | + usage.getOutputTokens())); |
| 74 | + } else if (metadata.hasAnyscale()) { |
| 75 | + providerMetadata = new AnyscaleGenerative.Metadata(); |
| 76 | + } else if (metadata.hasCohere()) { |
| 77 | + var cohere = metadata.getCohere(); |
| 78 | + var apiVersion = cohere.getApiVersion(); |
| 79 | + var billedUnits = cohere.getBilledUnits(); |
| 80 | + var tokens = cohere.getTokens(); |
| 81 | + providerMetadata = new CohereGenerative.Metadata( |
| 82 | + new CohereGenerative.Metadata.ApiVersion( |
| 83 | + apiVersion.hasVersion() ? apiVersion.getVersion() : null, |
| 84 | + apiVersion.hasIsDeprecated() ? apiVersion.getIsDeprecated() : null, |
| 85 | + apiVersion.hasIsExperimental() ? apiVersion.getIsExperimental() : null), |
| 86 | + new CohereGenerative.Metadata.BilledUnits(billedUnits.getInputTokens(), |
| 87 | + billedUnits.hasOutputTokens() ? billedUnits.getOutputTokens() : null, |
| 88 | + billedUnits.hasSearchUnits() ? billedUnits.getSearchUnits() : null, |
| 89 | + billedUnits.hasClassifications() ? billedUnits.getClassifications() : null), |
| 90 | + new CohereGenerative.Metadata.Tokens( |
| 91 | + tokens.hasInputTokens() ? tokens.getInputTokens() : null, |
| 92 | + tokens.hasOutputTokens() ? tokens.getOutputTokens() : null), |
| 93 | + new ArrayList<>(cohere.getWarnings().getValuesList())); |
| 94 | + } else if (metadata.hasDatabricks()) { |
| 95 | + var databricks = metadata.getDatabricks(); |
| 96 | + var usage = databricks.getUsage(); |
| 97 | + providerMetadata = new DatabricksGenerative.Metadata(new ProviderMetadata.Usage( |
| 98 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 99 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 100 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
| 101 | + } else if (metadata.hasFriendliai()) { |
| 102 | + var friendliai = metadata.getFriendliai(); |
| 103 | + var usage = friendliai.getUsage(); |
| 104 | + providerMetadata = new FriendliaiGenerative.Metadata(new ProviderMetadata.Usage( |
| 105 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 106 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 107 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
| 108 | + } else if (metadata.hasMistral()) { |
| 109 | + var mistral = metadata.getMistral(); |
| 110 | + var usage = mistral.getUsage(); |
| 111 | + providerMetadata = new MistralGenerative.Metadata(new ProviderMetadata.Usage( |
| 112 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 113 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 114 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
| 115 | + } else if (metadata.hasNvidia()) { |
| 116 | + var nvidia = metadata.getNvidia(); |
| 117 | + var usage = nvidia.getUsage(); |
| 118 | + providerMetadata = new NvidiaGenerative.Metadata(new ProviderMetadata.Usage( |
| 119 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 120 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 121 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
| 122 | + } else if (metadata.hasOllama()) { |
| 123 | + providerMetadata = new OllamaGenerative.Metadata(); |
| 124 | + } else if (metadata.hasOpenai()) { |
| 125 | + var openai = metadata.getOpenai(); |
| 126 | + var usage = openai.getUsage(); |
| 127 | + providerMetadata = new OpenAiGenerative.Metadata(new ProviderMetadata.Usage( |
| 128 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 129 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 130 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
| 131 | + } else if (metadata.hasGoogle()) { |
| 132 | + var google = metadata.getGoogle(); |
| 133 | + var tokens = google.getMetadata().getTokenMetadata(); |
| 134 | + var usage = google.getUsageMetadata(); |
| 135 | + providerMetadata = new GoogleGenerative.Metadata( |
| 136 | + new GoogleGenerative.Metadata.TokenMetadata( |
| 137 | + new GoogleGenerative.Metadata.TokenCount( |
| 138 | + tokens.getInputTokenCount().hasTotalBillableCharacters() |
| 139 | + ? tokens.getInputTokenCount().getTotalBillableCharacters() |
| 140 | + : null, |
| 141 | + tokens.getInputTokenCount().hasTotalTokens() |
| 142 | + ? tokens.getInputTokenCount().getTotalTokens() |
| 143 | + : null), |
| 144 | + new GoogleGenerative.Metadata.TokenCount( |
| 145 | + tokens.getOutputTokenCount().hasTotalBillableCharacters() |
| 146 | + ? tokens.getOutputTokenCount().getTotalBillableCharacters() |
| 147 | + : null, |
| 148 | + tokens.getOutputTokenCount().hasTotalTokens() |
| 149 | + ? tokens.getOutputTokenCount().getTotalTokens() |
| 150 | + : null)), |
| 151 | + new GoogleGenerative.Metadata.Usage( |
| 152 | + usage.hasPromptTokenCount() ? usage.getPromptTokenCount() : null, |
| 153 | + usage.hasCandidatesTokenCount() ? usage.getCandidatesTokenCount() : null, |
| 154 | + usage.hasTotalTokenCount() ? usage.getTotalTokenCount() : null)); |
| 155 | + } else if (metadata.hasXai()) { |
| 156 | + var xai = metadata.getXai(); |
| 157 | + var usage = xai.getUsage(); |
| 158 | + providerMetadata = new XaiGenerative.Metadata(new ProviderMetadata.Usage( |
| 159 | + usage.hasPromptTokens() ? usage.getPromptTokens() : null, |
| 160 | + usage.hasCompletionTokens() ? usage.getCompletionTokens() : null, |
| 161 | + usage.hasTotalTokens() ? usage.getTotalTokens() : null)); |
52 | 162 | } |
53 | 163 |
|
54 | 164 | GenerativeDebug debug = null; |
|
0 commit comments