Interact with the Databricks Foundation Model API from python
Project description
Databricks Generative AI Inference SDK (Beta)
The Databricks Generative AI Inference Python library provides a user-friendly python interface to use the Databricks Foundation Model API.
It includes a pre-defined set of API classes Embedding
, Completion
, ChatCompletion
with convenient functions to make API request, and to parse contents from raw json response.
We also offer a high level ChatSession
object for easy management of multi-round chat completions, which is especially useful for your next chatbot development.
You can find more usage details in our SDK onboarding doc.
[!IMPORTANT]
We're preparing to release version 1.0 of the Databricks GenerativeAI Inference Python library.
Installation
pip install databricks-genai-inference
Usage
Embedding
from databricks_genai_inference import Embedding
Text embedding
response = Embedding.create(
model="bge-large-en",
input="3D ActionSLAM: wearable person tracking in multi-floor environments")
print(f'embeddings: {response.embeddings[0]}')
Text embedding with instruction
response = Embedding.create(
model="bge-large-en",
instruction="Represent this sentence for searching relevant passages:",
input="3D ActionSLAM: wearable person tracking in multi-floor environments")
print(f'embeddings: {response.embeddings[0]}')
Text embedding (batching)
[!IMPORTANT]
Support max batch size of 16
response = Embedding.create(
model="bge-large-en",
input=[
"3D ActionSLAM: wearable person tracking in multi-floor environments",
"3D ActionSLAM: wearable person tracking in multi-floor environments"])
print(f'response.embeddings[0]: {response.embeddings[0]}\n')
print(f'response.embeddings[1]: {response.embeddings[1]}')
Text embedding with instruction (batching)
[!IMPORTANT]
Support one instruction per batch Batch size
response = Embedding.create(
model="bge-large-en",
instruction="Represent this sentence for searching relevant passages:",
input=[
"3D ActionSLAM: wearable person tracking in multi-floor environments",
"3D ActionSLAM: wearable person tracking in multi-floor environments"])
print(f'response.embeddings[0]: {response.embeddings[0]}\n')
print(f'response.embeddings[1]: {response.embeddings[1]}')
Text completion
from databricks_genai_inference import Completion
Text completion
response = Completion.create(
model="mpt-7b-instruct",
prompt="Represent the Science title:")
print(f'response.text:{response.text:}')
Text completion (streaming)
[!IMPORTANT]
Only support batch size = 1 in streaming mode
response = Completion.create(
model="mpt-7b-instruct",
prompt="Count from 1 to 100:",
stream=True)
print(f'response.text:')
for chunk in response:
print(f'{chunk.text}', end="")
Text completion (batching)
[!IMPORTANT]
Support max batch size of 16
response = Completion.create(
model="mpt-7b-instruct",
prompt=[
"Represent the Science title:",
"Represent the Science title:"])
print(f'response.text[0]:{response.text[0]}')
print(f'response.text[1]:{response.text[1]}')
Chat completion
from databricks_genai_inference import ChatCompletion
[!IMPORTANT]
Batching is not supported forChatCompletion
Chat completion
response = ChatCompletion.create(model="llama-2-70b-chat", messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Knock knock."}])
print(f'response.text:{response.message:}')
Chat completion (streaming)
response = ChatCompletion.create(model="llama-2-70b-chat", messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Count from 1 to 30, add one emoji after each number"}], stream=True)
for chunk in response:
print(f'{chunk.message}', end="")
Chat session
from databricks_genai_inference import ChatSession
[!IMPORTANT]
Streaming mode is not supported forChatSession
chat = ChatSession(model="llama-2-70b-chat")
chat.reply("Kock, kock!")
print(f'chat.last: {chat.last}')
chat.reply("Take a guess!")
print(f'chat.last: {chat.last}')
print(f'chat.history: {chat.history}')
print(f'chat.count: {chat.count}')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for databricks-genai-inference-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 565e29e6f95bfc99ea6c300b4967a5db733788f95d0e8e2f6eaf34c71aaed834 |
|
MD5 | d783635cbfe977a7ec92c0f7640fc9e1 |
|
BLAKE2b-256 | 9654bd5f66e00630c3831301c42310f4f1652778194047ad66e55d100e935cd4 |
Hashes for databricks_genai_inference-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a882bcd9b72bc3bdc6956b75ec2fc458a339b7850755e07c7acaff1dc241a769 |
|
MD5 | 67d1fdfa8d6abdc89ba183a22d61c976 |
|
BLAKE2b-256 | 6e0e4400143986fc143f6c66147d7e8513ff4343679a8b13b8d257d4ed647268 |