Upload de Arquivos
Nossa API permite o envio de arquivos diretamente pelo endpoint de Chat Completions. Atualmente, os arquivos devem ser enviados em formato Base64.
Abaixo está um exemplo de como enviar um PDF para a API:
import base64
import openai
client = openai.OpenAI(
api_key="YOUR_KEY",
base_url="https://chat.maritaca.ai/api",
)
with open("my_research_proposal.pdf", "rb") as f:
file_content = f.read()
file_content_base64 = base64.b64encode(file_content).decode("utf-8")
messages = [
{
"role": "user",
"content": [
{
"type": "file",
"file": {
"filename": "my_research.pdf",
"file_data": f"data:application/pdf;base64,{file_content_base64}",
},
},
{
"type": "text",
"text": "Qual é o título da pesquisa proposta aqui?",
},
],
}
]
response = client.chat.completions.create(
model="sabia-3.1",
messages=messages,
)
Quando arquivos são enviados, a API extrai o conteúdo textual e o repassa ao modelo. Todo o conteúdo extraído é retornado na resposta e pode ser acessado assim:
extracted_docs = response.extracted_files
for doc in extracted_docs:
print(doc["filename"]) # Nome do arquivo
print(doc["text"]) # Texto extraído
Atualmente, suportamos os seguintes tipos de arquivo:
- DOCX
- TXT
- CSV
- XML
- XLSX
- MD
Extraction effort
Para arquivos PDF, você pode especificar o nível de esforço da extração. Esse parâmetro não afeta outros tipos de arquivo.
Se não for especificado, o nível padrão é medium.
Níveis de extração disponíveis
| Nível | Descrição | Custo por página do PDF |
|---|---|---|
medium | Extração intermediária; ideal para a maioria dos PDFs. | R$ 0,02 |
advanced | Extração avançada; melhor para PDFs complexos e com fórmulas. | R$ 0,045 |
Você pode consultar os preços de extração na nossa plataforma.