{"id":28533568,"url":"https://github.com/epam/ai-dial-assistant","last_synced_at":"2025-07-07T20:31:33.066Z","repository":{"id":199303227,"uuid":"693244485","full_name":"epam/ai-dial-assistant","owner":"epam","description":"Model agnostic assistant/addon implementation for AI DIAL. It allows to use self-hosted OpenAI plugins as DIAL addons","archived":false,"fork":false,"pushed_at":"2025-04-17T06:35:37.000Z","size":866,"stargazers_count":10,"open_issues_count":29,"forks_count":3,"subscribers_count":20,"default_branch":"development","last_synced_at":"2025-06-09T17:07:50.657Z","etag":null,"topics":["ai-dial","llm"],"latest_commit_sha":null,"homepage":"https://epam-rail.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-18T16:27:59.000Z","updated_at":"2025-04-17T06:23:25.000Z","dependencies_parsed_at":"2024-04-18T17:11:21.020Z","dependency_job_id":"b3e405ce-24f9-4122-a453-2d7f2def16b8","html_url":"https://github.com/epam/ai-dial-assistant","commit_stats":null,"previous_names":["epam/ai-dial-assistant"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/epam/ai-dial-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fai-dial-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fai-dial-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fai-dial-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fai-dial-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epam","download_url":"https://codeload.github.com/epam/ai-dial-assistant/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fai-dial-assistant/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264142580,"owners_count":23563524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-dial","llm"],"created_at":"2025-06-09T17:07:44.728Z","updated_at":"2025-07-07T20:31:33.060Z","avatar_url":"https://github.com/epam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Overview\n\nThe DIAL Assistant Service is designed to respond to user queries, like ChatGPT. It is accessible via [DIAL API](https://epam-rail.com/dial_api).\nThe service’s distinctive feature is its ability to utilize addons provided in the user request, enhancing its\ncapability to gather and process information.\n\nUpon receiving a user request, the service employs the specified LLM to interpret and respond to the inquiry. Along with\nuser request it instructs the model on how to apply the provided addons to garner additional information. If the model\ndecides to use an addon to seek specific details, the Assistant Service promptly executes this task and channels the\nacquired data back to the model. This iterative procedure continues, with the model leveraging the addons to assemble\nmore information until a thorough and informed response to the user’s query is generated.\n\nIn essence, the DIAL Assistant Service is a versatile tool that combines the power of a given model with the extended\ncapabilities of various addons to deliver comprehensive and accurate answers.\n\n## Usage example\n\n```python\nimport os\n\nimport openai\n\nif __name__ == \"__main__\":\n    response = openai.ChatCompletion.create(\n        api_base=os.environ[\"OPENAI_API_BASE\"],\n        api_type=\"azure\",\n        api_version=\"2023-03-15-preview\",\n        api_key=os.environ[\"OPENAI_API_KEY\"],\n        engine=\"assistant\",\n        model=\"gpt-4\",\n        temperature=0,\n        timeout=300,\n        messages=[\n            {\"role\": \"user\", \"content\": \"What's up?\"},\n        ],\n        addons=[\n            {\n                \"url\": \"https://\u003caddon-host\u003e/.well-known/ai-plugin.json\"\n            }\n        ],\n    )\n\n    print(response)\n```\n\n## Developer environment\n\nThis project uses [Python\u003e=3.11](https://www.python.org/downloads/) and [Poetry\u003e=1.6.1](https://python-poetry.org/) as a dependency manager.\n\nCheck out Poetry's [documentation on how to install it](https://python-poetry.org/docs/#installation) on your system before proceeding.\n\nTo install requirements:\n\n```\nmake install\n```\n\nThis will install all requirements for running the package, linting, formatting and tests.\n\n### Make on Windows\n\nAs of now, Windows distributions do not include the make tool. To run make commands, the tool can be installed using\nthe following command (since [Windows 10](https://learn.microsoft.com/en-us/windows/package-manager/winget/)):\n\n```sh\nwinget install GnuWin32.Make\n```\n\nFor convenience, the tool folder can be added to the PATH environment variable as `C:\\Program Files (x86)\\GnuWin32\\bin`.\nThe command definitions inside Makefile should be cross-platform to keep the development environment setup simple.\n\n## Run\n\nRun the development server:\n\n```sh\nmake serve\n```\n\n## Environment Variables\n\nCopy .env.example to .env and customize it for your environment:\n\n| Variable                     | Default                  | Description                                                                    |\n|------------------------------|--------------------------|--------------------------------------------------------------------------------|\n| CONFIG_DIR                   | aidial_assistant/configs | Configuration directory                                                        |\n| LOG_LEVEL                    | INFO                     | Log level. Use DEBUG for dev purposes and INFO in prod                         |\n| OPENAI_API_BASE              |                          | OpenAI API Base                                                                |\n| WEB_CONCURRENCY              | 1                        | Number of workers for the server                                               |\n| TOOLS_SUPPORTING_DEPLOYMENTS |                          | Comma-separated deployment names that support tools in chat completion request |\n\n### Docker\n\nRun the server in Docker:\n\n```sh\nmake docker_serve\n```\n\n## Lint\n\nRun the linting before committing:\n\n```sh\nmake lint\n```\n\nTo auto-fix formatting issues run:\n\n```sh\nmake format\n```\n\n## Test\n\nRun unit tests locally:\n\n```sh\nmake test\n```\n\n## Clean\n\nTo remove the virtual environment and build artifacts:\n\n```sh\nmake clean\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fai-dial-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepam%2Fai-dial-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fai-dial-assistant/lists"}