Tabnine product updates roundup, April 2024 edition

Posted on April 11th, 2024

We’re more than a quarter of the way into 2024, and so much has already happened. A total solar eclipse enthralled North America. The Dune sequel reminded us of the power of riding sandworms. Beyoncé went country.

Things have been busy in Tabnine Land as well. Here’s a look at our recent product updates, including real-time switchable AI models, a new Onboarding Agent, follow-up questions in Tabnine Chat, and more.

And if you’d like to see all Tabnine AI coding assistant‘s new features in action, join us for a live demo on Tuesday, April 16.

Switchable models for Tabnine Chat

We announced a powerful new capability that allows you to switch the underlying AI model that powers Tabnine Chat whenever you like. Choose from two custom-built, fully private models from Tabnine, plus popular LLMs from third parties (GPT-3.5 Turbo and GPT-4.0 Turbo). Whichever LLM you choose, you’ll always benefit from the full capability of Tabnine’s highly tuned AI chat agents. 

This feature is currently available for Tabnine Chat users with a SaaS deployment and is compatible with all IDEs supporting Tabnine Chat. 

Tabnine Pro users have access to all the models and can pick the model they prefer. Tabnine Enterprise admin users can contact our Support team and specify the models that should be enabled for their organization. 

Onboarding Agent for Tabnine Chat

The Onboarding Agent helps developers quickly familiarize themselves with unfamiliar projects by providing instant access to essential project information within their IDE — including runnable scripts, dependencies, and overall structure — to help them get up to speed effortlessly. The Onboarding Agent is currently available for Tabnine Chat users with a SaaS deployment and is compatible with all IDEs supporting Tabnine Chat.

Follow-up questions in Tabnine Chat

Tabnine Chat now makes your coding experience even smoother with the new Follow-Up Questions feature, which suggests follow-up questions after every answer you receive. It’s like having an intelligent coding partner who anticipates your next move, ensuring a seamless flow of ideas and solutions.

This feature is available for all Tabnine Chat users.

Regenerate Chat answers with/without personalization

Following Tabnine’s personalization release, every answer from Tabnine generated with context includes the option to repeat the response without context. Note that the additional answer doesn’t replace the previous answer but is added to it, so you can easily compare the original response and the one with the excluded context. 

This feature is available for all Tabnine Chat users.

[Webinar] Switchable Models, Personalization, and the Onboarding Agent

Join our CTO, Eran Yahav, for an exclusive webinar on April 16 highlighting these new updates, including the ability to easily switch between LLMs, new levels of personalization, our Onboarding Agent, and more. Register to reserve your spot. 

New capabilities for team admins in Tabnine’s private installation

Introducing Tabnine’s Onboarding Agent

Posted on March 28th, 2024

Developer efficiency is paramount in the ever-evolving landscape of software development. Every minute that developers can save in ramping up to a new project leads to increased productivity, faster delivery times, and more cost savings for the organization. 

What is the Onboarding Agent?

Today we’re thrilled to introduce the Onboarding Agent for Tabnine Chat, a new product capability that helps developers onramp to a new project faster. For developers who are new to an organization or existing developers who are new to a project, the Onboarding Agent provides a comprehensive overview of key project elements, including runnable scripts, dependencies, and overall structure to help them get up to speed effortlessly.

The Onboarding Agent is now available for all Chat users in Tabnine SaaS and is compatible with all IDEs supporting Tabnine Chat.

The problem it solves

Traditionally, onboarding to a new project has been a time-consuming and often cumbersome process. Developers face the challenge of navigating complex codebases and documentation, often needing to reach out to more experienced colleagues or consult training materials for guidance. Not only does this slow down task completion, but it places a significant burden on experienced team members who must allocate time to assist new teammates.

The Onboarding Agent addresses these challenges head-on by giving developers instant access to essential project information. By offering a high-level summary of key elements and suggesting follow-up questions, it empowers users to dive deeper into relevant details tailored to their current task.

How it works

The Onboarding Agent is seamlessly integrated into Tabnine Chat as a built-in command, allowing users to access it with a simple command (/onboarding) or when starting a new conversation. When triggered, the agent returns a concise summary of the project’s key aspects, enabling developers to quickly grasp its structure and functionalities.

However, the true magic lies in its interactive capabilities. Rather than inundating users with an avalanche of information, the Onboarding Agent acts as a knowledgeable guide, presenting essential details while offering pathways for further exploration. By suggesting follow-up questions tailored to the user’s context and the task at hand, the agent empowers developers to chart their own course through the project’s intricacies.

This adaptive approach ensures that developers can delve deeper into areas of the project that are most pertinent to their immediate objectives. Whether it’s understanding specific functionalities, unraveling complex dependencies, or grasping the project’s overarching architecture, the Onboarding Agent provides the roadmap for a targeted and efficient onboarding experience.

Benefits for developers and organizations

Tabnine’s Onboarding Agent offers tangible benefits for both developers and organizations. For developers, it accelerates the onboarding process and enables them to become productive members of a team in a fraction of the time. For organizations, the Onboarding Agent streamlines the onboarding process, minimizing the disruption caused by new team members joining or developers switching projects. By fostering a culture of efficiency and knowledge sharing, organizations can optimize their development workflows and drive greater innovation.

The Onboarding Agent is available for all Chat users in Tabnine SaaS and is compatible with all IDEs that support Tabnine Chat. Check out our Docs to learn more. 

If you’re not yet a customer, you can sign up for a free 90-day trial for Tabnine Pro.

 

Learn more about the Onboarding agent

Tabnine Chat is now generally available

Posted on March 13th, 2024

We’re excited to announce that Tabnine Chat — our code-centric chat application that allows you to interact with Tabnine using natural language — is now generally available for all users.

Tabnine Chat complements our code completions to enable you to simplify and accelerate numerous aspects of the software development lifecycle.

It’s integrated with all the major IDEs — such as VS Code, JetBrains, Eclipse, and Visual Studio — and provides AI assistance right inside of the IDE. Whether you’re generating code snippets, writing tests, documenting your code, or debugging pesky bugs, Tabnine Chat has got your back.

Chat is built on Tabnine’s ethos and offers zero data retention: we don’t store your data or share it with third parties. It uses a proprietary LLM that’s custom-built for software development and trained on permissively licensed code. This ensures suggestions from Chat won’t match proprietary code or pose any legal risks.

From beta to brilliance

Tabnine Chat has undergone significant enhancements in the past few months thanks to the invaluable feedback from tens of thousands of developers worldwide. Some of the key improvements include:

Highly personalized suggestions

Benefit from code suggestions tailored to your specific coding style with context through local code awareness and connection to your software repository for global code awareness.

Advanced interaction model

Explore a host of advanced features like Code Lens, quick actions, customized quick actions, Diff view and diff insert, mentions to code elements in your workspace all designed to make your coding experience more intuitive and efficient.

Wide IDE support

Whether you’re using VS Code, JetBrains, Eclipse, Visual Studio 2022, or Neovim, Tabnine Chat seamlessly integrates with your preferred IDE, ensuring a consistent and powerful coding experience across platforms.

Private installations

For Tabnine Enterprise customers seeking an extra layer of control, Tabnine Chat can be deployed in a private installation, on VPC, or on-premises, offering a seamless integration with your existing infrastructure.

What can you do with Tabnine Chat?

Tabnine can help every developer with various coding tasks:

Plan

Ask Tabnine for guidance in exploring and planning solutions. Get standard solutions, steps to solve a problem, or references from your workspace. It’s perfect for general coding questions or understanding your project’s current state.

Create

Generate code step by step based on natural language specifications. Specify input, output, and logic. Tabnine aligns results with your project’s existing code.

Test

Request Tabnine to write tests for specific functions or code. Tabnine returns test cases, implementation, and assertions and suggests tests that align with the testing framework and structure already in use in your project.

Document

Enhance code readability with Tabnine’s documentation capabilities. Create formal documentation for classes, functions, comments, and inline documentation.

Explain

Quickly understand code logic. Ask Tabnine to explain specific code snippets, which is especially useful for legacy code or unfamiliar languages.

Maintain

Get Tabnine’s help in tasks related to maintaining code. Whether fixing bugs, adding functionality, or refactoring, collaborate incrementally for efficient results.

Empower your coding journey: download Tabnine Chat today and redefine the way you approach software development.

How can you get access to Tabnine Chat?

Tabnine Chat is available for all Tabnine Pro and Tabnine Enterprise users (in secure SaaS deployment and private installations). If you’re not yet a customer, you can install the Tabnine plugin or extension and sign up for Tabnine Pro today — it’s free for 90 days. Then check out our Docs to learn how to get the most out of Tabnine Chat.

GitHub Copilot vs. ChatGPT: What organizations should know

Posted on October 4th, 2023

Advanced AI tools like GitHub Copilot and ChatGPT transform how developers write and understand code. However, there are several essential differences and distinct features that set these tools apart.

This guide compares GitHub Copilot and ChatGPT in depth, explaining their functionalities, use cases, benefits, limitations, and most importantly, concerns and considerations for organizations seeking to leverage these tools. 

What is GitHub Copilot? 

GitHub Copilot is an AI-powered code completion tool developed by GitHub in collaboration with OpenAI. Launched in 2021, it’s built on top of OpenAI’s Codex, a powerful language model trained on a vast corpus of code and text from the internet. Copilot is a programming assistant designed to help developers write code more efficiently.

By understanding the context and intent of the code being written, Copilot can suggest relevant code snippets, automating parts of the coding process. It supports various programming languages and frameworks, including JavaScript, Python, HTML, CSS, and more. 

GitHub Copilot is trained on a vast corpus of code, creating the risk that some of the code it produces might not follow coding best practices or might contain security vulnerabilities. Organizations should exercise caution and carefully review GitHub Copilot code before using it in software projects.

What is ChatGPT? 

ChatGPT is an advanced AI language model developed by OpenAI, based on the GPT-4 architecture. It’s designed to understand and generate human-like text and code, enabling it to engage in natural language conversations and provide informative responses. It’s able to accept nuanced instructions and produce code in any programming language, with natural language comments and explanations.

Trained on a diverse dataset from the internet, ChatGPT possesses extensive knowledge across various domains up to a cutoff date in 2021. OpenAI has recently added plugins that allow ChatGPT to browse the Internet and access more current data. 

While ChatGPT can assist with answering questions, drafting content, and providing suggestions, its output may be inaccurate or biased due to its training data. Users should exercise critical thinking when using ChatGPT and verify any critical information obtained from it.

GitHub Copilot vs. ChatGPT: 4 key differences 

GitHub Copilot and ChatGPT are both AI-powered tools developed by OpenAI, but they have distinct purposes and features that cater to different user needs:

1. Purpose and scope

  • GitHub Copilot is designed for code generation and completion, making it the recommended option for developers working on code. It excels at understanding context and suggesting relevant code snippets across multiple programming languages and frameworks. 
  • ChatGPT is a more generalized AI language model that can engage in natural language conversations, answer questions, and draft content. While it can provide code explanations, it’s better suited for beginners seeking assistance in understanding coding concepts.

2. Cost and availability

  • GitHub Copilot offers a 60-day free trial, after which users must subscribe to a paid plan to continue using its services. 
  • ChatGPT can be used for free, making it more accessible to a broader audience that may need help with various topics, including beginner-level coding.

3. Learning and adaptation

  • One of the key features of GitHub Copilot is its ability to continuously learn from user behavior and code, improving its suggestions over time. This personalization enables Copilot to better align with individual coding styles and preferences, enhancing its utility as a coding assistant. 
  • ChatGPT, while capable of generating contextually relevant responses, only remembers the code and context within a given conversation. It does not adapt to users’ preferences or learn from their input in the same way that Copilot does.

4. Target audience

  • GitHub Copilot is primarily aimed at developers who need assistance in writing and completing code.
  • ChatGPT caters to a more diverse audience, including nonprogrammers. 

Github Copilot vs. ChatGPT for organizations 

When comparing GitHub Copilot and ChatGPT for organizational use, several factors come into play:

Self-hosting options

  • GitHub Copilot is a cloud-based service that doesn’t offer on-premises options. This may be a consideration for organizations with strict security or compliance requirements. 
  • ChatGPT is based on the GPT architecture and might have the option of deploying a custom version of the model within an organization’s infrastructure, depending on OpenAI’s licensing and availability of the model. This could provide better control over data privacy and compliance. However, the ChatGPT tool is not available on-premises as-is.

Privacy

  • GitHub Copilot is designed to work with public and private repositories. However, the code suggestions it generates are based on a vast corpus of public code, and it’s important to ensure that no proprietary or sensitive information leaks into the public domain through its usage. 
  • ChatGPT, being a more general language model, doesn’t directly interact with code repositories, but organizations should be cautious when discussing sensitive information within the chat environment. A 2023 data breach illustrates the risks involved when using ChatGPT or similar solutions.
  • ChatGPT and GitHub Copilot’s machine learning models are trained on extensive datasets collected from public code repositories and users’ own code, incorporating this data into their model training process, meaning the users’ code is being shared.

Regulations

  • Organizations may need to comply with specific regulations, such as GDPR, HIPAA, or industry-specific standards. Both GitHub Copilot and ChatGPT, being AI-powered tools, may process or generate data that falls under these regulations. Organizations should ensure that they have the necessary agreements and policies in place with OpenAI and GitHub to remain compliant.
  • At the time of writing, European Union (EU) regulators are starting work on the world’s first comprehensive AI legislation. Organizations should keep up to date with new legal developments and use them to evaluate tools like CoPilot and ChatGPT.

Integration with an organization’s code

  • GitHub Copilot integrates with the popular code hosting platform GitHub, which is widely used by organizations for managing their code repositories. This makes it a convenient choice for developers working within these organizations. 
  • ChatGPT, however, doesn’t have direct integration with code repositories, as it primarily serves as an AI conversational partner. It’s important to note that ChatGPT-generated code lacks awareness of the code context.

Tabnine: A secure, enterprise alternative to Copilot and ChatGPT

When considering the integration of AI into your software development, it’s vital to take the following into account:

  • Does the AI coding assistant provide a comprehensive platform with inline code completions and support via chat?
  • Does the vendor support the IDEs and languages that are used by your team?
  • Does the AI coding assistant use world-class models? Do the models evolve as technology improves?
  • Is it possible to optimize the AI platform for your engineering team with tailored models and context awareness?
  • Does the vendor offer complete privacy for your codebase and data around usage? Do they offer air-gapped deployments (on-premises or VPC) and guaranteed zero data retention?
  • Was the AI coding assistant trained exclusively on code with permissive licenses?
  • Does the vendor offer protection from legal risk by limiting the recommendations to software you have the rights to and not just promises of indemnification?
  • Can the vendor meet your company’s expectations for security and compliance?

As a pioneer in the AI space (since 2018!) with more than one million monthly dev users from around the world, Tabnine is the only AI coding assistant that meets all of the above requirements for enterprise engineering teams. Tabnine typically automates 30–50% of code creation for each developer and has generated more than 1% of the world’s code.

Tabnine AI allows dev teams of all sizes to accelerate and simplify the software development process while ensuring full privacy and security. 

Tabnine: The AI coding assistant that you control

Tabnine is an AI assistant you can trust and that you control, built for your workflow and your environments. Using Tabnine, you get full control over your data, since Tabnine can be deployed in any way you choose: as SaaS, on-premises, or on VPC.

Unlike other AI coding assistants, Tabnine’s models are fully isolated without any third-party connectivity. Tabnine also doesn’t store or share user code. So whether it’s a SaaS, VPC, or on-premises deployment, your code is private and secured.

Tabnine’s generative AI is only trained on open source code with permissive licenses:

  • Tabnine ensures you control your code 
  • Includes best-in-class security and SOC2 compliance
  • AI models are fully isolated with zero data retention
  • Trained exclusively on code with permissive licenses

Tabnine Chat

In addition to inline code completion in the IDE, we also offer Tabnine Chat, an AI assistant that sits in your IDE and is trained on your entire codebase, safe open source code, and every StackOverflow Q&A.

Tabnine Chat is always available right in the IDE, and can:

  • Answer any of your questions regarding your code
  • Generate new code from scratch
  • Explain a piece of code
  • Search your code repos for specific functions or pieces of code
  • Refactor code
  • Generate documentation (docstrings)
  • Find and fix code issues
  • Generate unit tests and more

Unique enterprise features

Tabnine’s code suggestions are based on large language models that are exclusively trained on credible open source licenses with permissive licensing. Tabnine’s world-class AI models are continually evolving and improving, so they remain at the forefront of technology.

Advantages for enterprises:

  • Trained exclusively on permissive open source repositories
  • Eliminates privacy, security, and compliance risks
  • Avoid copyleft exposure and respect developers’ intent
  • Can be locally adapted to your codebase and knowledge base without exposing your code

Personalized for your team

Tabnine is built on best-of-breed LLMs (with the flexibility to switch as new models emerge or improve) while offering you the ability to fine-tune or deploy fully customized models. Tabnine is context-aware of your code and patterns, delivering recommendations based on your internal standards and engineering practices.

Tabnine works the way you want, in the tools you use

Tabnine supports a wide scope of IDEs and languages, and we’re adding more all the time. Tabnine also provides engineering managers with algorithmic visibility into how AI is used in their software development process and the impact it has on your team’s performance.

Secured

Tabnine believes in building trust through algorithmic transparency. That’s why we provide our customers with full visibility into how our models are built and trained. We’re also dedicated to ensuring our customers’ interests are protected by only training on code with permissive licenses and only returning code recommendations that won’t be subject to future questions regarding ownership and potential litigation. At Tabnine, we respect open-source code authors and their rights as well as the rights of every one of our customers.

Get started with Tabnine for free today, or talk to an expert to learn how we can help your engineering team be happier and more productive.

Tabnine Chat for Neovim using Tauri

Posted on August 8th, 2023

In the world of coding, developers are always looking for tools and plugins that can streamline their workflows and make coding more efficient. Tabnine’s developer Amir Bilu recently discovered Tabnine Chat within VS Code, and he was completely blown away! Using Tabnine Chat, he could interact with his code using natural language and perform various tasks effortlessly.

Amir’s enthusiasm for Tabnine Chat led him to explore leveraging its power in other IDEs. Being an avid Neovim user, Amir took on the challenge of integrating Tabnine Chat into his beloved IDE, Neovim.

With determination and creativity, Amir successfully integrated Tabnine Chat into Neovim using Tauri, an innovative framework for creating cross-platform desktop applications. This integration opened up new possibilities for Neovim developers, empowering them with the same incredible features that Amir had come to rely on. Amir Bilu’s journey with Tabnine Chat is a testament to the transformative impact of innovative developer tools. This powerful plugin enabled Amir to streamline his coding process, improve code quality, and ultimately become a more productive developer. His successful integration of Tabnine Chat into Neovim is sure to inspire other developers to explore new horizons and embrace the power of natural language in their coding adventures.

To read more about it, check out the full article.

Say hello to Tabnine Chat!

Posted on June 28th, 2023

Today is a very exciting day at Tabnine: I’m thrilled to announce the launch of Tabnine Chat in Beta!

Tabnine Chat is an enterprise-grade, code-centric chat application that allows developers to interact with Tabnine’s AI models in a flexible free-form way, using natural language.

While ChatGPT and other tools are useful for generating “first draft” code, Tabnine Chat aims to support the workflows of professional developers working on big projects, especially in enterprises, via several key attributes:

  1. Tabnine Chat runs inside the IDE and is contextualized on whatever code you’re working on. This makes it useful not just for creating an app from scratch but also for incremental and highly contextual work, which is typically the nature of development in larger commercial projects.
  2. Tabnine Enterprise customers can connect their repositories to Tabnine Chat, allowing it to assist with coding and answer questions based on internal projects. This is especially useful when the organization has a substantial set of internal APIs, libraries, services, and best practices that are being used.
  3. Tabnine Chat is compatible with strict security and compliance requirements that many organizations have. Tabnine Enterprise also allows isolated environment deployment using virtual private cloud or on-premises deployment, ensuring total code privacy and security. In addition, Tabnine Chat was only trained on open source code with permissive licenses, guaranteeing that our models aren’t trained on GPL or other copyleft code.

What Tabnine Chat can do for developers

Our focus on developers was proven recently when Stack Overflow highlighted Tabnine as one of the two leading AI tools that developers are using

Tabnine Chat is a huge leap, expanding the applicability of Tabnine beyond code generation. Using Tabnine Chat is easy and intuitive, and at the same time flexible and powerful.

Here are some of the notable things developers can do with Tabnine Chat:

1. Explain a piece of code, which is especially useful when reading a new codebase.

2. Search your code repos using natural language, giving you the ability to “talk with your codebase.”

3. Generate new code based on natural language specs (e.g., “Create an app that reads the weather in London”).

4. Extend code with some capabilities (e.g., “Add logging to this code”).


5. Refactor code using human language (e.g., “Add type specification,” “Change convention,” etc.).

6. Generate documentation (docstrings) for specific sections of code.

7. Find issues in the code and fix them.

8. Generate unit tests.

This is just the tip of the iceberg! With some experimentation, I’m sure you’ll find creative and useful ways to really enhance your workflow with this exciting product. Learn more about Tabnine Chat’s use cases.

Enterprise benefits of Tabnine Chat

  • Understanding and explaining current code: Developers write code and build applications in context, and the ability to understand the capabilities and intentions behind complex code changes the velocity for teams and organizations that are constantly changing and adding new teammates. Tabnine Chat can help developers understand their code better by providing insights into the code’s structure, intent, and performance. This can help developers debug code more quickly, identify potential problems, and make better decisions about how to refactor their code.
  • Knowledge proliferation and accessibility: Large organizations can leverage Tabnine Chat to disseminate coding expertise, best practices, and lessons learned from the extensive codebase as well as data sources like Jira, Notion, documentation, etc. This makes knowledge more easily accessible to all developers and enables new team members to ramp up far more quickly. Tabnine Chat can also help to identify and share best practices across the organization, leading to improved code quality and productivity. In addition, code reuse results in fewer errors and increased consistency, reducing tech debt at later stages in the SDLC. 
  • Quality assurance and code consistency: Tabnine Chat can identify potential code issues, performance bottlenecks, or areas for improvement across the codebase. This allows organizations to proactively address issues and enhance the overall quality of the software produced. Tabnine Chat also helps ensure code consistency by providing recommendations for standardized coding practices. An added benefit is the reduced load during code reviews, which results in faster shipping of features and shortens the overall SDLC. 
  • Continuous improvement and innovation: Organizations can extract valuable insights to drive continuous improvement and innovation by identifying emerging coding patterns, suggesting optimizations, and highlighting areas for refactoring or performance enhancements. Tabnine Chat can also help organizations identify opportunities for improvement and implement those improvements quickly and efficiently. 
  • Standardization of coding practices: With Tabnine Chat’s personalized recommendations and understanding of the organization’s codebase, organizations can establish and enforce standardized coding practices across teams and projects. This can help to ensure consistency and maintainability of the codebase, which can lead to improved productivity and quality.

Want to try out Tabnine Chat? Click below to fill out the form and get an invite to the Beta, and let us know if there are any additional use cases you’d like to explore. We look forward to a quick Beta with our trusted testers and then rolling it out broadly to Tabnine Enterprise and Pro users in the coming months.