Я развернул модель LLM на блоках данных Azure. Я могу получить к нему доступ через API блоков данных:
Https://adb-17272728282828282.1.azuredatabricks.net/serving-endpoints/my-code-llama/invocations
Я знаю, что langchain напрямую поддерживает Databricks, но можно ли сказать, что оберните кластер databricks в оболочку mlflow/openai или что-то в этом роде, чтобы я мог использовать его в langchain следующим образом:
Llm = ChatOpenAI(
openai_api_base = "http://my-url/API"
openai_api_key = "7282"
model_name= "my-code-llama"
max_tokens =1000,
streaming=True,
callbacks= [StreamingStdOutCallbackHandler()]
)
Пытаюсь сделать это, поскольку существует множество ограничений, если я просто использую оболочку langchain Databricks напрямую. Я совсем новичок, поэтому поддержка была бы очень кстати!
Вы можете использовать блоки данных, обслуживающие конечную точку, непосредственно в ChatOpenAI. Вы это пробовали?
Потоковая передача @JayashankarGS, например, не поддерживается, когда я использую оболочку langchain Databricks. Как использовать конечную точку Databricks с ChatOpenAI? Это выдало мне ошибки, в которых говорилось, что конечная точка не найдена. У вас есть пример кода?
Я предоставил решение. пожалуйста, проверьте это
Вы можете использовать потоковую передачу в оболочке langchain databricks. Попробуйте это chunks = [] llm = Databricks(endpoint_name = "databricks-mpt-7b-instruct") async for chunk in llm.astream("hello. tell me something about yourself"): chunks.append(chunk) print(chunk, end = "|", flush=True)





Ниже приведены требования для упаковки конечной точки обслуживания модели в Databricks:
Установите последнюю версию langchain в библиотеке кластера и перезапустите кластер.

Используйте код ниже.
from langchain.llms import Databricks
llm = Databricks(endpoint_name = "databricks-mpt-7b-instruct")
llm("How are you?")
Выход:

Если вы хотите использовать эту конечную точку непосредственно в langchain, попробуйте код ниже.
Установите langchain-openai, как показано выше.
Примечание. Обязательно используйте модель правильного типа задачи. Ниже я использовал модель (databricks-llama-2-70b-chat) для задачи chat.
from langchain_openai import ChatOpenAI, OpenAI
from langchain.callbacks import StreamingStdOutCallbackHandler
chat_llm = ChatOpenAI(
openai_api_base = "https://<xxxxxx>.azuredatabricks.net/serving-endpoints",
openai_api_key = "dapi-xxxxx",
model_name= "databricks-llama-2-70b-chat",
max_tokens =1000,
streaming=True,
callbacks= [StreamingStdOutCallbackHandler()]
)
chat_llm.invoke("What is mlflow?")
Выход:

Если вы хотите обслуживать это в пользовательской конечной точке, вам нужно использовать langserve при развертывании в облаке.
Дополнительную информацию можно найти в этой документации.
У меня есть базовая модель, работающая на вкладке «Обслуживание», и у меня есть URL-адрес. Вы упомянули о загрузке langchain на вкладке «Вычисления». Как это связано с моделью? Мне не нужно было прикасаться к вкладке вычислений, когда я обслуживал базовую модель.
Я попросил установить langchain на вкладке «Библиотеки» в разделе «Конфигурация вычислений», которая необходима для кода.
Пакеты по умолчанию в среде выполнения блоков данных могут быть не последней версией, поэтому я попросил их установить.
Вы также можете использовать этот код локально с последними пакетами langchain, но вам необходимо настроить конечную точку и ключ env vars.
с какими ограничениями вы сталкиваетесь в оболочке langchain Databricks. Добавьте более подробную информацию о вашей ошибке и ограничениях.