ค้นหา codebase ของคุณความหมายหรือแชทกับมันจาก CLI ทำให้ฐานข้อมูล Vector Superfast เป็นวันที่ให้กับการเปลี่ยนแปลงรหัสล่าสุด การสนับสนุนในท้องถิ่น 100% โดยไม่มี dataleaks ใด ๆ
สร้างขึ้นด้วย Langchain, Treesitter, Sentence-Transformers, ผู้สอน, Faiss, Lama.cpp, Ollama, Streamlit
บันทึก
จะมีผลลัพธ์ที่ดีกว่าหากรหัสได้รับการบันทึกไว้อย่างดี คุณอาจพิจารณา doc-comments-AI สำหรับการสร้างเอกสารรหัส
codeqai search

codeqai chat

codeqai sync
codeqai app

บันทึก
ในการใช้งานครั้งแรกที่เก็บข้อมูลจะได้รับการจัดทำดัชนีด้วยโมเดล Embeddings ที่กำหนดค่าซึ่งอาจใช้เวลาสักครู่
ติดตั้งในสภาพแวดล้อมที่แยกได้ด้วย pipx :
pipx install codeqai
ตรวจสอบให้แน่ใจว่า Pipx ใช้ Python> = 3.9, <3.12
ในการระบุเวอร์ชัน Python อย่างชัดเจนด้วย PIPX ให้เปิดใช้งานเวอร์ชัน Python ที่ต้องการ (เช่นกับ pyenv shell 3.XX ) และติดตั้งด้วย:
pipx install codeqai --python $(which python)
หากคุณยังคงประสบปัญหาโดยใช้ PIPX คุณสามารถติดตั้งโดยตรงจากแหล่งที่มาผ่าน PYPI ด้วย:
pip install codeqai
อย่างไรก็ตามขอแนะนำให้ใช้ PIPX เพื่อรับประโยชน์จากสภาพแวดล้อมที่แยกได้สำหรับการพึ่งพา
เยี่ยมชมส่วนการแก้ไขปัญหาสำหรับการแก้ไขปัญหาที่ทราบระหว่างการติดตั้ง
บันทึก
บางแพ็คเกจไม่ได้ติดตั้งโดยค่าเริ่มต้น ในตอนแรกการใช้งานจะถูกขอให้ติดตั้ง faiss-cpu หรือ faiss-gpu แนะนำให้ใช้ FAISS-GPU หากฮาร์ดแวร์รองรับ CUDA 7.5+ หากการใช้งานในท้องถิ่นและ LLMS ถูกใช้จะถูกขอให้ติดตั้งผู้แปลประโยคผู้สอนหรือ llama.cpp
ในตอนแรกการใช้งานหรือการวิ่ง
codeqai configure
กระบวนการกำหนดค่าเริ่มต้นขึ้นซึ่งสามารถเลือก embeddings และ LLM ได้
สำคัญ
หากคุณต้องการเปลี่ยนโมเดล EMBEDDINGS ในการกำหนดค่าในภายหลังให้ลบไฟล์แคชใน ~/.cache/codeqai หลังจากนั้นไฟล์ vector store จะถูกสร้างขึ้นอีกครั้งด้วยโมเดล Embeddings ที่กำหนดค่าล่าสุด นี่เป็นสิ่งจำเป็นเนื่องจากการค้นหาความคล้ายคลึงกันไม่ทำงานหากโมเดลแตกต่างกัน
หากใช้แบบจำลองระยะไกลจำเป็นต้องใช้ตัวแปรสภาพแวดล้อมต่อไปนี้ หากตั้งค่าตัวแปรสภาพแวดล้อมที่ต้องการแล้วพวกเขาจะถูกใช้มิฉะนั้นคุณจะได้รับแจ้งให้ป้อนซึ่งจะถูกเก็บไว้ใน ~/.config/codeqai/.env
export OPENAI_API_KEY = " your OpenAI api key " export OPENAI_API_TYPE = " azure "
export AZURE_OPENAI_ENDPOINT = " https://<your-endpoint>.openai.azure.com/ "
export OPENAI_API_KEY = " your Azure OpenAI api key "
export OPENAI_API_VERSION = " 2023-05-15 " export ANTHROPIC_API_KEY= " your Anthropic api key " บันทึก
หากต้องการเปลี่ยนตัวแปรสภาพแวดล้อมในภายหลังให้อัปเดต ~/.config/codeqai/.env ด้วยตนเอง
Repo Git ทั้งหมดถูกแยกวิเคราะห์ด้วยต้นไม้เพื่อแยกวิธีทั้งหมดด้วยเอกสารและบันทึกลงในฐานข้อมูลเวกเตอร์ FAISS ในท้องถิ่นที่มีทั้งการแปลงประโยคผู้สอน-embedings หรือ OpenAI ของ OpenAi-embedding-ADA-002
ฐานข้อมูลเวกเตอร์จะถูกบันทึกลงในไฟล์ในระบบของคุณและจะโหลดในภายหลังอีกครั้งหลังจากการใช้งานเพิ่มเติม หลังจากนั้นก็เป็นไปได้ที่จะทำการค้นหาความหมายบน codebase ตามโมเดล Embeddings
หากต้องการแชทกับ codebase localaly llama.cpp หรือ ollama ถูกใช้โดยการระบุรุ่นที่ต้องการ สำหรับการซิงโครไนซ์ของการเปลี่ยนแปลงล่าสุดในพื้นที่เก็บข้อมูล GIT commit hashes ของแต่ละไฟล์พร้อมกับ ID เวกเตอร์จะถูกบันทึกลงในแคช เมื่อซิงโครไนซ์ฐานข้อมูลเวกเตอร์กับสถานะ GIT ล่าสุดแฮช cached cached จะถูกเปรียบเทียบกับแฮช Git ปัจจุบันของแต่ละไฟล์ในที่เก็บ หาก GIT commit hash แตกต่างกันเวกเตอร์ที่เกี่ยวข้องจะถูกลบออกจากฐานข้อมูลและแทรกอีกครั้งหลังจากการสร้างเวกเตอร์ฝังตัวใหม่ การใช้ llama.cpp โมเดลที่ระบุจะต้องมีอยู่ในระบบล่วงหน้า การใช้ Ollama ตู้คอนเทนเนอร์ Ollama กับรุ่นที่ต้องการจะต้องใช้งานได้ล่วงหน้าในพอร์ต 11434 นอกจากนี้ยังสามารถใช้ OpenAI หรือ Azure-Openai สำหรับโมเดลแชทระยะไกลได้
ติดตั้ง huggingface-cli และดาวน์โหลดรุ่นที่คุณต้องการจาก Model Hub ตัวอย่างเช่น
huggingface-cli download TheBloke/CodeLlama-13B-Python-GGUF codellama-13b-python.Q5_K_M.gguf
จะดาวน์โหลดรุ่น codellama-13b-python.Q5_K_M หลังจากการดาวน์โหลดเสร็จสิ้นเส้นทางที่สมบูรณ์ของไฟล์ .gguf รุ่นจะถูกพิมพ์ลงในคอนโซล
สำคัญ
รุ่นที่เข้ากันได้ของ llama.cpp จะต้องอยู่ในรูปแบบ .gguf
pipx pip failed to build package: tiktoken
Some possibly relevant errors from pip install:
error: subprocess-exited-with-error
error: can't find Rust compiler
ตรวจสอบให้แน่ใจว่ามีการติดตั้งคอมไพเลอร์สนิมบนระบบของคุณจากที่นี่
faiss × Building wheel for faiss-cpu (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [12 lines of output]
running bdist_wheel
...
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for faiss-cpu
Failed to build faiss-cpu
ERROR: Could not build wheels for faiss-cpu, which is required to install pyproject.toml-based projects
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง CodeQai ด้วย Python <3.12 ยังไม่มีล้อ Faiss สำหรับ Python 3.12
หากคุณขาดคุณสมบัติหรือเผชิญกับข้อผิดพลาดอย่าลังเลที่จะเปิดปัญหาหรือเพิ่มการประชาสัมพันธ์ การบริจาคทุกประเภทได้รับการชื่นชมอย่างมาก!
ในการสร้างและเรียกใช้โครงการในโหมดการพัฒนาตรวจสอบให้แน่ใจว่ามีการติดตั้ง conda , conda-lock หรือ poetry
โดยใช้ conda Run:
conda env create -f environment.yml -n codeqai
หรือโดยใช้ conda-lock run:
conda-lock install --name codeqai conda-<YOUR_PLATFORM>.lock
เปิดใช้งานสภาพแวดล้อมและติดตั้งการพึ่งพาด้วย:
conda activate codeqai && poetry install
โดยใช้ poetry รัน:
poetry install && poetry shell
เรียกใช้ EG codeqai chat ภายในสภาพแวดล้อมการพัฒนาด้วย:
poetry run codeqai chat
เรียกใช้การทดสอบด้วย:
poetry run pytest -s -vv