-
Notifications
You must be signed in to change notification settings - Fork 869
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dev -> main #716
base: main
Are you sure you want to change the base?
dev -> main #716
Conversation
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Implement `ToolCallStep` and fix transition logic after `PromptStep` in workflow execution. > > - **ToolCallStep Implementation**: > - Implements `tool_call_step()` in `tool_call_step.py` to handle tool calls, including generating a call ID and validating tool names. > - Updates `STEP_TO_ACTIVITY` in `task_execution/__init__.py` to map `ToolCallStep` to `tool_call_step()`. > - **PromptStep Transition Fix**: > - Updates transition logic in `task_execution/__init__.py` to handle tool calls after a `PromptStep`. > - Removes unused code related to tool calls in `PromptStep` handling. > - **State Machine Update**: > - Updates `valid_transitions` in `tasks.py` to allow 'wait' to 'step' transition. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 5ab9e3a. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN -->
Co-authored-by: Julep Developers <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > This PR updates the handling of integrations and systems by adding new models, updating workflows, and modifying session options, along with dependency updates and a migration script. > > - **Behavior**: > - Adds `execute_integration` function in `execute_integration.py` to handle integration tool calls. > - Updates `prompt_step.py` to handle unwrapping of prompt responses and tool call results. > - Modifies `tool_call_step.py` to handle tool calls using `Tool` model. > - **Models**: > - Adds `IntegrationDef` and `SystemDef` models in `Tools.py`. > - Updates `CreateToolRequest`, `PatchToolRequest`, `UpdateToolRequest`, and `Tool` to use `IntegrationDef` and `SystemDef`. > - Adds `forward_tool_results` option to session models in `Sessions.py`. > - **Workflow**: > - Updates `TaskExecutionWorkflow` in `task_execution/__init__.py` to handle integration tool calls. > - **Dependencies**: > - Updates `@typespec/*` dependencies in `package.json` to version `0.60.x`. > - **Migration**: > - Adds migration script `migrate_1727235852_add_forward_tool_calls_option.py` to add `forward_tool_calls` option to sessions. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for a49aa12. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]>
Introduces a new integration service with FastAPI, Docker setup, and support for multiple integrations like DALL-E and Wikipedia. - Integration Service: + Adds integrations-service with Docker setup in docker-compose.yml and Dockerfile. + FastAPI application in web.py with routers for execution and integration management. - Models: + Defines models for DalleImageGenerator, DuckDuckGoSearch, HackerNews, Weather, and Wikipedia in models directory. + IntegrationExecutionRequest and IntegrationExecutionResponse for handling execution requests. - Utilities: + Implements execute_integration in execute_integration.py to handle integration execution logic. + Integration utilities for DALL-E, DuckDuckGo, Hacker News, Weather, and Wikipedia in utils/integrations. - Configuration: + Adds pyproject.toml for dependency management with Poetry. + Adds pytype.toml for type checking configuration.
#521) - **fix(typespec,agents-api): Rename integration providers** - **feat(agents-api,integrations): Working integrations for tool-call step** <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Add integration service handling for tool-call steps in agents API, including provider renames and workflow updates. > > - **Integrations**: > - Implement `run_integration_service` in `clients/integrations.py` to handle integration service calls. > - Update `execute_integration` in `activities/execute_integration.py` to use `run_integration_service` for non-dummy providers. > - Add `INTEGRATION_SERVICE_URL` to `.env.example`, `env.py`, and `docker-compose.yml`. > - **Renames**: > - Rename integration providers in `Tools.py` and `scalars.tsp` (e.g., `dall-e` to `dalle_image_generator`). > - **Workflows**: > - Update `task_execution/__init__.py` to handle integration tool calls using `execute_integration`. > - **Tests**: > - Add `integration_example.yaml` for sample tasks. > - Add tests for integration tool calls in `test_execution_workflow.py`. > - Add `patch_integration_service` in `utils.py` for mocking integration service calls. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for f13f8dd. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]>
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Removes unnecessary transition call in `WaitForInputStep` case in `TaskExecutionWorkflow.run()` and updates tests accordingly. > > - **Behavior**: > - Removes `await transition(context, type="wait", output=output)` from `WaitForInputStep` case in `run()` in `__init__.py`. > - **Tests**: > - Updates `test_execution_workflow.py` to ensure workflow behaves correctly without the removed transition call. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 6600cee. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN -->
…d Upgrade to python 3.12 (#525) Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Upgrade to Python 3.12 and add support for reading setup arguments from metadata in `agents-api`. > > - **Python Version Upgrade**: > - Upgrade Python to 3.12 in `.tool-versions`, `Dockerfile`, `Dockerfile.worker`, `pyproject.toml`, and `pytype.toml`. > - **Setup Arguments from Metadata**: > - `execute_integration()` in `execute_integration.py` now reads setup arguments from metadata. > - `get_tool_args_from_metadata()` in `get_tool_args_from_metadata.py` updated to handle `arg_type` for "args" and "setup". > - **CI and Documentation**: > - Delete `generate-docs.yml` workflow. > - Update `lint-and-format.yml` to focus on `agents-api` and use Python 3.12. > - Update `pytype` version in `pyproject.toml`. > - Change `x-tool-parameters` to `x-integration-args` in `julep-concepts.md`. > - Adjust backup schedule in `docker-compose.yml` from 1h to 3h. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for b1c0615. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]>
Introduce Docker Bake for building and pushing images with updated GitHub Actions workflows and Dockerfiles. - **GitHub Actions Workflows**: - Add `.github/workflows/dev-push-to-hub.yml` and `.github/workflows/main-push-to-hub.yml` for building and pushing images on `dev` and `main` branch merges. - Remove `push-to-hub.yml` workflow. - **Docker Build System**: - Introduce `docker-bake.hcl` for defining Docker build targets and configurations. - Update Dockerfiles in `agents-api`, `agents-api.worker`, `agents-api.migration` to use Docker Bake. - **Documentation**: - Update `CONTRIBUTING.md` with instructions for building Docker images using Docker Bake. - **Miscellaneous**: - Add submodules for `sdks/node-sdk` and `sdks/python-sdk`.
- **GitHub Actions**: - Add `docker-bake-on-pr.yml` for baking images on pull requests. - Rename `dev-push-to-hub.yml` to `bake-push-to-hub.yml` and `main-push-to-hub.yml` to `latest-push-to-hub.yml`. - Update `bake-push-to-hub.yml` and `latest-push-to-hub.yml` to use `docker/bake-action@v5` and remove branch name and git sha setting steps.
Update GitHub Actions workflow to generate changelog from release notes on release event. - **Workflow Changes**: - Renames workflow from `Changelog CI` to `Changelog on release` in `.github/workflows/changelog-ci.yml`. - Changes trigger from `pull_request` to `release` with type `published`. - **Actions**: - Updates `actions/checkout` from `v2` to `v4` with `fetch-depth: 0` and `ref: dev`. - Replaces `saadmk11/[email protected]` with `rhysd/changelog-from-release/action@v3` to generate changelog from release notes.
Co-authored-by: creatorrr <[email protected]>
Enhance workflows to bake images on release and generate changelogs from release notes. - **Workflows**: - Update `.github/workflows/bake-push-to-hub.yml` to trigger on `release` events in addition to `push` to `dev` and tags `v*`. - Update `.github/workflows/changelog-ci.yml` to trigger on `release` events and generate changelog from release notes using `rhysd/changelog-from-release/action@v3`.
Co-authored-by: creatorrr <[email protected]>
- **Workflow Addition**: - Adds `bandit-security-check-python-agents-api.yml` to `.github/workflows/`. - Triggers on pull requests to the `main` branch. - **Security Check**: - Uses `mdegis/[email protected]` to check Python code in `./agents-api/agents_api`. - Configured with `level: high` and `confidence: high`. - `exit_zero: true` allows workflow to pass even if issues are found.
- **Workflow Configuration**: - Adds `dev` branch to trigger `bandit-security-check-python-agents-api.yml` workflow. - Updates Bandit action version from `v1.1` to `v1.0.1` in the workflow.
…ons service (#540) Add new integrations for Brave, BrowserBase, and Spider, and refactor the integration service to support these changes. - **Integrations**: - Add new providers: `brave`, `browserbase`, and `spider` in `providers.py`. - Refactor existing providers: `wikipedia`, `weather`, `hacker_news`. - **Models**: - Add `BraveSearchSetup`, `BraveSearchArguments`, `BraveSearchOutput` in `brave.py`. - Add `BrowserBaseSetup`, `BrowserBaseLoadArguments`, `BrowserBaseLoadOutput` in `browserbase.py`. - Add `SpiderSetup`, `SpiderFetchArguments`, `SpiderFetchOutput` in `spider.py`. - Update `ExecutionRequest`, `ExecutionResponse` in `execution.py` to include new providers. - **Routers**: - Add `get_integration` in `get_integration.py`. - Add `get_integration_tool` in `get_integration_tool.py`. - Update `execute` in `execute.py` to handle new providers and methods. - **Utilities**: - Refactor `execute_integration` in `execute_integration.py` to dynamically load and execute provider methods. - Add integration logic for new providers in `integrations/utils/integrations/`. - **Misc**: - Update `pyproject.toml` to include new dependencies: `spider-client`, `browserbase`. - Update `scalars.tsp` and `models.tsp` to include new integration providers.
Updated the main image 1-line description
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Improves task execution updates by encoding task tokens with metadata and enhancing error handling in `raise_complete_async.py` and `update_execution.py`. > > - **Behavior**: > - In `raise_complete_async.py`, task tokens are now base64 encoded and include metadata with activity, run, and workflow IDs. > - In `update_execution.py`, added error handling for stopping and resuming executions, using metadata for async activity handle retrieval. > - **Database Queries**: > - In `get_paused_execution_token.py`, query updated to include `metadata` and sort by `created_at` with a limit of 1. > - **Error Handling**: > - Added try-except blocks in `update_execution.py` to handle exceptions when stopping or resuming executions. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for f3de527. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: Diwank Singh Tomer <[email protected]>
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Fixes `name` attribute in `get_job_status` in `routers.py` and updates string encoding and exception syntax in other files. > > - **Behavior**: > - Fixes `name` attribute in `get_job_status` function in `routers.py` to use `job_description.workflow_type` instead of `handle.id`. > - **Formatting**: > - Adjusts string encoding in `raise_complete_async.py` and `update_execution.py` to use double quotes for `ascii`. > - Updates exception raising syntax in `update_execution.py` for consistency. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for bfc8490. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN -->
…RIBUTING.md file (#543) Added temporal payload decoding route, updated setup instructions in `CONTRIBUTING.md`, and modified Docker and FastAPI configurations. - **New Features**: - Added `/temporal/decode` route in `router.py` for decoding temporal payloads using `PydanticEncodingPayloadConverter`. - **Documentation**: - Updated `CONTRIBUTING.md` with setup instructions, including environment setup, Docker volume creation, and running the project in single or multi-tenant mode. - **Configuration**: - Added `internal.router` to `web.py` to include the new internal routes. - Updated `docker-compose.yml` to expose port `8080` for `agents-api` and `agents-api-multi-tenant` services.
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Add `README.md` to `cookbooks` with Jupyter notebook overview and Colab links. > > - **Documentation**: > - Adds `README.md` to `cookbooks` directory. > - Provides an overview of Jupyter notebooks for AI tasks. > - Includes Colab links for each notebook: `01-Website_Crawler_using_Spider.ipynb`, `02-Sarcastic_News_Headline_Generator.ipynb`, `03-SmartResearcher_With_WebSearch.ipynb`, `04-TripPlanner_With_Weather_And_WikiInfo.ipynb`. > - Contact information and contribution guidelines included. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for a1ad58e. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
…pressions in task creation | Add validation for subworkflows (#570) Closes #535 <!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Add static validation for Python expressions and Jinja templates in task creation and validate subworkflows in `openapi_model.py` and `steps.tsp`. > > - **Validation**: > - Add `validate_python_expression()` and `validate_jinja_template()` in `openapi_model.py`. > - Integrate validation into `EvaluateStep`, `ToolCallStep`, `PromptStep`, `SetStep`, `LogStep`, `ReturnStep`, `YieldStep`, `IfElseWorkflowStep`, and `MapReduceStep` in `openapi_model.py`. > - **Models**: > - Update `CreateTaskRequest` in `openapi_model.py` to validate subworkflows using `WorkflowType`. > - Add `YieldStep` to `MappableWorkflowStep` and `NonConditionalWorkflowStep` in `steps.tsp`. > - **Misc**: > - Reorder `YieldStep` in `Tasks.py` to maintain consistency. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 9952ad5. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Adds detailed code reading and contributing instructions to `CONTRIBUTING.md`, covering project architecture, setup, and contribution guidelines. > > - **Documentation**: > - Adds detailed code reading instructions to `CONTRIBUTING.md`. > - Includes sections on project overview, system architecture, API specifications, core API implementation, database and storage, workflow management, testing, and additional services. > - Provides a step-by-step guide for setting up the development environment and contributing to the project. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 4bb3e8c. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]>
…573) Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Refactor validation logic using monkeypatching and add new models and custom types in `openapi_model.py`. > > - **Validation Refactor**: > - Switch from subclassing to monkeypatching for validation functions in `EvaluateStep`, `ToolCallStep`, `PromptStep`, `SetStep`, `LogStep`, `ReturnStep`, `YieldStep`, `IfElseWorkflowStep`, and `MapReduceStep`. > - Add validators for Python expressions and Jinja templates. > - **Model Changes**: > - Add `CreateTransitionRequest` and `CreateEntryRequest` classes. > - Define custom types `ChatMLContent`, `ChatMLRole`, `ChatMLSource`, `ExecutionStatus`, and `TransitionType`. > - **Misc**: > - Allow extra fields in `CreateTaskRequest`, `PatchTaskRequest`, and `UpdateTaskRequest` using `ConfigDict`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 8c03d93. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> Signed-off-by: Diwank Singh Tomer <[email protected]>
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Add Prometheus metrics tracking to various API functions using a new `increase_counter` decorator. > > - **Metrics**: > - Add `increase_counter` decorator in `counters.py` to increment Prometheus counters for function calls. > - Apply `increase_counter` to multiple functions across various models, including `create_agent`, `create_or_update_agent`, `patch_agent`, `update_agent`, `create_doc`, `create_entries`, `create_execution`, `create_execution_transition`, `create_temporal_lookup`, `update_execution`, `create_or_update_session`, `create_session`, `update_session`, `create_or_update_task`, `create_task`, `patch_task`, `update_task`, `create_tools`, `patch_tool`, `update_tool`, `create_or_update_user`, `create_user`, `patch_user`, `update_user`. > - **Dependencies**: > - Add `prometheus-client` to `pyproject.toml` for metrics tracking. > - **Misc**: > - Add `total_tokens_per_user` counter in `metrics.py` to track token usage per user in `chat.py`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for fe315d7. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: Diwank Singh Tomer <[email protected]> Co-authored-by: creatorrr <[email protected]>
### Description: This pull request introduces a Personal Finance Tracker agent designed to help users manage their expenses and budget effectively. The main features include: 1. **Logging Expenses**: Users can log their expenses with details such as amount, category, and description. 2. **Setting Budgets**: Users can set budget limits for specific categories to help manage their spending. 3. **Sending Financial Advice**: The agent can send tailored financial advice to users via email. #### Key Components: - **Agent Creation**: A `Personal Finance Tracker` agent is instantiated using a unique UUID. - **Task Definitions**: Three main tasks are defined in YAML: - **Log Expense**: Captures user expenses. - **Set Budget**: Allows users to establish budget limits for categories. - **Send Financial Advice**: Sends financial advice to a specified email address. - **Execution Functions**: Functions to execute each task, providing feedback to the user about the status of their actions. <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Introduces a Personal Finance Tracker agent with tasks for logging expenses, setting budgets, and sending financial advice, and updates README with a Julep vs. LangChain comparison. > > - **Agent and Tasks**: > - Introduces `Personal Finance Tracker` agent in `cookbooks/15_personal_finance_tracker.py`. > - Defines tasks: `Log Expense`, `Set Budget`, and `Send Financial Advice` using YAML schemas. > - **Execution Functions**: > - Adds `log_expense()`, `set_budget()`, and `send_financial_advice()` functions to execute tasks and provide user feedback. > - **Documentation**: > - Updates `README.md` with a new section "Why Julep vs. LangChain?" comparing use cases and form factors. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 10d7e9d. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: Mayank8881 <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
… execution (#682) <!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Add `alpha` parameter to hybrid search in `execute_system()` with default value 0.75 and adjust `confidence` default to 0.5. > > - **Behavior**: > - Add `alpha` parameter to `HybridDocSearchRequest` in `execute_system()` for hybrid search when both `text` and `vector` are present. > - Default `alpha` value set to 0.75. > - Change default `confidence` value from 0.7 to 0.5 in hybrid search context. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for e67b64c. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: HamadaSalhab <[email protected]>
- **feat(agents-api): Tweak the proximity indices** - **feat(agents-api): Tweak queries for search** <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Enhances search functionality by adding NLP-based query generation, adjusting search parameters, and updating database indices in the `agents-api`. > > - **NLP Module**: > - Added `nlp.py` for keyword extraction and query building using spaCy. > - Functions include `extract_keywords()`, `find_proximity_groups()`, and `text_to_custom_query()`. > - **Search Functionality**: > - Updated `search_docs_by_embedding()` in `search_docs_by_embedding.py` to adjust `confidence` to 0.5 and `ef` to 32. > - Modified `search_docs_by_text()` in `search_docs_by_text.py` to use `paragraph_to_custom_queries()` for query generation. > - **Database Indices**: > - Migration `migrate_1729114011_tweak_proximity_indices.py` updates LSH and FTS indices for better proximity handling. > - **Dependencies**: > - Added `spacy`, `en-core-web-sm`, and `msgpack` to `pyproject.toml`. > - Adjusted `numpy` version constraint in `pyproject.toml`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 3018c6e. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: creatorrr <[email protected]>
Closes #678 Closes #679 Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > This PR introduces remote data handling in the agents API to prevent Temporal from running out of history size by storing large inputs and outputs in a blob store. > > - **Activities**: > - Add `save_inputs_remote_fn` and `load_inputs_remote_fn` in `sync_items_remote.py` to handle large inputs by storing them in a blob store. > - Define `save_inputs_remote` and `load_inputs_remote` as activities. > - **Remote Handling**: > - Introduce `RemoteObject`, `BaseRemoteModel`, and `RemoteList` in `remote.py` to manage remote data storage and retrieval. > - Modify `StepContext` in `tasks.py` to use `RemoteObject` for `execution_input` and `inputs`. > - **Storage**: > - Implement `store_in_blob_store_if_large` and `load_from_blob_store_if_remote` in `storage_handler.py` to manage large data. > - Add `auto_blob_store_workflow` decorator for workflows to handle remote data. > - **Workflows**: > - Update `TaskExecutionWorkflow` in `task_execution/__init__.py` to use remote activities for input/output handling. > - Modify helper functions in `task_execution/helpers.py` to support remote data handling. > - **Configuration**: > - Change `blob_store_cutoff_kb` in `env.py` and `docker-compose.yml` to 64KB and 128KB respectively for better data management. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for f7879d3. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> Signed-off-by: Diwank Singh Tomer <[email protected]>
<!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Add system dependencies in `Dockerfile` and `Dockerfile.worker` to support building Python packages with native extensions. > > - **Dependencies**: > - Install `gcc`, `g++`, and development libraries in `Dockerfile` and `Dockerfile.worker` to support building Python packages with native extensions. > - Libraries include `libssl-dev`, `libffi-dev`, `libbz2-dev`, among others. > - **Dockerfiles**: > - Update `Dockerfile` and `Dockerfile.worker` to include new dependencies. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 4007541. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: vedantsahai18 <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Add `clean` option to `extract_keywords` and filter empty queries in `nlp.py`; update imports and defaults in `utils.py`. > > - **Behavior**: > - Add `clean` parameter to `extract_keywords()` in `nlp.py` to optionally strip non-alphanumeric characters. > - Filter out empty queries in `paragraph_to_custom_queries()` in `nlp.py`. > - **Imports**: > - Add `debug` to imports in `utils.py`. > - **Function Defaults**: > - Change default `only_on_error` to `True` in `cozo_query()` in `utils.py`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for ca38891. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> Signed-off-by: Diwank Singh Tomer <[email protected]>
While reviewing the codebase, I noticed this bug in Jinja template. <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Fixes Jinja template bug by replacing `agent.name` with `agent.about` in relevant files. > > - **Bug Fix**: > - Corrects Jinja template variable from `agent.name` to `agent.about` in `default_system_template.md`, `julep-concepts.md`, and `constants.tsp`. > - Ensures `agent.about` is correctly displayed in templates when available. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 463a0e6. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN -->
Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Fixes remote blob store loading in `transition_step` and JSON serialization in `create_execution_transition`. > > - **Behavior**: > - `transition_step` in `transition_step.py` now loads output from blob store if remote using `load_from_blob_store_if_remote()`. > - `create_execution_transition` in `create_execution_transition.py` serializes `data.output` to JSON if it has `model_dump`. > - **Code Cleanup**: > - Removed redundant `model_dump` function in `task_execution/__init__.py`. > - **Misc**: > - Added `notebooks/Untitled*.ipynb` to `.gitignore`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 6ea7aa0. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: creatorrr <[email protected]>
- **fix(agents-api): Fix tests related to docs** - **fix(agents-api): Fix tests related to executions** - **fix(agents-api): All tests pass (again)** <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Fix tests in `agents-api` by updating error handling, environment variables, and test logic to ensure all tests pass. > > - **Error Handling**: > - Add `CompleteAsyncError` to exception handling in `interceptors.py` for `execute_activity` and `execute_workflow`. > - **Environment Variables**: > - Add `use_blob_store_for_temporal`, `blob_store_bucket`, `blob_store_cutoff_kb`, `s3_endpoint`, `s3_access_key`, and `s3_secret_key` to `env.py`. > - **Document Models**: > - Modify `get_doc.py` and `list_docs.py` to filter out `None` embeddings. > - Update `search_docs_by_text.py` to handle empty `fts_queries`. > - **Execution Models**: > - Fix `get_execution.py` and `list_executions.py` to check if `output` is a dictionary before accessing `OUTPUT_UNNEST_KEY`. > - **Storage Handler**: > - Add checks for `use_blob_store_for_temporal` in `storage_handler.py`. > - **Tests**: > - Remove `skip` decorator from `test_docs_queries.py` and `test_execution_workflow.py`. > - Add new test cases in `test_workflow_routes.py` for YAML task creation and execution. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 7f53f2c. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: creatorrr <[email protected]>
…cording to naming convention (#707) <!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Fix bugs in cookbooks 5, 10, 11 and rename files for consistency. > > - **Behavior**: > - `05-Basic_Agent_Creation_and_Interaction.py`: Fix session creation by removing `context_overflow` parameter and correct chat history retrieval. > - `10-Document_Management_and_Search.py`: Remove `filters` from search input and fix document search output handling. > - `11-Advanced_Chat_Interactions.py`: Adjust chat logic for weather information and improve context management. > - **Renames**: > - Rename `14_automated_webinar_scheduling_workflow.py` to `14-Automated_Webinar_Scheduling_Workflow.py`. > - Rename `15_personal_finance_tracker.py` to `15-Personal_Finance_Tracker.py`. > - Rename `e_commerce_order_processing_workflow.py` to `16-E_commerce_Order_Processing_Workflow.py`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 7cdfd86. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: Vedantsahai18 <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]> <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Update `README.md` and related files to improve Table of Contents visibility and content clarity. > > - **README.md**: > - Changed `<details>` to `<details open>` for Table of Contents visibility. > - Refined Julep's capabilities description for clarity. > - Added reference to "Understanding Tasks" in the introductory tip. > - Included a mermaid sequence diagram to illustrate workflow. > - **doctoc-on-push.yml**: > - Set `FOLDING` to `false` to keep Table of Contents expanded. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 8bc4453. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]> Co-authored-by: creatorrr <[email protected]>
…ations" (#710) - **fix(integrations): General upkeep + tenacity retry** - **feat(agents-api): Misc fixes in agents-api** <!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Add `tenacity` retry logic to integration functions, remove unused integrations, and improve agents-api and integrations services. > > - **Integrations**: > - Add `tenacity` retry logic to `search()` in `brave.py`, `load()` in `browserbase.py`, `send()` in `email.py`, `crawl()` in `spider.py`, `get()` in `weather.py`, and `search()` in `wikipedia.py`. > - Remove unused integrations: `dalle_image_generator.py`, `duckduckgo_search.py`, `gmail/send_mail.py`, `hacker_news.py`, and `request.py`. > - Remove `hacker_news` provider from `providers.py`. > - **Agents API**: > - Update `log_step()` in `log_step.py` to include `include_remote=True` in `context.model_dump()`. > - Add `NEWLINE` constant to `utils.py` and `template.py`. > - Add `ApplicationError` to non-retryable exceptions in `interceptors.py`. > - Increase sleep time in `test_doc()` in `fixtures.py` from 0.1 to 0.5 seconds. > - **Misc**: > - Remove unused imports in `base_models.py`, `email.py`, `wikipedia.py`, `get_integration.py`, and `execute_integration.py`. > - Add `tenacity` to `pyproject.toml` dependencies. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 55fe24a. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
Signed-off-by: Diwank Singh Tomer <[email protected]>
This PR updates the translated versions of README.md Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
14144715 | Triggered | Generic Password | ca03414 | deploy/simple-docker-compose.yaml | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
<!-- ELLIPSIS_HIDDEN --> ---- > [!IMPORTANT] > Updated documentation to reflect recent changes in Julep, including API references, guides, and tutorials for improved clarity and accuracy. > > - **README Updates**: > - Updated table of contents in `README-CN.md`, `README-FR.md`, `README-JA.md` to reflect new sections and structure. > - Corrected and streamlined content in `README.md` for clarity and consistency. > - **API Documentation**: > - Removed construction notices from `docs/api-reference/README.md`, `agents-api-1.md`, `agents-api-2.md`, `agents-api-3.md`, `agents-api-4.md`, `agents-api.md`. > - Updated API endpoint details in `agent_endpoints.md`, `doc_endpoints.md`, `session_endpoints.md`, `tool_endpoints.md`, `user_endpoints.md`. > - **Concepts and Explanations**: > - Enhanced descriptions and examples in `agents.md`, `documents.md`, `sessions/README.md`, `adaptive-context.md`, `users.md`. > - Clarified core concepts in `core_concepts.md`, `default_system_template.md`, `execution_state_machine.md`, `metadata_precedence.md`, `multi_agent_sessions.md`, `task_workflows.md`, `tool_integration.md`. > - **How-to Guides**: > - Improved task customization and execution handling in `customizing_tasks.md`, `handling_executions.md`. > - Updated user and session management guides in `managing_users.md`, `using_chat_features.md`. > - **Tutorials**: > - Refined steps and examples in `creating_your_first_agent.md`, `integrating_tools.md`, `managing_sessions.md`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for 5dac7ad. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: ayush2390 <[email protected]>
This PR updates the translated versions of README.md --------- Co-authored-by: ayush2390 <[email protected]> Co-authored-by: ayush2390 <[email protected]> Co-authored-by: ayush2390 <[email protected]>
This PR updates the translated versions of README.md Co-authored-by: creatorrr <[email protected]>
…ctivity (#726) <!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Increase timeout to 60 seconds for `AsyncClient` in `run_integration_service` to allow longer execution times. > > - **Behavior**: > - Increase timeout to 60 seconds for `AsyncClient` in `run_integration_service` function in `integrations.py` to allow longer execution times for integration activities. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for f62a392. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN -->
- Changed the workflow to include a step to summarize the crawled results. - Added better comments, markdown cells & cells outputs.
…cument creation endpoints (#715) <!-- ELLIPSIS_HIDDEN --> > [!IMPORTANT] > Adds `embed_instruction` argument to document creation and embedding endpoints, updating models and OpenAPI spec accordingly. > > - **Behavior**: > - Adds `embed_instruction` argument to `CreateDocRequest` and `EmbedQueryRequest` in `Docs.py`. > - Updates `create_doc()` in `create_doc.py` to handle `embed_instruction` by removing it from `doc_data`. > - Modifies `run_embed_docs_task()` in `create_doc.py` to pass `embed_instruction`. > - Updates `embed()` in `embed.py` to prepend `embed_instruction` to `text_to_embed`. > - **OpenAPI Specification**: > - Adds `embed_instruction` to `CreateDocRequest` and `EmbedQueryRequest` models in `models.tsp`. > - Updates `openapi-0.4.0.yaml` and `openapi-1.0.0.yaml` to include `embed_instruction` in required properties for `CreateDocRequest` and `EmbedQueryRequest`. > > <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=julep-ai%2Fjulep&utm_source=github&utm_medium=referral)<sup> for b68ab1d. It will automatically update as commits are pushed.</sup> <!-- ELLIPSIS_HIDDEN --> --------- Co-authored-by: HamadaSalhab <[email protected]>
No description provided.