{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":787909971,"defaultBranch":"main","name":"ai-agent-java","ownerLogin":"datastax","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-04-17T12:17:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/573369?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718376123.0","currentOid":""},"activityList":{"items":[{"before":"f86e7e00c82b579581419e79a2f26da4689484e9","after":"16ddfdd5b6e3c4051f589390731936fa4e5dce1a","ref":"refs/heads/workshop-step-3","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement LLM call caching with a vector store\nUse a vector store on top of the existing agent_conversations table","shortMessageHtmlLink":"Implement LLM call caching with a vector store"}},{"before":"e9379a0599bbbdef13e0c56a8f5a3750774d13f9","after":"3592497754d35f17cf27d8d24d1404f085f6eb89","ref":"refs/heads/workshop-step-5","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Tavily online search results, providing a hybrid search agent\n\nTavily searches require the environment variable TAVILY_API_KEY to be set.\nGet a free api key from https://app.tavily.com/\n\nTavily searches only happen when the query (user message) is longer than five characters.\nSearch results can be truncated to ensure prompt fits in window.","shortMessageHtmlLink":"Implement Tavily online search results, providing a hybrid search agent"}},{"before":"9332dd7b328bf21c2c4f29bb6f00b6ea71a59324","after":"4d6b63cdd4840d6f019fd383bafd85e7694368b3","ref":"refs/heads/workshop-step-4","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement manual reranking\n\nDoesn't actually do any reranking, but introduces the jvector library to demonstrate how cosine distances could be used","shortMessageHtmlLink":"Implement manual reranking"}},{"before":"1039448c288ed62a215cf901a87232496c804bfd","after":"60ea0141bf5ce13bbda00b39106e1a4c088fe67b","ref":"refs/heads/workshop-step-6","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Function Calling using the FCC's Broadband measuring report data\n\nIntroduces the chatOptionsBuilder parameter to the AiAgent.createPrompt(..) method.","shortMessageHtmlLink":"Implement Function Calling using the FCC's Broadband measuring report…"}},{"before":"575dbfe1039c3173d94cec4c53b54302a208dfb8","after":"631858e52c5ee9686d70b9b90f1627e0edc4e9fe","ref":"refs/heads/main","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Welcome to this workshop to build your own Java AI Agent using Retrieval Augmented Generation","shortMessageHtmlLink":"Welcome to this workshop to build your own Java AI Agent using Retrie…"}},{"before":"8af5b75ca98720cb0a98fe55871451a4a8304c33","after":"c18300f4a1db47df5642224489d9c0df39ee48bf","ref":"refs/heads/workshop-step-2","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore\n\nCo-authored-by: Sami Kaksonen ","shortMessageHtmlLink":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore"}},{"before":"a1651f7bdbe573640bf029ce94085615aaf37ae1","after":"cabbb01a32089260d903261b408a5f72da9a7af1","ref":"refs/heads/workshop-step-1","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Chat Memory","shortMessageHtmlLink":"Implement Chat Memory"}},{"before":"cab65c74eaaa8878139d08e431e47460e7a7b663","after":"d323b6615dab38d0698aeea21c19b5997e77bc6e","ref":"refs/heads/workshop-step-7","pushedAt":"2024-09-04T10:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement olling time-windowed vectors on FCC broadband data","shortMessageHtmlLink":"Implement olling time-windowed vectors on FCC broadband data"}},{"before":"ad6fb304e78c5946fbba250be8206cfc84474ce3","after":"1039448c288ed62a215cf901a87232496c804bfd","ref":"refs/heads/workshop-step-6","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Function Calling using the FCC's Broadband measuring report data\n\nIntroduces the chatOptionsBuilder parameter to the AiAgent.createPrompt(..) method.","shortMessageHtmlLink":"Implement Function Calling using the FCC's Broadband measuring report…"}},{"before":"28bd70c061f9b74f3441f7a2736de1dcad47e95b","after":"8af5b75ca98720cb0a98fe55871451a4a8304c33","ref":"refs/heads/workshop-step-2","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore\n\nCo-authored-by: Sami Kaksonen ","shortMessageHtmlLink":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore"}},{"before":"7601c838df8eff34bd80e3ff4b0af7d3a4ff99dd","after":"9332dd7b328bf21c2c4f29bb6f00b6ea71a59324","ref":"refs/heads/workshop-step-4","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement manual reranking\n\nDoesn't actually do any reranking, but introduces the jvector library to demonstrate how cosine distances could be used","shortMessageHtmlLink":"Implement manual reranking"}},{"before":"282dbfa6d9a99bf30a744c7e6c3accbb24980a78","after":"a1651f7bdbe573640bf029ce94085615aaf37ae1","ref":"refs/heads/workshop-step-1","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Chat Memory\nFeature is added in the com.datastax.ai.agent.history package.\n\nCassandraChatMemory implements it as a Cassandra table. Schema is flexible. This will be upstreamed to spring-ai.\n\nBased of upcoming work in spring-projects/spring-ai#536","shortMessageHtmlLink":"Implement Chat Memory"}},{"before":"d25e9d8e6247b4255900b890a8d1de21ad857196","after":"cab65c74eaaa8878139d08e431e47460e7a7b663","ref":"refs/heads/workshop-step-7","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement olling time-windowed vectors on FCC broadband data","shortMessageHtmlLink":"Implement olling time-windowed vectors on FCC broadband data"}},{"before":"fc74522daf0821db34e9901fbf4e11ba5637a966","after":"d5553d677a660f9e1fd1b599cdcf5b637c0a2cb7","ref":"refs/heads/workshop-step-0","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Java AI Agent\n\nAI Agent built on Java with Spring-AI and Vaadin\n\nInspired by code example at marcushellberg/spring-ai-web\n\nCo-authored-by: Dieter Flick ","shortMessageHtmlLink":"Java AI Agent"}},{"before":"953427fdc0d5665eefb8fcfdc21b8404cb9016bf","after":"e9379a0599bbbdef13e0c56a8f5a3750774d13f9","ref":"refs/heads/workshop-step-5","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Tavily online search results, providing a hybrid search agent\n\nTavily searches require the environment variable TAVILY_API_KEY to be set.\nGet a free api key from https://app.tavily.com/\n\nTavily searches only happen when the query (user message) is longer than five characters.\nSearch results can be truncated to ensure prompt fits in window.","shortMessageHtmlLink":"Implement Tavily online search results, providing a hybrid search agent"}},{"before":"3792a3892e335b916798fe26d6ffb2cfa6def71f","after":"f86e7e00c82b579581419e79a2f26da4689484e9","ref":"refs/heads/workshop-step-3","pushedAt":"2024-08-29T20:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement LLM call caching with a vector store\nUse a vector store on top of the existing agent_conversations table","shortMessageHtmlLink":"Implement LLM call caching with a vector store"}},{"before":"dce0cb54d9567cc7b44d996fee3d75cdb3cedfd5","after":"e32399e14efd48eaf905c45c548df584e316ac78","ref":"refs/heads/mck/step-1-new-chat-model","pushedAt":"2024-06-15T16:40:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement new spring ai chat model","shortMessageHtmlLink":"Implement new spring ai chat model"}},{"before":"63d8a3e6062f7acc0b1f7739027755b7ef0f69cf","after":"dce0cb54d9567cc7b44d996fee3d75cdb3cedfd5","ref":"refs/heads/mck/step-1-new-chat-model","pushedAt":"2024-06-15T16:32:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement new spring ai chat model","shortMessageHtmlLink":"Implement new spring ai chat model"}},{"before":null,"after":"63d8a3e6062f7acc0b1f7739027755b7ef0f69cf","ref":"refs/heads/mck/step-1-new-chat-model","pushedAt":"2024-06-14T14:42:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement new spring ai chat model","shortMessageHtmlLink":"Implement new spring ai chat model"}},{"before":"90d9d9e7da4c5752bc7e5ce21f4b030dd6714a86","after":"7601c838df8eff34bd80e3ff4b0af7d3a4ff99dd","ref":"refs/heads/workshop-step-4","pushedAt":"2024-06-14T14:34:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement manual reranking\n\nDoesn't actually do any reranking, but introduces the jvector library to demonstrate how cosine distances could be used","shortMessageHtmlLink":"Implement manual reranking"}},{"before":"25e628793f69ded668f582cf876a3510ff47ca5d","after":"953427fdc0d5665eefb8fcfdc21b8404cb9016bf","ref":"refs/heads/workshop-step-5","pushedAt":"2024-06-14T14:34:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Tavily online search results, providing a hybrid search agent\n\nTavily searches require the environment variable TAVILY_API_KEY to be set.\nGet a free api key from https://app.tavily.com/\n\nTavily searches only happen when the query (user message) is longer than five characters.\nSearch results can be truncated to ensure prompt fits in window.","shortMessageHtmlLink":"Implement Tavily online search results, providing a hybrid search agent"}},{"before":"9228a49de644c26c2a0895a10a6abbf3325c8b3f","after":"ad6fb304e78c5946fbba250be8206cfc84474ce3","ref":"refs/heads/workshop-step-6","pushedAt":"2024-06-14T14:34:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Function Calling using the FCC's Broadband measuring report data\n\nIntroduces the chatOptionsBuilder parameter to the AiAgent.createPrompt(..) method.","shortMessageHtmlLink":"Implement Function Calling using the FCC's Broadband measuring report…"}},{"before":"cfd008749135af190c103196b73c695a77364b6e","after":"d25e9d8e6247b4255900b890a8d1de21ad857196","ref":"refs/heads/workshop-step-7","pushedAt":"2024-06-14T14:34:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement olling time-windowed vectors on FCC broadband data","shortMessageHtmlLink":"Implement olling time-windowed vectors on FCC broadband data"}},{"before":"f7e9cf47d766de3a231ef5c57259a977a0d56b1f","after":"55b147a82ecc839e2fca2c75e31b70fdbbd616fb","ref":"refs/heads/workshop-intro-requirements","pushedAt":"2024-06-12T20:56:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Requirements setup for Java AI Agent workshop","shortMessageHtmlLink":"Requirements setup for Java AI Agent workshop"}},{"before":"575dbfe1039c3173d94cec4c53b54302a208dfb8","after":"631858e52c5ee9686d70b9b90f1627e0edc4e9fe","ref":"refs/heads/workshop-intro","pushedAt":"2024-06-12T20:55:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Welcome to this workshop to build your own Java AI Agent using Retrieval Augmented Generation","shortMessageHtmlLink":"Welcome to this workshop to build your own Java AI Agent using Retrie…"}},{"before":"42b68eb6edf7ea6e0e02574a4680e5111b1c17e7","after":"cfd008749135af190c103196b73c695a77364b6e","ref":"refs/heads/workshop-step-7","pushedAt":"2024-06-12T20:51:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement olling time-windowed vectors on FCC broadband data","shortMessageHtmlLink":"Implement olling time-windowed vectors on FCC broadband data"}},{"before":"8fe63a9f37ef896f63966444e0fc209b5c8062d9","after":"9228a49de644c26c2a0895a10a6abbf3325c8b3f","ref":"refs/heads/workshop-step-6","pushedAt":"2024-06-12T20:46:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Function Calling using the FCC's Broadband measuring report data\n\nIntroduces the chatOptionsBuilder parameter to the AiAgent.createPrompt(..) method.","shortMessageHtmlLink":"Implement Function Calling using the FCC's Broadband measuring report…"}},{"before":"04fa693905707acb07736860418b81a81ff29d92","after":"25e628793f69ded668f582cf876a3510ff47ca5d","ref":"refs/heads/workshop-step-5","pushedAt":"2024-06-12T20:41:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Tavily online search results, providing a hybrid search agent\n\nTavily searches require the environment variable TAVILY_API_KEY to be set.\nGet a free api key from https://app.tavily.com/\n\nTavily searches only happen when the query (user message) is longer than five characters.\nSearch results can be truncated to ensure prompt fits in window.","shortMessageHtmlLink":"Implement Tavily online search results, providing a hybrid search agent"}},{"before":"9002b62e8ca8c083c3f973b3b4b677d2e8517719","after":"90d9d9e7da4c5752bc7e5ce21f4b030dd6714a86","ref":"refs/heads/workshop-step-4","pushedAt":"2024-06-12T20:34:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement manual reranking\n\nDoesn't actually do any reranking, but introduces the jvector library to demonstrate how cosine distances could be used","shortMessageHtmlLink":"Implement manual reranking"}},{"before":"c88f6814452be8a317505c168ab8af9231fc9606","after":"28bd70c061f9b74f3441f7a2736de1dcad47e95b","ref":"refs/heads/workshop-step-2","pushedAt":"2024-06-12T20:27:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michaelsembwever","name":"mck","path":"/michaelsembwever","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/559444?s=80&v=4"},"commit":{"message":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore\n\nCo-authored-by: Sami Kaksonen ","shortMessageHtmlLink":"Implement Retrival Augmentation with Spring AI's CassandraVectorStore"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErJSOkQA","startCursor":null,"endCursor":null}},"title":"Activity · datastax/ai-agent-java"}