Konfigurasikan dan terapkan dengan mudah layanan web chatbot yang dihosting sendiri sepenuhnya berdasarkan Model Bahasa Besar (LLM) sumber terbuka, seperti Mixtral atau Llama 2, tanpa memerlukan pengetahuan dalam pembelajaran mesin.
pip
?, atau gambar docker
?LangChain
dan llama.cpp
untuk melakukan inferensi secara lokal.Untuk detail lebih lanjut tentang cara menggunakan Libre Chat, periksa dokumentasi di vemonet.github.io/libre-chat
Peringatan
Proyek ini sedang dalam proses, gunakan dengan hati-hati.
Pos pemeriksaan tersebut adalah fitur yang kami rencanakan untuk dikerjakan di masa mendatang, jangan ragu untuk memberi tahu kami jika Anda memiliki komentar atau permintaan.
Jika Anda hanya ingin menerapkannya dengan cepat menggunakan model terlatih Mixtral-8x7B-Instruct
, Anda dapat menggunakan buruh pelabuhan:
docker run -it -p 8000:8000 ghcr.io/vemonet/libre-chat:main
Anda dapat mengonfigurasi penerapan menggunakan variabel lingkungan. Untuk ini menggunakan docker compose
dan file .env
lebih mudah, pertama buat file docker-compose.yml
:
version : " 3 "
services :
libre-chat :
image : ghcr.io/vemonet/libre-chat:main
volumes :
# ️ Share folders from the current directory to the /data dir in the container
- ./chat.yml:/data/chat.yml
- ./models:/data/models
- ./documents:/data/documents
- ./embeddings:/data/embeddings
- ./vectorstore:/data/vectorstore
ports :
- 8000:8000
Dan buat file chat.yml
dengan konfigurasi Anda di folder yang sama dengan docker-compose.yml
:
llm :
model_path : ./models/mixtral-8x7b-instruct-v0.1.Q2_K.gguf
model_download : https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF/resolve/main/mixtral-8x7b-instruct-v0.1.Q2_K.gguf
temperature : 0.01 # Config how creative, but also potentially wrong, the model can be. 0 is safe, 1 is adventurous
max_new_tokens : 1024 # Max number of words the LLM can generate
# Always use input for the human input variable with a generic agent
prompt_variables : [input, history]
prompt_template : |
Your are an assistant, please help me
{history}
User: {input}
AI Assistant:
vector :
vector_path : null # Path to the vectorstore to do QA retrieval, e.g. ./vectorstore/db_faiss
# Set to null to deploy a generic conversational agent
vector_download : null
embeddings_path : ./embeddings/all-MiniLM-L6-v2 # Path to embeddings used to generate the vectors, or use directly from HuggingFace: sentence-transformers/all-MiniLM-L6-v2
embeddings_download : https://public.ukp.informatik.tu-darmstadt.de/reimers/sentence-transformers/v0.2/all-MiniLM-L6-v2.zip
documents_path : ./documents # Path to documents to vectorize
chunk_size : 500 # Maximum size of chunks, in terms of number of characters
chunk_overlap : 50 # Overlap in characters between chunks
chain_type : stuff # Or: map_reduce, reduce, map_rerank. More details: https://docs.langchain.com/docs/components/chains/index_related_chains
search_type : similarity # Or: similarity_score_threshold, mmr. More details: https://python.langchain.com/docs/modules/data_connection/retrievers/vectorstore
return_sources_count : 2 # Number of sources to return when generating an answer
score_threshold : null # If using the similarity_score_threshold search type. Between 0 and 1
info :
title : " Libre Chat "
version : " 0.1.0 "
description : |
Open source and free chatbot powered by [LangChain](https://python.langchain.com) and [llama.cpp](https://github.com/ggerganov/llama.cpp)
examples :
- What is the capital of the Netherlands?
- Which drugs are approved by the FDA to mitigate Alzheimer symptoms?
- How can I create a logger with timestamp using python logging?
favicon : https://raw.github.com/vemonet/libre-chat/main/docs/docs/assets/logo.png
repository_url : https://github.com/vemonet/libre-chat
public_url : https://chat.semanticscience.org
contact :
name : Vincent Emonet
email : [email protected]
license_info :
name : MIT license
url : https://raw.github.com/vemonet/libre-chat/main/LICENSE.txt
Akhirnya mulai layanan obrolan Anda dengan:
docker compose up
Paket ini memerlukan Python >=3.8, cukup instal dengan pipx
atau pip
:
pip install libre-chat
Anda dapat dengan mudah memulai layanan web obrolan baru termasuk UI dan API menggunakan terminal Anda:
libre-chat start
Berikan file konfigurasi tertentu:
libre-chat start config/chat-vectorstore-qa.yml
Untuk membangun kembali vectorstore:
libre-chat build --vector vectorstore/db_faiss --documents documents
Dapatkan ikhtisar lengkap opsi yang tersedia dengan:
libre-chat --help
Atau Anda dapat menggunakan paket ini dalam skrip python:
import logging
import uvicorn
from libre_chat import ChatConf , ChatEndpoint , Llm
logging . basicConfig ( level = logging . getLevelName ( "INFO" ))
conf = ChatConf (
model_path = "./models/mixtral-8x7b-instruct-v0.1.Q2_K.gguf" ,
vector_path = None
)
llm = Llm ( conf = conf )
print ( llm . query ( "What is the capital of the Netherlands?" ))
# Create and deploy a FastAPI app based on your LLM
app = ChatEndpoint ( llm = llm , conf = conf )
uvicorn . run ( app )
Terinspirasi oleh:
Ikon Llama dibuat oleh Freepik - Flaticon