{"id":21672451,"url":"https://github.com/redis-developer/redis-rag-chat-dotnet","last_synced_at":"2025-07-22T13:34:49.337Z","repository":{"id":218995605,"uuid":"741527240","full_name":"redis-developer/redis-rag-chat-dotnet","owner":"redis-developer","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-31T15:02:47.000Z","size":332,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T00:31:54.200Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redis-developer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-10T15:25:50.000Z","updated_at":"2025-01-08T16:17:19.000Z","dependencies_parsed_at":"2025-01-25T09:25:54.415Z","dependency_job_id":"94ad447f-7253-4587-a21e-d7b51a682277","html_url":"https://github.com/redis-developer/redis-rag-chat-dotnet","commit_stats":null,"previous_names":["redis-developer/redis-rag-chat","redis-developer/redis-rag-chat-dotnet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/redis-developer/redis-rag-chat-dotnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-chat-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-chat-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-chat-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-chat-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redis-developer","download_url":"https://codeload.github.com/redis-developer/redis-rag-chat-dotnet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redis-developer%2Fredis-rag-chat-dotnet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266506209,"owners_count":23940019,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-25T13:29:19.663Z","updated_at":"2025-07-22T13:34:49.316Z","avatar_url":"https://github.com/redis-developer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redis Rag Chat\n\nRedis Rag Chat is a simple Chat application demonstrating how to use the RAG pattern with various frameworks using Redis as your Vector Database.\nFor our example, the default chat type is a conversation with an intelligent agent that can recommend different beers to you, however\nswapping that out with whatever other RAG operation you want is as simple as updating the SystemPrompt and changing out the documents you\nstore in your Redis Database.\n\n## Clone this repo\n\nTo clone this repo make sure you clone the whole repository with it's submodules:\n\n```\ngit clone --recurse-submodules https://github.com/redis-developer/redis-rag-chat-dotnet\n```\n\n## Run with Docker\n\nThis app has a few different components, so to simplify standing it up, all you need to do is run:\n\n```sh\ndocker compose build\nOpenAIApiKey=YOUR_OPEN_AI_KEY docker compose up\n```\n\n\n## Running the Individual Components\n\nYou can also run the components individually:\n\n### Frontend\n\n```\ncd frontend\nnpm install\nnpm start\n```\n\n### Backend\n\n#### Configure it\n\nTo Configure your .NET app, configure the following in  `backend/appsettings.json` file:\n\n| config var                       | Description                                                                                            |\n|----------------------------------|--------------------------------------------------------------------------------------------------------|\n| OpenAICompletionModelId          | ID for the selected language model version.                                                            |\n| OpenAIApiKey                     | Key for API authentication and access.                                                                 |\n| OpenAIEmbeddingGenerationModelId | ID for the text embedding generation model.                                                            |\n| KernelMemoryEndpoint             | Endpoint for Kernel Memory (most likely localhost:9001)\n\n#### Run Kernel Memory as a Service\n\nRun `OpenAIApiKey=YOUR_OPEN_AI_KEY docker-compose -f kernel-memory/docker-compose.yml up`\n\n### Run the backend project\n\nYou can run the .NET backend with the following command:\n\n```\ndotnet run --project backend\n```\n\n### Adding Documents to Redis\n\nTo add documents to Redis, the backend must be started\n\n#### Upload the Provided Data\n\nTo upload the provided Data just run `./scripts/setup_beers.sh`\n\n#### Bring your own data\n\nIf you want to bring your own data files to add to Redis, you can do so by using the `scripts/upload.sh`, \npassing in the directory where your files are as the first argument, and then optionally passing in a `limit` for the number of files you want \nto upload and an optional `url` argument to define the upload URL.\n\n## Accessing the Site\n\nAfter the frontend and backend are running, you can access the site on `localhost:3000`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis-developer%2Fredis-rag-chat-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredis-developer%2Fredis-rag-chat-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredis-developer%2Fredis-rag-chat-dotnet/lists"}