Why am i getting this error? and how to fix it?
I am using AzureOpenIEmbedding endpoint in Azure Databricks.
import os
from databricks.vector_search.client import VectorSearchClient
from langchain.vectorstores import DatabricksVectorSearch
from langchain.embeddings import DatabricksEmbeddings
from langchain.chains import RetrievalQA
Set environment variables
os.environ[‘DATABRICKS_TOKEN’] = dbutils.secrets.get(secret_scope, secret_key)
Ensure ‘host’ is defined here
question = “What is Apache Spark?”
try:
# Initialize embedding model
embedding_model = DatabricksEmbeddings(endpoint=embedding_model_endpoint_name)
test_embedding = embedding_model.embed_query(question)[:20]
print(f"Test embeddings: {test_embedding}…")
def get_retriever(persist_dir: str = None):
# Ensure 'host' variable is correctly set
vsc = VectorSearchClient(workspace_url=host, personal_access_token=os.environ['DATABRICKS_TOKEN'], disable_notice=True)
vs_index = vsc.get_index(endpoint_name=vector_search_endpoint_name, index_name=index_name)
# Create the retriever
vectorstore = DatabricksVectorSearch(vs_index, text_column="content", embedding=embedding_model, columns=["ID", "chunk"])
return vectorstore.as_retriever(search_kwargs={'k': 4})
retriever = get_retriever()
# Define the retrieval chain
retrieve_document_chain = (
itemgetter("messages")
| RunnableLambda(extract_question) # Ensure this function is defined and works correctly
| retriever
)
result = retrieve_document_chain.invoke({"messages": [{"role": "user", "content": question}]})
print(result)
except Exception as e:
print(f"Error occurred: {e}")
Test embeddings: [-0.0070154425, -0.017142845, -0.00357199, -0.028359435, -0.011108347, 0.0031018131, 0.0037850917, -0.017183436, 0.0118728075, -0.041673217, 0.011886338, 0.004170704, -0.0062408345, -0.017684055, 0.0022426415, 0.010871568, 0.032526758, -0.029793642, 0.00078390975, -0.004410866]…
Error occurred: 400 Client Error: Bad Request for url: … Response text: {“error”:“Received error from openai”,“external_model_message”:{“error”:{“message”:“‘$.input’ is invalid. Please check the API reference: https://platform.openai.com/docs/api-reference.",“type”:“invalid_request_error”,“param”:null,"code”:null}}}