Это демо-приложение позволяет загружать файлы и искать информацию по ним, а также в интернете, используя OpenAI Agents SDK.
- Управление векторными хранилищами: Создание, выбор и использование хранилищ OpenAI для файлов
- Загрузка файлов: Загружайте файлы для анализа через удобный интерфейс
- Интеграция с OpenAI Agents: Использует новую библиотеку openai-agents для оркестрации нескольких специализированных агентов
- Поиск в интернете: Встроенный инструмент веб-поиска для получения актуальной информации
- Поиск по файлам: Анализ загруженных файлов и поиск релевантной информации
- Observability: Полная интеграция с инструментами наблюдаемости OpenAI
- Чатовый интерфейс: Удобный интерфейс для взаимодействия с агентами
- Клонируйте репозиторий:
git clone https://github.com/yourname/OpenAI-File-Web-Search.git
cd OpenAI-File-Web-Search
- Создайте виртуальное окружение:
python -m venv .venv
- Активируйте виртуальное окружение:
- Windows:
.\.venv\Scripts\activate
- Linux/Mac:
source .venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
- Создайте файл
.env
и добавьте в него ваш API ключ OpenAI:
OPENAI_API_KEY=your_api_key_here
OPENAI_LOG_LEVEL=debug
AGENTS_ENABLE_TRACING=true
- Убедитесь, что виртуальное окружение активировано
- Запустите приложение:
streamlit run app.py
- Откройте браузер и перейдите по адресу: http://localhost:8501
-
Управление хранилищем:
- В боковой панели выберите существующее хранилище или создайте новое
- Нажмите "Использовать выбранное хранилище" или "Создать новое хранилище"
- После выбора хранилища вы увидите список файлов в нем (если они есть)
-
Загрузка файла (необязательно):
- Выберите файл через интерфейс загрузки
- Нажмите кнопку "Загрузить файл"
- Если файл с таким именем уже существует, вы можете выбрать использовать существующий или загрузить новую версию
-
Задавайте вопросы:
- Используйте чатовый интерфейс для формулировки запросов
- Система автоматически ищет в выбранном хранилище
- Результаты из файлов дополняются актуальной информацией из интернета
- Ответ форматируется в виде структурированного отчета с источниками
Приложение использует несколько специализированных агентов:
- QueryAnalyzer: Анализирует запросы пользователя и определяет необходимость уточнений
- FileSearcher: Специализируется на поиске информации в загруженных файлах
- WebSearcher: Выполняет поиск актуальной информации в интернете
- ReportGenerator: Формирует структурированный отчет на основе найденной информации
В боковой панели доступна секция Observability, которая позволяет:
- Включить/выключить отображение логов
- Очистить логи
- Перейти к логам на платформе OpenAI для более подробного анализа
- Посмотреть информацию о текущем хранилище и загруженных файлах
- Python 3.9 или выше
- OpenAI API ключ с доступом к Assistants API и Vector Store API
- openai-agents: для работы с агентами OpenAI
- streamlit: для создания веб-интерфейса
- python-dotenv: для работы с переменными окружения
- openai: официальный клиент OpenAI API