惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
B
Blog
博客园_首页
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
C
Check Point Blog
Martin Fowler
Martin Fowler
J
Java Code Geeks
博客园 - 司徒正美
美团技术团队
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
小众软件
小众软件

Pinecone

Pinecone Assistant: A Managed Knowledge Layer for Production AI Applications Multi-domain RAG in n8n: why one knowledge base is not enough Allspice Transforms the Culinary Experience with Semantic Search Powered by Pinecone | Pinecone Building RAG workflows in n8n: choosing the right Pinecone node Knowledge needs a meta-knowledge layer Garbage Day: How Pinecone Safely Deletes Billions of Objects at Scale When "Performance" Means Two Different Things Pinecone BYOC: Pinecone in your AWS, GCP, or Azure account, no vendor access True, Relevant, and Wrong: The Applicability Problem in RAG Use the Pinecone Plugin for Claude Code to develop AI Applications Faster Millions at Stake: How Melange's High-Recall Retrieval Prevents Litigation Collapse Powering High-stakes Patent Search at Scale: How Melange Built a Reliable AI System on Pinecone | Pinecone Pinecone Assistant Node in n8n: Turn Any Data Source Into Knowledge RAG with Access Control Pinecone Dedicated Read Nodes are now in Public Preview Inside Pinecone: Slab Architecture New Bulk Data Operations: Update, Delete, and Fetch by Metadata The Hidden Cost of Building: Lessons from Aquant Simplifying Vector Embeddings with Pinecone Integrated Inference Capabilities Pinecone joins Microsoft Marketplace as a Launch Partner GTM Engineering: Clay + Pinecone for AI-powered Sales Outbound Build an AI knowledge assistant with Google Docs and Pinecone Moving Pinecone forward with Ash Ashutosh as CEO and Edo spearheading our growing AI ambitions as Chief Scientist Pinecone Founder Edo Liberty to Spearhead Pinecone’s Growing AI Ambitions; Appoints Ash Ashutosh as CEO to Expand Vector Database Market Leadership Fast, Accurate Retrieval for Creators at Scale: Delphi’s Path Toward a Million Conversational Agents with Pinecone | Pinecone Announcing Pinecone Pioneers: A Program for Builders, Organizers, and Community Leaders What is Context Engineering? Chunking Strategies for LLM Applications Beyond the hype: Why RAG remains essential for modern AI Obviant Makes 30% More Accurate Defense Acquisition Recommendations Combining Sparse and Dense Retrieval with Pinecone | Pinecone
Making it easier to maintain open-source projects with Co...
Zachary Proser · 2023-09-27 · via Pinecone

The maintenance burden for open-source developers extends beyond technical tasks like code reviews, bug fixing, and feature implementation. Especially for popular projects, much of the work comes down to triaging and responding to a deluge of issues, questions, and discussions.

Unfortunately, folks new to a project often open a new issue without first searching to see if a similar issue exists, increasing the workload of maintainers, who must find and link related issues when responding.

In this post, we’ll examine how CodiumAI's open-source PR-agent works, how it uses semantic search to automatically find and link issues related to new issues opened by community members, and how the Pinecone vector database and its metadata filtering feature powers this use case.

Automatically surfacing similar GitHub issues

Let’s suppose an enthusiastic new community member visits your GitHub project and files this issue without first checking if there are any similar issues already open:

GitHub new issue opened

PR-agent will find similar issues that have already been opened, with a high degree of accuracy, and automatically comment, linking to the pre-existing issues:

CodiumAI similar issues solution comment


This automates away a great deal of open-source maintainer toil, allowing human developers to focus where they can have the most impact: creative problem-solving and improving software projects.

Every user visiting a GitHub project connected to PR-agent can issue a
command to pull back the list of issues about the same bug or feature request.

This functionality is more complex than it may initially seem: naive text-matching searches will not retrieve issues about the same topic or problem with a high enough degree of accuracy to be useful. Let’s look under the hood at how the solution works end to end.

How does it work?

The CodiumAI / Pinecone integration uses semantic search, which examines the intent behind the user’s words. We’ve written in-depth about semantic search here (and even more in-depth here). It converts the user’s ambiguous natural language query into vectors and then queries a vector database, such as Pinecone, to return matches closest to the user’s meaning.

Whereas naive keyword-matching search will get tripped up by the different contexts in which the word “bank” can be used, as in:

  1. Bank of England: an institution that handles money
  2. Bank shot: a special kind of golf shot intentionally fired into a hill to slow the ball down
  3. The muddy bank: The edge of a river

Semantic search will return the correct results based on the intent and context of the user’s query because it converts human language into vectors, which vector databases can use to determine semantic similarity.

Leveraging GitHub webhooks to act on all new issues

CodiumAI’s engineering team built a custom solution that converts the initial GitHub issue into vectors that can be stored in Pinecone.

GitHub offers webhooks support, allowing notifications to be delivered to external web servers when certain events occur on GitHub. For example, you can configure a GitHub webhook that calls your server whenever a new issue is opened against one of your repositories.

This chart demonstrates the flow end to end:

CodiumAI Pinecone integration flowchart

When a new issue is opened, Pinecone’s vector database can be queried to find the “nearest neighbors” to the new issue, meaning the issues most similar in their actual content and meaning.

Achieving the best accuracy through experimentation

CodiumAI’s solution uses OpenAI’s text-embedding-ada-02 embedding model to convert the GitHub issue title and body into vectors. In the initial stages of building out this solution, the CodiumAI team considered flattening and vectorizing subsequent follow-up comments on GitHub issues but ultimately found the best accuracy was achieved by converting the GitHub issue title and body to vectors and then querying Pinecone for nearest neighbors to retrieve issues discussing the same problem or feature.

Reducing toil across the software development lifecycle, securely

Helping out open-source maintainers is essential. But CodiumAI has broader ambitions to reduce developer toil across the entire development lifecycle by auto-generating tests for your codebase, catching security issues within your IDE before insecure code is committed, generating pull request descriptions, and more. If you’re a developer who wishes they had some more free time, CodiumAI’s solutions are worth a look.

Why Pinecone?

The CodiumAI team shared that they were able to go from idea to working implementation in about 4 days using Pinecone’s API. They especially found Pinecone’s filtering feature useful because it allowed them to manage and address multiple repositories via metadata.

CodiumAI’s similar issue solution allows each GitHub user to supply their own Pinecone API key when installing the application for even more privacy and control over their data.

Even though GitHub issues are completely public, meaning that even folks not signed into GitHub can find them in search engines and read them, the CodiumAI team takes security seriously, which was part of why they chose Pinecone as their vector database.

Pinecone is a cloud-native and fully managed solution designed for extreme scale and security. When you use Pinecone, you provision indexes, upsert vectors, and make queries via API calls, and all of your vectors are encrypted in flight and at rest. Pinecone never looks at embeddings and only stores data necessary to service your API requests.