Skip to content

FinVolution/XCoder-Server

Repository files navigation

XCoder

产品概述

1. XCoder是什么?

XCoder是一款基于大语言模型(LLM)的编码辅助工具,旨在提供智能化的代码推理和辅助功能。
XCoder的开发灵感来源于类似产品 Copilot 的代码自动补全功能,无论是在功能还是性能方面都基于我们公司的现状进行了的优化和改良。
XCoder目前已经过多个内测版本的迭代和用户反馈的持续优化。

2. 核心功能和特点

分类 支持的语言
后端 java、golang、python、c++、php ...
前端 javascript、typescript、html ...
其他 yaml、markdown、json ...
功能 描述
单行、多行代码补全 根据用户当前上下文及 IDE 打开的其他文件获取 context ,生成接下来一行或者多行代码的内容
智能chat 提供对编码问题的智能回答和解决方案,帮助用户快速解决问题
单元测试 根据所选函数及上下文,智能生成代码的单元测试用例
代码文档及注释生成 根据所选代码,生成代码文档及代码注释
代码优化 智能修改、重构、优化用户所选的代码
代码解释 根据所选代码,生成对代码的功能解释
代码编辑 根据用户给定的指令,进行修改或调整选中代码

3. 优势和价值

1.提高编码效率:通过智能推理和代码补全功能,加速编码过程,减少重复劳动。
2.提升代码质量:自动生成单元测试用例和提供代码修复建议,帮助用户编写更可靠和高质量的代码。
3.加速学习曲线:对于初学者来说,XCoder提供了实时的代码推理和建议,帮助他们理解和学习编码。

快速开始

XCoder 项目部署

Docker 部署

  • 安装好 docker 及 docker-compose
  • 拉取项目代码
  • 模型配置:项目需要使用代码大模型以及通用 chat 大模型,需要自己本地部署好,或使用现有开源的大模型。不管使用那种方式,都需要将模型的连接串信息填写到 manifest/config/ 目录的配置中,具体可以参考项目参数配置
  • 进入项目 manifest/deploy/docker-compose/ 目录,执行 docker-compose up -d

本地构建

  • 安装 golang 1.18+
  • 拉取项目代码
  • 配置 mysql 及 mongodb 数据库信息,进入 manifest/config/config.yaml 配置自己的 mysql, mongodb 连接串信息
  • 模型配置:项目需要使用代码大模型以及通用 chat 大模型,需要自己本地部署好,或使用现有开源的大模型。不管使用那种方式,都需要将模型的连接串信息填写到 manifest/config/ 目录的配置中,具体可以参考项目参数配置
  • 通过环境变量指定项目配置文件,export CFG_BASE_DIR=manifest/config
  • 进入项目根目录,执行 go mod tidy
  • 进入项目根目录,执行 go run main.go

插件安装部署

插件安装部署,请参考项目XCoder-Intellij

更多配置及部署

更多项目的配置及部署信息,请参考开发文档

Releases

No releases published

Packages

No packages published

Languages