{"id":22548988,"url":"https://github.com/nitin27may/azureopenai-chat","last_synced_at":"2026-05-04T21:36:01.481Z","repository":{"id":266693801,"uuid":"899065981","full_name":"nitin27may/AzureOpenAi-Chat","owner":"nitin27may","description":"AI-driven chat application built with .NET 9 and Angular 19, featuring Azure OpenAI, document analysis, and real-time interaction capabilities. Docker support coming soon","archived":false,"fork":false,"pushed_at":"2025-01-02T22:04:01.000Z","size":183,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T10:13:28.940Z","etag":null,"topics":["angular","angular19","azure","azureopenai","chat","chatgpt","dotnet9","generative-ai","net9"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nitin27may.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T15:01:49.000Z","updated_at":"2025-01-02T21:47:58.000Z","dependencies_parsed_at":"2024-12-05T16:22:06.532Z","dependency_job_id":"2ed6b2d0-05bc-4706-a291-00413354dfd9","html_url":"https://github.com/nitin27may/AzureOpenAi-Chat","commit_stats":null,"previous_names":["nitin27may/azureopenai-chat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2FAzureOpenAi-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2FAzureOpenAi-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2FAzureOpenAi-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2FAzureOpenAi-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nitin27may","download_url":"https://codeload.github.com/nitin27may/AzureOpenAi-Chat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246000732,"owners_count":20707776,"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":["angular","angular19","azure","azureopenai","chat","chatgpt","dotnet9","generative-ai","net9"],"created_at":"2024-12-07T16:07:26.341Z","updated_at":"2026-05-04T21:36:01.426Z","avatar_url":"https://github.com/nitin27may.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generative AI Chat Application with .NET, Azure OpenAI, and Angular\n\n## Overview\n\nThis repository contains a Generative AI-driven chat application built with the following technologies:\n\n- **Backend**: .NET 9 API integrated with Azure OpenAI, Azure Form Recognizer, and Azure Blob Storage.\n- **Frontend**: Angular (latest version), using Angular Material for UI components and `ngx-markdown` for rendering AI-generated responses.\n\nThe application allows users to chat, upload documents, and receive real-time responses from Azure OpenAI. It is designed to highlight Azure's AI capabilities and the power of integrating cloud-based document processing and file storage.\n\n## Features\n\n- **Real-Time AI Chat**: Communicate with Azure OpenAI via streaming responses.\n- **File Upload and Analysis**: Upload documents (PDFs and Word files) and extract relevant content using Azure Form Recognizer.\n- **Document Comparison**: Upload multiple documents for detailed comparison using Azure's AI models.\n\n## Upcoming Feature\n- [ ] Maintaining history context for a conversation\n\n## Prerequisites\n\n- .NET 9 SDK\n- Node.js (with npm) - Angular CLI requires Node.js.\n- Angular CLI (latest version)\n- Azure Subscription (for using Azure OpenAI, Blob Storage, and Form Recognizer services)\n- Visual Studio or VS Code (recommended for .NET and Angular development)\n\n## Getting Started\n\n### 1. Clone the Repository\n\n```sh\ngit clone https://github.com/your-username/genai-chat.git\ncd genai-chat\n```\n\n### 2. Backend Setup (API)\n\nNavigate to the backend project directory and restore dependencies:\n\n```sh\ncd api\n# Restore dependencies\ndotnet restore\n```\n\n#### Add Configuration\n\nUpdate value in `appsettings.Development.json` file in the `GenAI.Api` project root :\n\n```json\n  \"ConnectionStrings\": { \n    \"AzureStorage\": \"\u003cyour-blob-storage-connection-string\u003e\" \n    },\n  \"DocumentIntelligence\": {\n    \"Endpoint\": \"\u003cyour-document-intelligence-endpoint\u003e\",\n    \"ApiKey\": \"\u003cyour-document-intelligence-key\u003e\",\n    \"ModelId\": \"\u003cyour-document-intelligence-modelId\u003e\"\n  },\n  \"OpenAI\": {\n    \"Endpoint\": \"\u003cyour-openai-endpoint\u003e\",\n    \"ApiKey\": \"\u003cyour-openai-api-key\u003e\"\n  }\n```\n\nUpdate these placeholders with the correct credentials from your Azure subscription.\n\n#### Run the API\n\nTo start the API locally, run the following command:\n\n```sh\ndotnet run\n```\n\nThe API will be available at `https://localhost:7173;http://localhost:5187` by default.\n\n### 3. Frontend Setup (Angular)\n\nNavigate to the Angular project directory and install dependencies:\n\n```sh\ncd ../frontend\n# Install dependencies\nnpm install\n```\n\n#### Run the Angular Application\n\nTo start the Angular frontend, use the following command:\n\n```sh\nng serve\n```\n\nThe application will be available at `http://localhost:4200` by default.\n\n### 4. Running the Full Application\n\nOnce both the backend and frontend are running, you can interact with the AI-driven chat interface in your browser at `http://localhost:4200`. Make sure the backend is running to provide data to the Angular client.\n\n## Docker Support\n\n**Note**: Dockerization for this project is currently in progress. We plan to provide a complete Docker setup soon, allowing you to run the entire application (API and frontend) in Docker containers for easier deployment.\n\n## Coming Soon Updates\n\n- **Chat History Support**: Store and retrieve chat history, allowing users to maintain conversations over time.\n\n- **Multiple Chat Sessions**: Support multiple chat windows for different contexts, enabling users to work on various topics simultaneously.\n\n- **Chat History with CosmosDB**: Maintain chat history using Azure CosmosDB for scalable and reliable storage.\n\n- **Azure SSO Integration**: Implement Azure Single Sign-On (SSO) to provide a seamless and secure authentication experience.\n\n\n- **Docker Setup**: Finalize and add Docker configuration for both backend and frontend.\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit pull requests, and report issues or enhancements you would like to see in the project.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n## Contact\n\nFor support or questions, please contact Nitin Singh at nitin27may@gmail.com.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitin27may%2Fazureopenai-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnitin27may%2Fazureopenai-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitin27may%2Fazureopenai-chat/lists"}