fix build failures: haskell streaming with withResponse, java-openai 4.3.0 with proper API, go-openai fixes, mojo real container

This commit is contained in:
Russell Ballestrini 2025-10-15 18:09:13 -04:00
parent d5c443fbdb
commit 60b61b5a7e
11 changed files with 91 additions and 159 deletions

View file

@ -18,7 +18,13 @@ FROM eclipse-temurin:17-jre-alpine
WORKDIR /app
# Copy jar with dependencies from builder
# Copy jar and dependencies from builder
COPY --from=builder /app/target/*.jar ./uncloseai.jar
COPY --from=builder /app/target/lib ./lib
CMD ["java", "-jar", "uncloseai.jar"]
# Set environment variables for testing
ENV MODEL_ENDPOINT_1=https://hermes.ai.unturf.com/v1
ENV MODEL_ENDPOINT_2=https://qwen.ai.unturf.com/v1
ENV TTS_ENDPOINT_1=https://speech.ai.unturf.com/v1
CMD ["java", "-cp", "uncloseai.jar:lib/*", "uncloseai"]

View file

@ -18,7 +18,7 @@
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>0.8.1</version>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
@ -59,6 +59,18 @@
<mainClass>uncloseai</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>uncloseai</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>

View file

@ -1,6 +1,7 @@
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.*;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import java.io.FileOutputStream;
import java.io.IOException;
@ -8,8 +9,6 @@ import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.List;
import java.util.stream.Stream;
import org.json.JSONArray;
import org.json.JSONObject;
@ -65,14 +64,7 @@ public class uncloseai {
ChatCompletionCreateParams params1 = ChatCompletionCreateParams.builder()
.model(model1Id)
.addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
ChatCompletionUserMessageParam.builder()
.role(ChatCompletionUserMessageParam.Role.USER)
.content(ChatCompletionUserMessageParam.Content.ofTextContent(
"Give a Python Fizzbuzz solution in one line of code?"
))
.build()
))
.addUserMessage("Give a Python Fizzbuzz solution in one line of code?")
.temperature(0.5)
.maxTokens(150L)
.build();
@ -84,14 +76,7 @@ public class uncloseai {
System.out.println("=== Streaming Chat (Model 1) ===");
ChatCompletionCreateParams streamParams1 = ChatCompletionCreateParams.builder()
.model(model1Id)
.addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
ChatCompletionUserMessageParam.builder()
.role(ChatCompletionUserMessageParam.Role.USER)
.content(ChatCompletionUserMessageParam.Content.ofTextContent(
"Explain quantum entanglement in one sentence."
))
.build()
))
.addUserMessage("Explain quantum entanglement in one sentence.")
.temperature(0.5)
.maxTokens(150L)
.build();
@ -113,14 +98,7 @@ public class uncloseai {
ChatCompletionCreateParams params2 = ChatCompletionCreateParams.builder()
.model(model2Id)
.addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
ChatCompletionUserMessageParam.builder()
.role(ChatCompletionUserMessageParam.Role.USER)
.content(ChatCompletionUserMessageParam.Content.ofTextContent(
"Write a JavaScript function to check if a number is prime"
))
.build()
))
.addUserMessage("Write a JavaScript function to check if a number is prime")
.temperature(0.5)
.maxTokens(150L)
.build();
@ -132,14 +110,7 @@ public class uncloseai {
System.out.println("=== Streaming Chat (Model 2) ===");
ChatCompletionCreateParams streamParams2 = ChatCompletionCreateParams.builder()
.model(model2Id)
.addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
ChatCompletionUserMessageParam.builder()
.role(ChatCompletionUserMessageParam.Role.USER)
.content(ChatCompletionUserMessageParam.Content.ofTextContent(
"Give a Python Fizzbuzz solution in one line of code?"
))
.build()
))
.addUserMessage("Give a Python Fizzbuzz solution in one line of code?")
.temperature(0.5)
.maxTokens(150L)
.build();
@ -152,9 +123,9 @@ public class uncloseai {
});
System.out.println("\n");
// TTS example - not supported in openai-java 0.8.1
// TTS example
System.out.println("=== TTS Speech Generation ===");
System.out.println("[SKIPPED] TTS not available in openai-java SDK 0.8.1\n");
System.out.println("[SKIPPED] TTS implementation needs audio API research\n");
System.out.println("=== Examples Complete ===");