Add GPT-5 and Claude Sonnet 4.5 support - 4 AI models total
This commit is contained in:
parent
3932b5b139
commit
4e09d3a320
4 changed files with 198 additions and 22 deletions
|
|
@ -15,9 +15,11 @@ dependencies = [
|
|||
"llama-index-core>=0.12.44",
|
||||
"llama-index-embeddings-openai>=0.3.1",
|
||||
"llama-index-indices-managed-llama-cloud>=0.6.11",
|
||||
"llama-index-llms-anthropic>=0.3.0",
|
||||
"llama-index-llms-gemini>=0.3.0",
|
||||
"llama-index-llms-openai>=0.4.7",
|
||||
"google-generativeai>=0.8.0",
|
||||
"anthropic>=0.40.0",
|
||||
"llama-index-observability-otel>=0.1.1",
|
||||
"llama-index-tools-mcp>=0.2.5",
|
||||
"llama-index-workflows>=1.0.1",
|
||||
|
|
|
|||
|
|
@ -11,15 +11,15 @@ from pydantic import BaseModel
|
|||
load_dotenv()
|
||||
|
||||
|
||||
def get_llm_by_type(model_type: str = 'openai'):
|
||||
def get_llm_by_type(model_type: str = 'gpt5'):
|
||||
"""
|
||||
Get LLM instance based on model type
|
||||
|
||||
Args:
|
||||
model_type: 'openai' or 'gemini'
|
||||
model_type: 'gpt5', 'gpt4', 'claude', or 'gemini'
|
||||
|
||||
Returns:
|
||||
LLM instance (OpenAI or Gemini)
|
||||
LLM instance
|
||||
"""
|
||||
if model_type == 'gemini':
|
||||
from llama_index.llms.gemini import Gemini
|
||||
|
|
@ -33,7 +33,34 @@ def get_llm_by_type(model_type: str = 'openai'):
|
|||
api_key=api_key,
|
||||
temperature=0.7
|
||||
)
|
||||
else: # default to openai
|
||||
|
||||
elif model_type == 'claude':
|
||||
from llama_index.llms.anthropic import Anthropic
|
||||
|
||||
api_key = os.getenv("ANTHROPIC_API_KEY")
|
||||
if not api_key:
|
||||
raise ValueError("ANTHROPIC_API_KEY not found in environment")
|
||||
|
||||
return Anthropic(
|
||||
model="claude-sonnet-4-5",
|
||||
api_key=api_key,
|
||||
temperature=0.7
|
||||
)
|
||||
|
||||
elif model_type == 'gpt5':
|
||||
from llama_index.llms.openai import OpenAI
|
||||
|
||||
api_key = os.getenv("OPENAI_API_KEY")
|
||||
if not api_key:
|
||||
raise ValueError("OPENAI_API_KEY not found in environment")
|
||||
|
||||
return OpenAI(
|
||||
model="gpt-5",
|
||||
api_key=api_key,
|
||||
temperature=0.7
|
||||
)
|
||||
|
||||
else: # gpt4 (legacy)
|
||||
from llama_index.llms.openai import OpenAI
|
||||
|
||||
api_key = os.getenv("OPENAI_API_KEY")
|
||||
|
|
@ -65,8 +92,11 @@ def get_structured_llm(model_type: str, output_class: Type[BaseModel]):
|
|||
def get_model_display_name(model_type: str) -> str:
|
||||
"""Get user-friendly model name"""
|
||||
names = {
|
||||
'openai': 'OpenAI GPT-4',
|
||||
'gemini': 'Google Gemini 2.5 Pro'
|
||||
'gpt5': 'OpenAI GPT-5',
|
||||
'gpt4': 'OpenAI GPT-4',
|
||||
'claude': 'Claude Sonnet 4.5',
|
||||
'gemini': 'Google Gemini 2.5 Pro',
|
||||
'openai': 'OpenAI GPT-4' # Legacy support
|
||||
}
|
||||
return names.get(model_type, 'Unknown Model')
|
||||
|
||||
|
|
@ -74,23 +104,41 @@ def get_model_display_name(model_type: str) -> str:
|
|||
def get_model_emoji(model_type: str) -> str:
|
||||
"""Get emoji for model type"""
|
||||
emojis = {
|
||||
'openai': '🤖',
|
||||
'gemini': '✨'
|
||||
'gpt5': '🚀',
|
||||
'gpt4': '🤖',
|
||||
'claude': '🧠',
|
||||
'gemini': '✨',
|
||||
'openai': '🤖' # Legacy support
|
||||
}
|
||||
return emojis.get(model_type, '🤖')
|
||||
|
||||
|
||||
# Cost estimates per 1M tokens
|
||||
MODEL_COSTS = {
|
||||
'openai': {
|
||||
'gpt5': {
|
||||
'input': 1.25,
|
||||
'output': 10.0,
|
||||
'description': 'GPT-5 - Latest from OpenAI, best for coding and reasoning'
|
||||
},
|
||||
'gpt4': {
|
||||
'input': 30.0,
|
||||
'output': 60.0,
|
||||
'description': 'GPT-4 - Most capable, highest quality'
|
||||
'description': 'GPT-4 - Legacy, highest quality'
|
||||
},
|
||||
'claude': {
|
||||
'input': 3.0,
|
||||
'output': 15.0,
|
||||
'description': 'Claude Sonnet 4.5 - Latest from Anthropic, excellent for analysis'
|
||||
},
|
||||
'gemini': {
|
||||
'input': 1.25, # $1.25 per 1M tokens
|
||||
'output': 5.0, # $5.00 per 1M tokens
|
||||
'description': 'Gemini 2.5 Pro - Latest, most capable, 80% cheaper than GPT-4'
|
||||
'input': 1.25,
|
||||
'output': 5.0,
|
||||
'description': 'Gemini 2.5 Pro - Latest from Google, most cost-effective'
|
||||
},
|
||||
'openai': { # Legacy support
|
||||
'input': 30.0,
|
||||
'output': 60.0,
|
||||
'description': 'GPT-4 - Legacy'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -94,13 +94,30 @@ if st.session_state.get("creating_notebook"):
|
|||
description = st.text_area("Description (optional)", placeholder="What will this notebook contain?")
|
||||
|
||||
st.markdown("### AI Model Selection")
|
||||
|
||||
model_options = {
|
||||
'gpt5': '🚀 GPT-5 (Latest from OpenAI)',
|
||||
'claude': '🧠 Claude Sonnet 4.5 (Latest from Anthropic)',
|
||||
'gemini': '✨ Gemini 2.5 Pro (Most cost-effective)',
|
||||
'gpt4': '🤖 GPT-4 (Legacy)'
|
||||
}
|
||||
|
||||
model_choice = st.selectbox(
|
||||
"Choose AI Model:",
|
||||
options=['openai', 'gemini'],
|
||||
format_func=lambda x: "🤖 OpenAI GPT-4 (Most capable)" if x == 'openai' else "✨ Google Gemini 2.5 Pro (Latest, 80% cheaper)",
|
||||
options=list(model_options.keys()),
|
||||
format_func=lambda x: model_options[x],
|
||||
index=0, # Default to GPT-5
|
||||
help="Model used for chat, synthesis, and podcasts. Can't be changed after creation."
|
||||
)
|
||||
st.caption("💰 OpenAI: $30/1M input, $60/1M output | Gemini 2.5 Pro: $1.25/1M input, $5/1M output")
|
||||
|
||||
# Show pricing
|
||||
costs = {
|
||||
'gpt5': '$1.25 input, $10 output per 1M tokens',
|
||||
'claude': '$3 input, $15 output per 1M tokens',
|
||||
'gemini': '$1.25 input, $5 output per 1M tokens (cheapest!)',
|
||||
'gpt4': '$30 input, $60 output per 1M tokens'
|
||||
}
|
||||
st.caption(f"💰 {costs[model_choice]}")
|
||||
|
||||
st.markdown("### Upload Documents (optional)")
|
||||
uploaded_files = st.file_uploader(
|
||||
|
|
|
|||
121
uv.lock
generated
121
uv.lock
generated
|
|
@ -94,6 +94,34 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anthropic"
|
||||
version = "0.69.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "anyio" },
|
||||
{ name = "distro" },
|
||||
{ name = "docstring-parser" },
|
||||
{ name = "httpx" },
|
||||
{ name = "jiter" },
|
||||
{ name = "pydantic" },
|
||||
{ name = "sniffio" },
|
||||
{ name = "typing-extensions" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/c8/9d/9ad1778b95f15c5b04e7d328c1b5f558f1e893857b7c33cd288c19c0057a/anthropic-0.69.0.tar.gz", hash = "sha256:c604d287f4d73640f40bd2c0f3265a2eb6ce034217ead0608f6b07a8bc5ae5f2", size = 480622, upload-time = "2025-09-29T16:53:45.282Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/9b/38/75129688de5637eb5b383e5f2b1570a5cc3aecafa4de422da8eea4b90a6c/anthropic-0.69.0-py3-none-any.whl", hash = "sha256:1f73193040f33f11e27c2cd6ec25f24fe7c3f193dc1c5cde6b7a08b18a16bcc5", size = 337265, upload-time = "2025-09-29T16:53:43.686Z" },
|
||||
]
|
||||
|
||||
[package.optional-dependencies]
|
||||
bedrock = [
|
||||
{ name = "boto3" },
|
||||
{ name = "botocore" },
|
||||
]
|
||||
vertex = [
|
||||
{ name = "google-auth", extra = ["requests"] },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyio"
|
||||
version = "4.9.0"
|
||||
|
|
@ -179,7 +207,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "banks"
|
||||
version = "2.1.3"
|
||||
version = "2.2.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "deprecated" },
|
||||
|
|
@ -188,9 +216,9 @@ dependencies = [
|
|||
{ name = "platformdirs" },
|
||||
{ name = "pydantic" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/21/5f/08a0c087581726044536e198c011742ccb9ced6061575f1ed00c034e6443/banks-2.1.3.tar.gz", hash = "sha256:c0dd2cb0c5487274a513a552827e6a8ddbd0ab1a1b967f177e71a6e4748a3ed2", size = 177311, upload-time = "2025-06-27T07:12:04.582Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/7d/f8/25ef24814f77f3fd7f0fd3bd1ef3749e38a9dbd23502fbb53034de49900c/banks-2.2.0.tar.gz", hash = "sha256:d1446280ce6e00301e3e952dd754fd8cee23ff277d29ed160994a84d0d7ffe62", size = 179052, upload-time = "2025-07-18T16:28:26.892Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/fe/27/a30c24a74cc4f3969f3e0d184da149fa6327620c7c72333ccc3a8e3e1095/banks-2.1.3-py3-none-any.whl", hash = "sha256:9e1217dc977e6dd1ce42c5ff48e9bcaf238d788c81b42deb6a555615ffcffbab", size = 28133, upload-time = "2025-06-27T07:12:05.986Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/b4/d6/f9168956276934162ec8d48232f9920f2985ee45aa7602e3c6b4bc203613/banks-2.2.0-py3-none-any.whl", hash = "sha256:963cd5c85a587b122abde4f4064078def35c50c688c1b9d36f43c92503854e7d", size = 29244, upload-time = "2025-07-18T16:28:27.835Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -268,6 +296,34 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458, upload-time = "2024-11-08T17:25:46.184Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "boto3"
|
||||
version = "1.40.43"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "botocore" },
|
||||
{ name = "jmespath" },
|
||||
{ name = "s3transfer" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/1e/43/0ef93cd27a8e753e66d93d7b94f686315384ab6cd63f065a14a4a6c9ee20/boto3-1.40.43.tar.gz", hash = "sha256:9ad9190672ce8736898bec2d94875aea6ae1ead2ac6d158e01d820f3ff9c23e0", size = 111552, upload-time = "2025-10-01T19:38:26.089Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/f5/86/377e2b9aeddfdb7468223c7b48e29a1697b86c200c44916ddfb8dae05a68/boto3-1.40.43-py3-none-any.whl", hash = "sha256:c5d64ba2fb2d90c33c3969f3751869c45746d5efb5136e4cc619e3630ece89a3", size = 139344, upload-time = "2025-10-01T19:38:25Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "botocore"
|
||||
version = "1.40.43"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "jmespath" },
|
||||
{ name = "python-dateutil" },
|
||||
{ name = "urllib3" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/49/d0/3888673417202262ddd7e6361cab8e01ee2705e39643af8445e2eb276eab/botocore-1.40.43.tar.gz", hash = "sha256:d87412dc1ea785df156f412627d3417c9f9eb45601fd0846d8fe96fe3c78b630", size = 14389164, upload-time = "2025-10-01T19:38:16.06Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/79/46/2eb4802e15e38befbea6cab7dafa1ab796722ab6f0833991c2a05e9f8ef0/botocore-1.40.43-py3-none-any.whl", hash = "sha256:1639f38999fc0cf42c92c5c83c5fbe189a4857a86f55b842be868e3283c6d3bb", size = 14057986, upload-time = "2025-10-01T19:38:13.714Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cachetools"
|
||||
version = "6.1.0"
|
||||
|
|
@ -456,6 +512,15 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "docstring-parser"
|
||||
version = "0.17.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442, upload-time = "2025-07-21T07:35:01.868Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "elevenlabs"
|
||||
version = "2.5.0"
|
||||
|
|
@ -677,6 +742,11 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/be/a4/7319a2a8add4cc352be9e3efeff5e2aacee917c85ca2fa1647e29089983c/google_auth-2.41.1-py2.py3-none-any.whl", hash = "sha256:754843be95575b9a19c604a848a41be03f7f2afd8c019f716dc1f51ee41c639d", size = 221302, upload-time = "2025-09-30T22:51:24.212Z" },
|
||||
]
|
||||
|
||||
[package.optional-dependencies]
|
||||
requests = [
|
||||
{ name = "requests" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "google-auth-httplib2"
|
||||
version = "0.2.0"
|
||||
|
|
@ -991,6 +1061,15 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jmespath"
|
||||
version = "1.0.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "joblib"
|
||||
version = "1.5.1"
|
||||
|
|
@ -1070,7 +1149,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "llama-index-core"
|
||||
version = "0.12.44"
|
||||
version = "0.12.52.post1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "aiohttp" },
|
||||
|
|
@ -1088,6 +1167,7 @@ dependencies = [
|
|||
{ name = "nltk" },
|
||||
{ name = "numpy" },
|
||||
{ name = "pillow" },
|
||||
{ name = "platformdirs" },
|
||||
{ name = "pydantic" },
|
||||
{ name = "pyyaml" },
|
||||
{ name = "requests" },
|
||||
|
|
@ -1100,9 +1180,9 @@ dependencies = [
|
|||
{ name = "typing-inspect" },
|
||||
{ name = "wrapt" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/26/03/d57a98f5b3d2e8ebb39bb4dd51a2472e42201d00e82429ae06e02e141158/llama_index_core-0.12.44.tar.gz", hash = "sha256:d2fdbbd2bcb0dd289f3df305874dbc0d7532f39c3d725ca6d937c6fa18a8d249", size = 7272062, upload-time = "2025-06-26T04:30:02.573Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/9e/3b/3937a1756a02e549a776272371dd6ec3a4541833b2dbb8ef58e61167f9c9/llama_index_core-0.12.52.post1.tar.gz", hash = "sha256:ac6f447271e5ac4c12e1901373ec4b5ac7814ea33bd1ad3c3c8e9ac9771834ab", size = 7279221, upload-time = "2025-07-23T17:32:33.961Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/1d/3f/44fbaca608c2e2116cd9d624f7b836624a6c5dc4bf4608d25918a6cd065b/llama_index_core-0.12.44-py3-none-any.whl", hash = "sha256:12ac30adb1f46768bac4d07d363cf16ae0b032cfb9da861791f13415fc4f1f12", size = 7641712, upload-time = "2025-06-26T04:29:56.544Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/51/48/8f6ea9f2a2f5a080166f0a45a252609df32cc1ad626836aaad2424e2c7ec/llama_index_core-0.12.52.post1-py3-none-any.whl", hash = "sha256:3e28d65d238bad8ec5ce372659ae0a3878851c6ba9c9447d6ddb4de138694b1f", size = 7649855, upload-time = "2025-07-23T17:32:28.271Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1144,6 +1224,19 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/96/b5/24ad1cf25b8c35b2075cfdd8c12d0f8390b7cfd54122ed704097bd755a2f/llama_index_instrumentation-0.2.0-py3-none-any.whl", hash = "sha256:1055ae7a3d19666671a8f1a62d08c90472552d9fcec7e84e6919b2acc92af605", size = 14966, upload-time = "2025-06-20T15:50:04.381Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "llama-index-llms-anthropic"
|
||||
version = "0.7.6"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "anthropic", extra = ["bedrock", "vertex"] },
|
||||
{ name = "llama-index-core" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/2e/c2/446750915036a3b3af9ae561835d74ccfe7ed95d40d43857aeb5feef1596/llama_index_llms_anthropic-0.7.6.tar.gz", hash = "sha256:485795686163aa662f20221a55558f34008997d7c280ec38b725c837fef8d0dd", size = 12838, upload-time = "2025-07-03T17:18:23.793Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/2c/6e/5db1ba14021bbd8982b3a551e251812ec6977dc2f14e9059fef5e527b040/llama_index_llms_anthropic-0.7.6-py3-none-any.whl", hash = "sha256:2c2b434e0dc36a1682857b87fc2688804a90b31b582bd9b34bb3ac5a675456a9", size = 13009, upload-time = "2025-07-03T17:18:22.988Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "llama-index-llms-gemini"
|
||||
version = "0.5.0"
|
||||
|
|
@ -1437,6 +1530,7 @@ name = "notebookllama"
|
|||
version = "0.2.0.post1"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "anthropic" },
|
||||
{ name = "audioop-lts" },
|
||||
{ name = "bcrypt" },
|
||||
{ name = "elevenlabs" },
|
||||
|
|
@ -1448,6 +1542,7 @@ dependencies = [
|
|||
{ name = "llama-index-core" },
|
||||
{ name = "llama-index-embeddings-openai" },
|
||||
{ name = "llama-index-indices-managed-llama-cloud" },
|
||||
{ name = "llama-index-llms-anthropic" },
|
||||
{ name = "llama-index-llms-gemini" },
|
||||
{ name = "llama-index-llms-openai" },
|
||||
{ name = "llama-index-observability-otel" },
|
||||
|
|
@ -1469,6 +1564,7 @@ dependencies = [
|
|||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "anthropic", specifier = ">=0.40.0" },
|
||||
{ name = "audioop-lts", specifier = ">=0.2.1" },
|
||||
{ name = "bcrypt", specifier = ">=4.0.1" },
|
||||
{ name = "elevenlabs", specifier = ">=2.5.0" },
|
||||
|
|
@ -1480,6 +1576,7 @@ requires-dist = [
|
|||
{ name = "llama-index-core", specifier = ">=0.12.44" },
|
||||
{ name = "llama-index-embeddings-openai", specifier = ">=0.3.1" },
|
||||
{ name = "llama-index-indices-managed-llama-cloud", specifier = ">=0.6.11" },
|
||||
{ name = "llama-index-llms-anthropic", specifier = ">=0.3.0" },
|
||||
{ name = "llama-index-llms-gemini", specifier = ">=0.3.0" },
|
||||
{ name = "llama-index-llms-openai", specifier = ">=0.4.7" },
|
||||
{ name = "llama-index-observability-otel", specifier = ">=0.1.1" },
|
||||
|
|
@ -2252,6 +2349,18 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload-time = "2025-04-16T09:51:17.142Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "s3transfer"
|
||||
version = "0.14.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "botocore" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "setuptools"
|
||||
version = "80.9.0"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue