CoUnit,一个基于 LLM 的虚拟团队接口人(API),通过向量化文档、知识库、SDK和 API 等,结合 LLM 智能化团队间对接与协作。
todos:
Semantic search for Team API
Markdown
ArchGuard API:Code, DatabaseMap, HTTP API
Query for OpenAPI
Documents
Transpile / Translate language
Unique language (aka Domain Language) dictionary
Transpile for Code, Datamap, API
Prompt strategy
HyDE
Jieba.rs + StarDict spike
Small LLM spike
CoUnit Prompt Strategy
Download CoUnit-Server binary from https://github.com/unit-mesh/co-unit/releases
push you domain language
or config under domain
directory (support, .csv
and .json
format)
Run CoUnit-Server
Domain Language:
native | english | abbreviation | description |
---|---|---|---|
CoUnit | collaboration unit | CU | CoUnit,一个基于 LLM 的虚拟团队接口人(API),通过向量化文档、知识库、SDK和 API 等,结合 LLM 智能化团队间对接与协作。 |
大语言模型 | Large Language Model | LLM | 大语言模型,是指语言模型的参数量超过 10 亿的语言模型。 |
AutoDev -> code: counit.
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:
Install Rust
Clone this repo: git clone https://github.com/unit-mesh/co-unit
install Qdrant by Docker:
docker pull qdrant/qdrant docker run -p 6333:6333 -p 6334:6334 -e QDRANT__SERVICE__GRPC_PORT="6334" qdrant/qdrant
4.Run CoUnit-Server.
use counit-server.http to test API.
AutoDev: https://github.com/unit-mesh/auto-dev
ArchGuard: https://github.com/archguard/archguard
Full processes:
Download ArchGuard CLI (scanner_cli-2.0.x-all.jar) from: [https://github.com/archguard/archguard/releases]
Run ArchGuard CLI to upload data to Co-Unit:
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:
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:
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 Code datastrcuturePOST http://127.0.0.1:8765/scanner/:systemId/reporting/class-items### ArchGuard OpenAPI structurePOST http://127.0.0.1:8765/scanner/:systemId/reporting/openapi### ArchGuard Service DatamapPOST 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
The Co-Unit index is licensed under the Apache 2.0 license based
on https://github.com/BloopAI/bloop . See LICENSE
in counit-index.
This code is distributed under the MPL 2.0 license. See LICENSE
in this directory.