Skip to content

Azure example doesn't recognize endpoint URL #467

Open
@mzattera

Description

@mzattera

When running the Azure example provided in example folder, I get the below exception.

It seems base URL is not properly recognized.

Exception in thread "main" java.io.UncheckedIOException: java.net.UnknownHostException: www.example.com
	at com.azure.core.http.netty.NettyAsyncHttpClient.sendSync(NettyAsyncHttpClient.java:201)
	at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:51)
	at com.azure.core.http.policy.BearerTokenAuthenticationPolicy.processSync(BearerTokenAuthenticationPolicy.java:175)
	at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
	at com.azure.core.http.HttpPipeline.sendSync(HttpPipeline.java:138)
	at com.azure.identity.AuthenticationUtil.lambda$getBearerTokenSupplier$0(AuthenticationUtil.java:56)
	at com.openai.credential.BearerTokenCredential.token(BearerTokenCredential.kt:35)
	at com.openai.core.ClientOptions$Builder.build(ClientOptions.kt:295)
	at com.openai.client.okhttp.OpenAIOkHttpClient$Builder.build(OpenAIOkHttpClient.kt:196)
	at test.AzureEntraIdExample.main(AzureEntraIdExample.java:29)
Caused by: java.net.UnknownHostException: www.example.com
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1335)
	at java.net.InetAddress.getAllByName0(InetAddress.java:1288)
	at java.net.InetAddress.getAllByName(InetAddress.java:1203)
	at java.net.InetAddress.getAllByName(InetAddress.java:1127)
	at io.netty.util.internal.SocketUtils$9.run(SocketUtils.java:169)
	at io.netty.util.internal.SocketUtils$9.run(SocketUtils.java:166)
	at java.security.AccessController.doPrivileged(Native Method)
	at io.netty.util.internal.SocketUtils.allAddressesByName(SocketUtils.java:166)
	at io.netty.resolver.DefaultNameResolver.doResolveAll(DefaultNameResolver.java:50)
	at io.netty.resolver.SimpleNameResolver.resolveAll(SimpleNameResolver.java:79)
	at io.netty.resolver.SimpleNameResolver.resolveAll(SimpleNameResolver.java:71)
	at io.netty.resolver.InetSocketAddressResolver.doResolveAll(InetSocketAddressResolver.java:73)
	at io.netty.resolver.InetSocketAddressResolver.doResolveAll(InetSocketAddressResolver.java:31)
	at io.netty.resolver.AbstractAddressResolver.resolveAll(AbstractAddressResolver.java:158)
	at reactor.netty.transport.TransportConnector.doResolveAndConnect(TransportConnector.java:329)
	at reactor.netty.transport.TransportConnector.lambda$connect$6(TransportConnector.java:165)
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:125)
	at reactor.netty.transport.TransportConnector$MonoChannelPromise._subscribe(TransportConnector.java:631)
	at reactor.netty.transport.TransportConnector$MonoChannelPromise.lambda$subscribe$0(TransportConnector.java:543)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:750)

I have provided both AZURE_OPENAI_KEY and OPENAI_BASE_URL in my environment and I am testing they are read correctly by my app, I get the same error even if I specify the endpoint using:

		OpenAIClient client = OpenAIOkHttpClient.builder()
				.fromEnv()
				.baseUrl("https://<my endpoint>.openai.azure.com/")
				.credential(BearerTokenCredential.create(AuthenticationUtil.getBearerTokenSupplier(
						new DefaultAzureCredentialBuilder().build(), "https://cognitiveservices.azure.com/.default")))
				.build();

If it helps, my POM file is below:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Test</name>
  <description>Test for OpenAI Java SDK</description>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- Java version -->
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
	</properties>
	<dependencies>
		<!-- Official OpenAI Java SDK -->
		<dependency>
		  <groupId>com.openai</groupId>
		  <artifactId>openai-java</artifactId>
		  <version>1.6.1</version>
		</dependency>		
		<!-- To access Azure OpenAI Gognitive Services -->
		<dependency>
		    <groupId>com.azure.resourcemanager</groupId>
		    <artifactId>azure-resourcemanager-cognitiveservices</artifactId>
		    <version>1.1.0</version>
		</dependency>
		<dependency>
		    <groupId>com.azure</groupId>
		    <artifactId>azure-identity</artifactId>
		    <version>1.16.0</version>
		    <scope>compile</scope>
		</dependency>
	</dependencies>
</project>

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions