В документации MISTRAL указано, что принимаются текстовые файлы (.txt), а также PDF, DOCX и другие. Действительно, с помощью функции ЧАТ текстовый файл можно отправить до отправки запроса. Используя файловый API Mistral AI, я могу легко загрузить PDF-файл с кодом, показанным ниже. Однако, если я попытаюсь загрузить текстовый файл (тот же, который принял CHAT), я получаю сообщение об ошибке со списком принятых форматов: он не включает «text/plain», в отличие от списка в документации.
Вот мой код:
public async Task UploadFileAsync(string filePath, string purposeTo = "ocr")
{
// 2 lines below are done in the constructor
//_httpClient = new HttpClient();
//_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", myApiKeyMistral);
if (!File.Exists(filePath)) return ($"Erreur, fichier non trouvé: {filePath}");
FileInfo fileInfo = new FileInfo(filePath);
if (fileInfo.Length == 0) return ($"Erreur, fichier vide : {filePath}");
string BaseUrlUpload = _baseUrlMistral + "files"; // in general "https://api.mistral.ai/v1/files"
using var fileStream = File.OpenRead(filePath);
using var fileContent = new StreamContent(fileStream);
string mimeType = GetMimeType(filePath); // "application/pdf" if file is .PDF, text/plain if .txt, etc.
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse(mimeType);
using (var form = new MultipartFormDataContent())
{
form.Add(fileContent, "file", System.IO.Path.GetFileName(filePath)); // "file" NOT "file_name"
form.Add(new StringContent(purposeTo), "purpose");
try
{
var resp = await _httpClient.PostAsync(BaseUrlUpload, form);
if (!resp.IsSuccessStatusCode)
{
// Gérez les erreurs ici
string erreur = await resp.Content.ReadAsStringAsync();
return $"Erreur HTTP : {resp.StatusCode} - {resp.ReasonPhrase} - {erreur}";
}
var json = await resp.Content.ReadAsStringAsync();
using var doc = JsonDocument.Parse(json);
return doc.RootElement.GetProperty("id").GetString();
}
catch (Exception ex)
{
return $"Erreur lors de l'upload du fichier : {ex.Message}";
}
}
}
Здесь ошибка возврата
Unprocessable Entity - {"detail": "Invalid file format.", "message": "Received file with mimetype text/plain, only application/pdf, image/.*, application/vnd.openxmlformats-officedocument.wordprocessingml.document, ... text/troff, text/x-dokuwiki are currently supported"}
Подробнее здесь: https://stackoverflow.com/questions/798 ... api-upload
ЗАГРУЗКА API МИСТРАЛЬ ⇐ C#
Место общения программистов C#
1 сообщение
• Страница 1 из 1
Anonymous
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...