Run the following commands below to install our open source tracing packages, which works on top of OpenTelemetry. This example below uses openai, and we support many LLM providers (see full list).
Go to your space settings in the left navigation, and you will see your API keys on the right hand side. You'll need the space key and API keys for the next part.
The following code snippet showcases how to automatically instrument your OpenAI application.
# Import open-telemetry dependenciesfrom arize_otel import register_otel, Endpoints# Setup OTEL via our convenience functionregister_otel( endpoints = Endpoints.ARIZE, space_key ="your-space-key", # in app space settings page api_key ="your-api-key", # in app space settings page model_id ="your-model-id", # name this to whatever you would like)# Import the automatic instrumentor from OpenInferencefrom openinference.instrumentation.openai import OpenAIInstrumentor# Finish automatic instrumentationOpenAIInstrumentor().instrument()
Now start asking questions to your LLM app and watch the traces being collected by Arize. For more examples of instrumenting OpenAI applications, check our openinferenece-instrumentation-openai examples.
The following code snippet showcases how to automatically instrument your LLM application.
import osimport arize-otel# Import open-telemetry dependenciesfrom arize_otel import register_otel, Endpoints# Setup OTEL via our convenience functionregister_otel( endpoints = Endpoints.ARIZE, space_key ="your-space-key", # in app Space settings page api_key ="your-api-key", # in app Space settings page model_id ="your-model-id",)# Import the automatic instrumentor from OpenInferencefrom openinference.instrumentation.llama_index import LlamaIndexInstrumentor# Finish automatic instrumentationLlamaIndexInstrumentor().instrument()
To test, you can create a simple RAG application using LlamaIndex.
from gcsfs import GCSFileSystemfrom llama_index.core import ( Settings, StorageContext, load_index_from_storage,)from llama_index.embeddings.openai import OpenAIEmbeddingfrom llama_index.llms.openai import OpenAIfile_system =GCSFileSystem(project="public-assets-275721")index_path ="arize-phoenix-assets/datasets/unstructured/llm/llama-index/arize-docs/index/"storage_context = StorageContext.from_defaults( fs=file_system, persist_dir=index_path,)Settings.llm =OpenAI(model="gpt-4-turbo-preview")Settings.embed_model =OpenAIEmbedding(model="text-embedding-ada-002")index =load_index_from_storage( storage_context,)query_engine = index.as_query_engine()response = query_engine.query("What is Arize and how can it help me as an AI Engineer?")
Now start asking questions to your LLM app and watch the traces being collected by Arize.
The following code snippet showcases how to automatically instrument your LLM application.
import osimport arize-otel# Import open-telemetry dependenciesfrom arize_otel import register_otel, Endpoints# Setup OTEL via our convenience functionregister_otel( endpoints = Endpoints.ARIZE, space_key ="your-space-key", # in app Space settings page api_key ="your-api-key", # in app Space settings page model_id ="your-model-id",)# Import the automatic instrumentor from OpenInferencefrom openinference.instrumentation.langchain import LangChainInstrumentor# Finish automatic instrumentationLangChainInstrumentor().instrument()
To test, you can create a simple RAG application using Langchain.
from langchain.chains import RetrievalQAfrom langchain.retrievers import KNNRetrieverfrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsknn_retriever =KNNRetriever( index=np.stack(df["text_vector"]), texts=df["text"].tolist(), embeddings=OpenAIEmbeddings(),)chain_type ="stuff"# stuff, refine, map_reduce, and map_rerankchat_model_name ="gpt-3.5-turbo"llm =ChatOpenAI(model_name=chat_model_name)chain = RetrievalQA.from_chain_type( llm=llm, chain_type=chain_type, retriever=knn_retriever, metadata={"application_type": "question_answering"},)response = chain.invoke("What is Arize and how can it help me as an AI Engineer?")
Now start asking questions to your LLM app and watch the traces being collected by Arize.
Run your LLM application
Once you've executed a sufficient number of queries (or chats) to your application, you can view the details on the LLM Tracing page.