Skip to content

chore: Use base64 for encoding files#1965

Merged
marcusschiesser merged 3 commits intomainfrom
ms/use-base64
May 27, 2025
Merged

chore: Use base64 for encoding files#1965
marcusschiesser merged 3 commits intomainfrom
ms/use-base64

Conversation

@marcusschiesser
Copy link
Copy Markdown
Contributor

Use base64 for encoding files that we send to an LLM (audio, video, pdf, etc.) and also for data that we receive from an LLM.

Why?

  1. Anthropic, Google and OpenAI are also only using base64 for both directions
  2. Buffer only works with NodeJS
  3. Uint8Array is an alternative but would require conversion back and forth (see 1.)

We could argue to use Uint8Array | string for data that we are sending, but this would

  1. Complicate the implementation of each of our LLM providers (does it handle the Uint8Array case properly?)
  2. LLM providers don't do it
  3. user can call uint8ArrayToBase64 if needed (in our env package)

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 22, 2025

🦋 Changeset detected

Latest commit: bae84e7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 59 packages
Name Type
@llamaindex/anthropic Patch
@llamaindex/openai Patch
@llamaindex/core Patch
@llamaindex/unit-test Patch
@llamaindex/doc Patch
@llamaindex/clip Patch
@llamaindex/deepinfra Patch
@llamaindex/deepseek Patch
@llamaindex/fireworks Patch
@llamaindex/groq Patch
@llamaindex/huggingface Patch
@llamaindex/jinaai Patch
@llamaindex/perplexity Patch
@llamaindex/together Patch
@llamaindex/vllm Patch
@llamaindex/xai Patch
@llamaindex/azure Patch
@llamaindex/elastic-search Patch
@llamaindex/milvus Patch
@llamaindex/qdrant Patch
@llamaindex/supabase Patch
@llamaindex/llamaindex-test Patch
@llamaindex/cloud Patch
llamaindex Patch
@llamaindex/node-parser Patch
@llamaindex/readers Patch
@llamaindex/tools Patch
@llamaindex/workflow Patch
@llamaindex/assemblyai Patch
@llamaindex/aws Patch
@llamaindex/cohere Patch
@llamaindex/discord Patch
@llamaindex/google Patch
@llamaindex/mistral Patch
@llamaindex/mixedbread Patch
@llamaindex/notion Patch
@llamaindex/ollama Patch
@llamaindex/portkey-ai Patch
@llamaindex/replicate Patch
@llamaindex/vercel Patch
@llamaindex/voyage-ai Patch
@llamaindex/astra Patch
@llamaindex/chroma Patch
@llamaindex/firestore Patch
@llamaindex/mongodb Patch
@llamaindex/pinecone Patch
@llamaindex/postgres Patch
@llamaindex/upstash Patch
@llamaindex/weaviate Patch
@llamaindex/next-node-runtime-test Patch
@llamaindex/llama-parse-browser-test Patch
@llamaindex/cloudflare-worker-agent-test Patch
@llamaindex/next-agent-test Patch
@llamaindex/nextjs-edge-runtime-test Patch
vite-import-llamaindex Patch
@llamaindex/waku-query-engine-test Patch
@llamaindex/autotool Patch
@llamaindex/experimental Patch
@llamaindex/autotool-01-node-example Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 22, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
llamaindex-ts-doc ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 27, 2025 8:48am

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 27, 2025

Open in StackBlitz

@llamaindex/autotool

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/autotool@1965

@llamaindex/cloud

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/cloud@1965

@llamaindex/core

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/core@1965

@llamaindex/env

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/env@1965

@llamaindex/experimental

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/experimental@1965

llamaindex

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/llamaindex@1965

@llamaindex/node-parser

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/node-parser@1965

@llamaindex/readers

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/readers@1965

@llamaindex/tools

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/tools@1965

@llamaindex/wasm-tools

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/wasm-tools@1965

@llamaindex/workflow

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/workflow@1965

@llamaindex/anthropic

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/anthropic@1965

@llamaindex/assemblyai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/assemblyai@1965

@llamaindex/aws

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/aws@1965

@llamaindex/clip

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/clip@1965

@llamaindex/cohere

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/cohere@1965

@llamaindex/deepinfra

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/deepinfra@1965

@llamaindex/deepseek

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/deepseek@1965

@llamaindex/discord

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/discord@1965

@llamaindex/fireworks

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/fireworks@1965

@llamaindex/google

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/google@1965

@llamaindex/groq

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/groq@1965

@llamaindex/huggingface

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/huggingface@1965

@llamaindex/jinaai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/jinaai@1965

@llamaindex/mistral

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/mistral@1965

@llamaindex/mixedbread

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/mixedbread@1965

@llamaindex/notion

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/notion@1965

@llamaindex/ollama

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/ollama@1965

@llamaindex/openai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/openai@1965

@llamaindex/perplexity

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/perplexity@1965

@llamaindex/portkey-ai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/portkey-ai@1965

@llamaindex/replicate

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/replicate@1965

@llamaindex/together

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/together@1965

@llamaindex/vercel

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/vercel@1965

@llamaindex/vllm

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/vllm@1965

@llamaindex/voyage-ai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/voyage-ai@1965

@llamaindex/xai

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/xai@1965

@llamaindex/astra

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/astra@1965

@llamaindex/azure

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/azure@1965

@llamaindex/chroma

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/chroma@1965

@llamaindex/elastic-search

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/elastic-search@1965

@llamaindex/firestore

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/firestore@1965

@llamaindex/milvus

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/milvus@1965

@llamaindex/mongodb

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/mongodb@1965

@llamaindex/pinecone

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/pinecone@1965

@llamaindex/postgres

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/postgres@1965

@llamaindex/qdrant

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/qdrant@1965

@llamaindex/supabase

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/supabase@1965

@llamaindex/upstash

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/upstash@1965

@llamaindex/weaviate

npm i https://pkg.pr.new/run-llama/LlamaIndexTS/@llamaindex/weaviate@1965

commit: bae84e7

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 27, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
dist/LlamaIndexImportTest.js 503.12 KB (0%) 10.1 s (0%) 1.8 s (+15.38% 🔺) 11.9 s

@marcusschiesser marcusschiesser marked this pull request as ready for review May 27, 2025 10:19
@marcusschiesser marcusschiesser merged commit c927457 into main May 27, 2025
25 checks passed
@marcusschiesser marcusschiesser deleted the ms/use-base64 branch May 27, 2025 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant