<h1 align="center">CoUnit</h1>
<p align="center">
<img src="docs/counit.svg" width="128px" height="128px" />
</p>
> CoUnit,一个基于 LLM 的虚拟团队接口人(API),通过向量化文档、知识库、SDK和 API 等,结合 LLM 智能化团队间对接与协作。
todos:
- Semantic search for Team API
- [x] ArchGuard API:Code, DatabaseMap, HTTP API
- [x] Query for OpenAPI
- [ ] Documents
- [ ] Markdown
- [ ] PDF
- Transpile / Translate language
- [x] Unique language (aka Domain Language) dictionary
- [x] Transpile for Code, Datamap, API
- Prompt strategy
- [x] [HyDE](https://github.com/texttron/hyde)
- [x] ~~Jieba.rs + StarDict spike~~
- [x] Small LLM spike
CoUnit Prompt Strategy
![](docs/counit-prompt-strategy.svg)
## Uses
1. Download CoUnit-Server binary from [https://github.com/unit-mesh/co-unit/releases](https://github.com/unit-mesh/co-unit/releases)
2. push you `domain language` or config under `domain` directory (support, `.csv` and `.json` format)
3. Run CoUnit-Server
Domain Language:
| native | english | abbreviation | description |
|--------|----------------------|--------------|--------------------------------------------------------------------------|
| CoUnit | collaboration unit | CU | CoUnit,一个基于 LLM 的虚拟团队接口人(API),通过向量化文档、知识库、SDK和 API 等,结合 LLM 智能化团队间对接与协作。 |
| 大语言模型 | Large Language Model | LLM | 大语言模型,是指语言模型的参数量超过 10 亿的语言模型。 |
## Use cases
- AutoDev -> code: [counit](https://github.com/unit-mesh/auto-dev/tree/master/src/main/kotlin/cc/unitmesh/devti/counit).
## Development
Tech stacks:
- Rust, a language empowering everyone to build reliable and efficient software.
- Frameworks:
- Axum, Ergonomic and modular web framework built with Tokio, Tower, and Hyper
- Infrastructure:
- Qdrant, Vector similarity search engine
- Ort, ONNX Runtime is a performance-focused complete scoring engine for Open Neural Network Exchange (ONNX) models.
- Tokenizers, Fast State-of-the-Art Tokenizers optimized for Research and Production.
Setup:
1. Install Rust
2. Clone this repo: `git clone https://github.com/unit-mesh/co-unit`
3. install Qdrant by Docker:
```bash
docker pull qdrant/qdrant
docker run -p 6333:6333 -p 6334:6334 \
-e QDRANT__SERVICE__GRPC_PORT="6334" \
qdrant/qdrant
```
4.Run CoUnit-Server.
### API testing
use [counit-server.http](counit-server.http) to test API.
## Integration example with ArchGuard and AutoDev
AutoDev: [https://github.com/unit-mesh/auto-dev](https://github.com/unit-mesh/auto-dev)
ArchGuard: [https://github.com/archguard/archguard](https://github.com/archguard/archguard)
Full processes:
![Architecture](docs/architecture.svg)
1. Download ArchGuard CLI (scanner_cli-2.0.x-all.jar) from: [https://github.com/archguard/archguard/releases]
2. Run ArchGuard CLI to upload data to Co-Unit:
```bash
Usage: runner [OPTIONS]
scanner cli
Options:
--type [SOURCE_CODE|GIT|DIFF_CHANGES|SCA|RULE|ARCHITECTURE|ESTIMATE|OPENAPI]
--system-id TEXT system id
--server-url TEXT the base url of the archguard api server
--workspace TEXT the workspace directory
--path TEXT the path of target project
--output TEXT http, csv, json, console
--output-dir TEXT output directory
--analyser-spec TEXT Override the analysers via json.
--slot-spec TEXT Override the slot via json.
--language TEXT language: Java, Kotlin, TypeScript, CSharp,
Python, Golang.
--rules TEXT rules: webapi, test, sql
--features TEXT features: apicalls, datamap.
--repo-id TEXT repository id used for git analysing
--branch TEXT repository branch
--started-at INT TIMESTAMP, the start date of the scanned
commit
--since TEXT COMMIT ID, the specific revision of the
baseline
--until TEXT COMMIT ID, the specific revision of the
target
--depth INT INTEGER, the max loop depth
--with-function-code BOOLEAN, whether to include the function
code
-h, --help Show this message and exit
```
For example:
```bash
java -jar scanner_cli-2.0.6-all.jar --language=Kotlin --path=your_path_to_code --server-url=http://localhost:8765 --repo-id="archguard" --with-function-code --output=http --features=apicalls
```
OpenAPI example:
```bash
java -jar scanner_cli-2.0.6-all.jar --language=Kotlin --path=your_swagger_3_file --server-url=http://localhost:8765 --repo-id="payment" --output=http --type=OPENAPI
```
#### ArchGuard APIs:
```http request
### ArchGuard Code datastrcuture
POST http://127.0.0.1:8765/scanner/:systemId/reporting/class-items
### ArchGuard OpenAPI structure
POST http://127.0.0.1:8765/scanner/:systemId/reporting/openapi
### ArchGuard Service Datamap
POST http://127.0.0.1:8765/scanner/:systemId/reporting/container-services
### ArchGuard Datamap
POST http://127.0.0.1:8765/scanner/:systemId/reporting/datamap-relations
```
## License
The Co-Unit index is licensed under the Apache 2.0 license based
on [https://github.com/BloopAI/bloop](https://github.com/BloopAI/bloop) . See `LICENSE`
in [counit-index](./counit-index).
This code is distributed under the MPL 2.0 license. See `LICENSE` in this directory.
基于 LLM 的虚拟团队接口人(API)通过向量化文档、知识库, LLM 智能化团队间对接与协作.zip
需积分: 0 22 浏览量
更新于2023-12-24
收藏 14.31MB ZIP 举报
AIGC(Artificial Intelligence Generated Content,人工智能生成内容)的重要性体现在以下几个方面:
内容创作效率提升:
AIGC能够快速生成大量高质量的内容,包括文本、图像、音频、视频等,极大地提高了创作效率。这不仅降低了人力成本,也使得内容更新和迭代的速度加快,满足了信息爆炸时代人们对新鲜内容的高需求。
个性化和定制化服务:
AIGC可以根据用户的需求和偏好自动生成个性化的内容。这种能力在教育、娱乐、营销等领域具有巨大价值,能够提供高度定制化的用户体验,增强用户黏性和满意度。
创新与发现新应用:
AIGC技术的不断发展和普及促进了新的应用场景和商业模式的诞生。通过降低开发门槛,更多的开发者和企业能够探索和实验AIGC的应用,有可能催生出全新的现象级应用和服务。
商业效益增长:
AIGC在数字商业化领域具有显著优势。它能够赋能营销策略,提高广告和推广的精准度和效果,从而带动企业收入的增长。同时,通过自动化的内容生成,企业可以节省资源并专注于核心业务的创新和发展。
知识传播与教育:
AIGC能够生成教育材料、教程和知识摘要,帮助人们更高效地获取和学习新知识。在教育领域,AIGC可以个性化定制学习路径和内容,适应不同学生的学习速度和方式。
行业效率优化:
在保险、出版、法律等行业,AIGC可以自动处理大量的文档、报告和合同,提高工作效率,减少人为错误,并提供数据分析和决策支持。
学术研究与伦理考量:
AIGC在学术研究中的应用需要遵循特定的使用边界和准则,以防止学术不端行为。明确的指南有助于确保研究成果的真实性和可信度,同时推动AI技术在科研领域的健康发展。
极致人生-010
- 粉丝: 4436
- 资源: 3089
最新资源
- 【全年行事历】5团建医药箱常备药清单.docx
- 【全年行事历】4团建活动物料清单.xlsx
- 【全年行事历】7团建活动策划书.docx
- 【全年行事历】ZOL团建活动策划方案.pptx
- 【全年行事历】XXX团建活动计划.pptx
- 【全年行事历】86团建活动培训PPT完.pptx
- 【全年行事历】公司年度活动计划.xls
- 【全年行事历】大型企业公司活动进度表.xlsx
- 【全年行事历】公司户外团建活动方案-某公司.pptx
- 【全年行事历】公司团建费用统计表.xlsx
- 【全年行事历】公司团建拓展行程方案-模版.docx
- 【全年行事历】公司全年团建活动方案.xls
- 【全年行事历】公司员工一年度关怀方案预算.xls
- 【全年行事历】公司团建活动项目介绍.pptx
- 【全年行事历】行政部年度活动策划及经费预算.xlsx
- 【全年行事历】行政全年活动筹备规划.xlsx