Hi, I have a question: I am trying to give my embeddings to a remote phoenix service:
ds = px.Dataset(dataframe=df_representations, schema=px_schema)
import os
os.environ["PHOENIX_COLLECTOR_ENDPOINT"] = "http://127.0.0.1:8086"
# Launch Phoenix app
session = px.launch_app(primary=ds)
Phoenix listens on port 8086, but I do not see any Embeddings cloud and/or do not know how to look at it. phoenix automatically opens "/tracing"
can you try accessing /model ?
http://127.0.0.1:8086/model
Ah okay, I can access it but there are no data shown.
I did not know about /model but how do I add my embeddings to the phoenix?
what does px_schema look like in your code above?
px_schema = px.Schema(
feature_column_names=[
"source_url",
],
embedding_feature_column_names=px.EmbeddingColumnNames(
vector_column_name="vector", raw_data_column_name="text"
),
)maybe try this
px_schema = px.Schema(
feature_column_names=[
"source_url",
],
embedding_feature_column_names={"embedding": px.EmbeddingColumnNames(
vector_column_name="vector", raw_data_column_name="text"
)},
)Kind of did not work, I had also corrected the dict from ["source_url", "text", "_additional": ["vector"]] to ["source_url", "text", "vector"], I believe that should be correct for the dataframe.
What could also be helpful: in Docker the phoenix does not report anything, when running the script.
Hey Roman K., thanks for trying Phoenix. It sounds like you are trying to launch Phoenix with embeddings from a Docker container.
What could also be helpful: in Docker the phoenix does not report anything, when running the script.
What script are you running? What kind of report are you expecting to see here?
I mean, that the console output inside the docker container is silent when trying to send the embeddings data to it.
The script I am running is partly the above code. I collect the embeddings with the values "text" "source_url" and "vector" these I use to export them to Phoenix as shown. But appearently the data is not exported to the phoenix service to be shown inside the point cloud that is shown prominently in the phoenix github.
Just to clarify, if you want to visualize embedding data with Phoenix, you need all the embeddings at the moment you invoke px.launch_app. Phoenix does not currently collect and display embedding data in the point in real time. The PHOENIX_ENDPOINT_COLLECTOR environment variable is used to collect trace and span data from an instrumented LLM application. It's possible to send embedding spans, e.g., from a LlamaIndex or LangChain application, but we don't yet support direct visualization of that embedding span data (it's on the roadmap). Are the embeddings you're working with coming from an instrumented LLM application as spans, or do you have the raw embedding vectors themselves?
It is raw embedding vectors which are available at invoking px.launch_app. But the phoenix service is already running at invoking px.launch_app as it runs remotely. I could also start a separate service which only renders the embedding data. That could be a workaround.
