การดำเนินการตามข้อกำหนดของ Nano Bots พร้อมการสนับสนุนสำหรับมานุษยวิทยา Claude, Cohere Command, Google Gemini, Maritaca Ai Sabiá, Mistral AI, Ollama, Openai Chatgpt และคนอื่น ๆ ด้วยการสนับสนุนเครื่องมือโทร (ฟังก์ชั่น)
gem install nano-bots -v 3.4.0nb - - eval " hello "
# => Hello! How may I assist you today? nb - - repl ?> Hi, how are you doing?
As an AI language model, I do not experience emotions but I am functioning
well. How can I assist you?
?> |
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : openai
credentials :
access-token : ENV/OPENAI_API_KEY
settings :
user : ENV/NANO_BOTS_END_USER
model : gpt-4o nb gpt.yml - eval " hi "
# => Hello! How can I assist you today? gem 'nano-bots' , '~> 3.4.0' require 'nano-bots'
bot = NanoBot . new ( cartridge : 'gpt.yml' )
bot . eval ( 'Hi!' ) do | content , fragment , finished , meta |
print fragment unless fragment . nil?
end
# => Hello! How can I assist you today? หลังจากติดตั้งอัญมณีคำสั่ง nb Binary จะพร้อมใช้งานสำหรับโครงการหรือระบบของคุณ
ตัวอย่างการใช้งาน:
nb - - eval " hello "
# => Hello! How may I assist you today?
nb to-en-us-translator.yml - eval " Salut, comment ça va? "
# => Hello, how are you doing?
nb midjourney.yml - eval " happy cyberpunk robot "
# => A cheerful and fun-loving robot is dancing wildly amidst a
# futuristic and lively cityscape. Holographic advertisements
# and vibrant neon colors can be seen in the background.
nb lisp.yml - eval " (+ 1 2) "
# => 3
cat article.txt |
nb to-en-us-translator.yml - eval |
nb summarizer.yml - eval
# -> LLM stands for Large Language Model, which refers to an
# artificial intelligence algorithm capable of processing
# and understanding vast amounts of natural language data,
# allowing it to generate human-like responses and perform
# a range of language-related tasks. nb - - repl
nb assistant.yml - repl ?> Hi, how are you doing?
As an AI language model, I do not experience emotions but I am functioning
well. How can I assist you?
?> |
คุณสามารถออกจาก exit การพิมพ์
คำสั่งทั้งหมดข้างต้นไม่มีสัญลักษณ์ หากคุณต้องการรักษาประวัติการโต้ตอบของคุณให้แทนที่ - ด้วยคีย์สถานะ:
nb assistant.yml your-user eval " Salut, comment ça va? "
nb assistant.yml your-user repl
nb assistant.yml 6ea6c43c42a1c076b1e3c36fa349ac2c eval " Salut, comment ça va? "
nb assistant.yml 6ea6c43c42a1c076b1e3c36fa349ac2c replคุณสามารถใช้คีย์ง่าย ๆ เช่นชื่อผู้ใช้ของคุณหรือคีย์ที่สร้างขึ้นแบบสุ่ม:
require 'securerandom'
SecureRandom . hex # => 6ea6c43c42a1c076b1e3c36fa349ac2cnb - - cartridge
nb cartridge.yml - cartridge
nb - STATE-KEY state
nb cartridge.yml STATE-KEY stateเพื่อใช้เป็นห้องสมุด:
require 'nano-bots/cli' # Equivalent to the `nb` command. require 'nano-bots'
NanoBot . cli # Equivalent to the `nb` command.
NanoBot . repl ( cartridge : 'cartridge.yml' ) # Starts a new REPL.
bot = NanoBot . new ( cartridge : 'cartridge.yml' )
bot = NanoBot . new (
cartridge : YAML . safe_load ( File . read ( 'cartridge.yml' ) , permitted_classes : [ Symbol ] )
)
bot = NanoBot . new (
cartridge : { ... } # Parsed Cartridge Hash
)
bot . eval ( 'Hello' )
bot . eval ( 'Hello' , as : 'eval' )
bot . eval ( 'Hello' , as : 'repl' )
# When stream is enabled and available:
bot . eval ( 'Hi!' ) do | content , fragment , finished , meta |
print fragment unless fragment . nil?
end
bot . repl # Starts a new REPL.
NanoBot . repl ( cartridge : 'cartridge.yml' , state : '6ea6c43c42a1c076b1e3c36fa349ac2c' )
bot = NanoBot . new ( cartridge : 'cartridge.yml' , state : '6ea6c43c42a1c076b1e3c36fa349ac2c' )
bot . prompt # => "?u001b[34m> u001b[0m"
bot . boot
bot . boot ( as : 'eval' )
bot . boot ( as : 'repl' )
bot . boot do | content , fragment , finished , meta |
print fragment unless fragment . nil?
end ในการติดตั้ง CLI ในระบบของคุณ:
gem install nano-bots -v 3.4.0 หากต้องการใช้ในโครงการทับทิมเป็นห้องสมุดให้เพิ่มลงใน Gemfile ของคุณ:
gem 'nano-bots' , '~> 3.4.0' bundle install สำหรับข้อมูลรับรองและการกำหนดค่าตัวแปรสภาพแวดล้อมที่เกี่ยวข้องสามารถตั้งค่าในไฟล์ .bashrc , .zshrc หรือไฟล์เทียบเท่ารวมถึงในคอนเทนเนอร์ Docker หรือสภาพแวดล้อมของระบบ ตัวอย่าง:
export NANO_BOTS_ENCRYPTION_PASSWORD=UNSAFE
export NANO_BOTS_END_USER=your-user
# export NANO_BOTS_STATE_PATH=/home/user/.local/state/nano-bots
# export NANO_BOTS_CARTRIDGES_PATH=/home/user/.local/share/nano-bots/cartridges อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
NANO_BOTS_ENCRYPTION_PASSWORD=UNSAFE
NANO_BOTS_END_USER=your-user
# NANO_BOTS_STATE_PATH=/home/user/.local/state/nano-bots
# NANO_BOTS_CARTRIDGES_PATH=/home/user/.local/share/nano-bots/cartridgesคุณสามารถรับข้อมูลประจำตัวของคุณบนคอนโซลมานุษยวิทยา
export ANTHROPIC_API_KEY=your-api-key อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
ANTHROPIC_API_KEY=your-api-key สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : anthropic
credentials :
api-key : ENV/ANTHROPIC_API_KEY
settings :
model : claude-3-5-sonnet-20240620
max_tokens : 4096อ่านข้อมูลจำเพาะเต็มรูปแบบสำหรับมานุษยวิทยา Claude
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )คุณสามารถรับข้อมูลประจำตัวของคุณบนแพลตฟอร์ม Cohere
export COHERE_API_KEY=your-api-key อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
COHERE_API_KEY=your-api-key สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : cohere
credentials :
api-key : ENV/COHERE_API_KEY
settings :
model : commandอ่านข้อกำหนดทั้งหมดสำหรับคำสั่ง Cohere
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )คุณสามารถรับคีย์ API ของคุณได้ที่ Maritalk
แนบรับรองในราคาเดียวเมื่อใช้ตัวแปรสภาพแวดล้อมเพื่อป้องกันปัญหาด้วยอักขระ $ ในคีย์ API:
export MARITACA_API_KEY= ' 123...$a12... ' อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
MARITACA_API_KEY= ' 123...$a12... ' สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : maritaca
credentials :
api-key : ENV/MARITACA_API_KEY
settings :
model : sabia-2-mediumอ่านข้อกำหนดทั้งหมดสำหรับ Mistral AI
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )คุณสามารถรับข้อมูลประจำตัวของคุณบนแพลตฟอร์ม Mistral
export MISTRAL_API_KEY=your-api-key อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
MISTRAL_API_KEY=your-api-key สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : mistral
credentials :
api-key : ENV/MISTRAL_API_KEY
settings :
model : mistral-medium-latestอ่านข้อกำหนดทั้งหมดสำหรับ Mistral AI
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )ในการติดตั้งและตั้งค่าให้ทำตามคำแนะนำในเว็บไซต์ Ollama
export OLLAMA_API_ADDRESS=http://localhost:11434 อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
OLLAMA_API_ADDRESS=http://localhost:11434 สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : ollama
credentials :
address : ENV/OLLAMA_API_ADDRESS
settings :
model : llama3อ่านข้อกำหนดทั้งหมดสำหรับ Ollama
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )คุณสามารถรับข้อมูลประจำตัวของคุณบนแพลตฟอร์ม OpenAI
export OPENAI_API_KEY=your-access-token อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
OPENAI_API_KEY=your-access-token สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : openai
credentials :
access-token : ENV/OPENAI_API_KEY
settings :
user : ENV/NANO_BOTS_END_USER
model : gpt-4oอ่านข้อมูลจำเพาะเต็มรูปแบบสำหรับ OpenAI chatgpt
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' )คลิกที่นี่เพื่อเรียนรู้วิธีรับข้อมูลประจำตัวของคุณ
export GOOGLE_API_KEY=your-api-key อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
GOOGLE_API_KEY=your-api-key สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : google
credentials :
service : generative-language-api
api-key : ENV/GOOGLE_API_KEY
options :
model : gemini-proอ่านข้อมูลจำเพาะเต็มรูปแบบสำหรับ Google Gemini
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' ) export GOOGLE_CREDENTIALS_FILE_PATH=google-credentials.json
export GOOGLE_REGION=us-east4 อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
GOOGLE_CREDENTIALS_FILE_PATH=google-credentials.json
GOOGLE_REGION=us-east4 สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : google
credentials :
service : vertex-ai-api
file-path : ENV/GOOGLE_CREDENTIALS_FILE_PATH
region : ENV/GOOGLE_REGION
options :
model : gemini-proอ่านข้อมูลจำเพาะเต็มรูปแบบสำหรับ Google Gemini
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' ) export GOOGLE_REGION=us-east4 อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
GOOGLE_REGION=us-east4 สร้างไฟล์ cartridge.yml :
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : google
credentials :
service : vertex-ai-api
region : ENV/GOOGLE_REGION
options :
model : gemini-proอ่านข้อมูลจำเพาะเต็มรูปแบบสำหรับ Google Gemini
nb cartridge.yml - eval " Hello "
nb cartridge.yml - repl bot = NanoBot . new ( cartridge : 'cartridge.yml' )
puts bot . eval ( 'Hello' ) หากคุณต้องการตั้งค่ารหัสโครงการ Google ด้วยตนเอง:
export GOOGLE_PROJECT_ID=your-project-id อีกทางเลือกหนึ่งหากไดเรกทอรีปัจจุบันของคุณมีไฟล์ .env พร้อมตัวแปรสภาพแวดล้อมพวกเขาจะถูกโหลดโดยอัตโนมัติ:
GOOGLE_PROJECT_ID=your-project-id เพิ่มไปยังไฟล์ cartridge.yml ของคุณ:
---
provider :
id : google
credentials :
project-id : ENV/GOOGLE_PROJECT_ID ตรวจสอบข้อกำหนดของ Nano Bots เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการสร้างตลับหมึก
ลองใช้คลินิก Nano Bots (Editor Live) เพื่อเรียนรู้เกี่ยวกับการสร้างตลับหมึก
นี่คือสิ่งที่คาร์ทริดจ์บอทนาโนมีลักษณะอย่างไร:
---
meta :
symbol : ?
name : Nano Bot Name
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
behaviors :
interaction :
directive : You are a helpful assistant.
provider :
id : openai
credentials :
access-token : ENV/OPENAI_API_KEY
settings :
user : ENV/NANO_BOTS_END_USER
model : gpt-4oบอทนาโนสามารถขับเคลื่อนด้วย เครื่องมือ (ฟังก์ชั่น):
---
tools :
- name : random-number
description : Generates a random number between 1 and 100.
fennel : |
(math.random 1 100) ?> please generate a random number
random-number {} [yN] y
random-number {}
59
The randomly generated number is 59.
?> |
ในการใช้เครื่องมือ (ฟังก์ชั่น) สำเร็จคุณต้องระบุผู้ให้บริการและโมเดลที่รองรับพวกเขา จากการเขียนของ readme นี้ผู้ให้บริการที่รองรับพวกเขาคือ OpenAI ด้วยรุ่น gpt-3.5-turbo-1106 และ gpt-4o และ Google พร้อมบริการ vertex-ai-api และ Model gemini-pro ผู้ให้บริการรายอื่นยังไม่ได้รับการสนับสนุน
ตรวจสอบข้อกำหนดของ Nano Bots เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับเครื่องมือ (ฟังก์ชั่น)
เรากำลังสำรวจการใช้ Clojure ผ่าน Babashka ขับเคลื่อนโดย Graalvm
การสนับสนุนการทดลองสำหรับ Clojure จะคล้ายกับ Lua และ Fennel โดยใช้ clojure: Key:
---
clojure : |
(-> (java.time.ZonedDateTime/now)
(.format (java.time.format.DateTimeFormatter/ofPattern "yyyy-MM-dd HH:mm"))
(clojure.string/trimr)) การสนับสนุน Clojure ไม่ ได้ฝังอยู่ ในการดำเนินการนี้ซึ่งแตกต่างจาก Lua และ Fennel มันขึ้นอยู่กับการมี Babashka Binary ( bb ) ที่มีอยู่ในสภาพแวดล้อมของคุณที่ Nano Bot กำลังทำงานอยู่
นี่คือวิธีการติดตั้ง Babashka:
curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | sudo bashนี่คือการตรวจสอบอย่างรวดเร็วเพื่อให้แน่ใจว่ามีอยู่และใช้งานได้:
bb -e ' {:hello "world"} '
# => {:hello "world"}เราไม่มีการสนับสนุน Sandbox สำหรับ Clojure; ซึ่งหมายความว่าคุณต้องปิดการใช้งานเพื่อให้สามารถเรียกใช้รหัส Clojure ซึ่งคุณทำตามความเสี่ยงของคุณเอง:
---
safety :
functions :
sandboxed : falseคุณสามารถสำรวจตลาด Nano Bots เพื่อค้นหาตลับหมึกใหม่ที่สามารถช่วยคุณได้
ผู้ให้บริการแต่ละรายจะมีนโยบายความปลอดภัยและความเป็นส่วนตัวของตนเอง (เช่นนโยบาย OpenAI) ดังนั้นคุณต้องปรึกษาพวกเขาให้เข้าใจถึงความหมายของพวกเขา
โดยค่าเริ่มต้นรัฐทั้งหมดที่เก็บไว้ในดิสก์ท้องถิ่นของคุณจะถูกเข้ารหัส
เพื่อให้แน่ใจว่าการเข้ารหัสมีความปลอดภัยคุณต้องกำหนดรหัสผ่านผ่านตัวแปรสภาพแวดล้อม NANO_BOTS_ENCRYPTION_PASSWORD มิฉะนั้นแม้ว่าเนื้อหาจะถูกเข้ารหัส แต่ทุกคนจะสามารถถอดรหัสได้โดยไม่ต้องใช้รหัสผ่าน
เป็นสิ่งสำคัญที่จะต้องทราบว่าเนื้อหาที่ใช้ร่วมกับผู้ให้บริการแม้จะถูกส่งผ่านการเชื่อมต่อที่ปลอดภัย (เช่น HTTPS) จะสามารถอ่านได้โดยผู้ให้บริการ นี่เป็นเพราะผู้ให้บริการจำเป็นต้องใช้ข้อมูลซึ่งจะเป็นไปไม่ได้หากเนื้อหาถูกเข้ารหัสเกิน HTTPS ดังนั้นข้อมูลที่เก็บไว้ในระบบของคุณจะถูกเข้ารหัสซึ่งไม่ได้หมายความว่าสิ่งที่คุณแบ่งปันกับผู้ให้บริการจะไม่สามารถอ่านได้
เพื่อให้แน่ใจว่าการเข้ารหัสและรหัสผ่านของคุณได้รับการกำหนดค่าอย่างถูกต้องคุณสามารถเรียกใช้คำสั่งต่อไปนี้:
nb securityซึ่งควรกลับมา:
✅ Encryption is enabled and properly working.
This means that your data is stored in an encrypted format on your disk.
✅ A password is being used for the encrypted content.
This means that only those who possess the password can decrypt your data.
หรือคุณสามารถตรวจสอบได้ที่รันไทม์ด้วย:
require 'nano-bots'
NanoBot . security . check
# => { encryption: true, password: true }กลยุทธ์ทั่วไปสำหรับการปรับใช้บอทนาโนกับผู้ใช้หลายคนผ่าน API หรือระบบอัตโนมัติคือการกำหนดรหัสผู้ใช้ปลายทางที่ไม่ซ้ำกันสำหรับผู้ใช้แต่ละคน สิ่งนี้จะเป็นประโยชน์หากผู้ใช้ของคุณละเมิดนโยบายของผู้ให้บริการเนื่องจากพฤติกรรมที่ไม่เหมาะสม ด้วยการจัดหารหัสผู้ใช้ปลายทางคุณสามารถคลี่คลายได้ว่าแม้ว่ากิจกรรมที่เกิดจากคีย์ API ของคุณการกระทำนั้นไม่ใช่ของคุณเอง
คุณสามารถกำหนดตัวระบุผู้ใช้ปลายทางที่กำหนดเองด้วยวิธีต่อไปนี้:
NanoBot . new ( environment : { NANO_BOTS_END_USER : 'custom-user-a' } )
NanoBot . new ( environment : { NANO_BOTS_END_USER : 'custom-user-b' } )พิจารณาว่าคุณมีตัวระบุผู้ใช้ปลายทางต่อไปนี้ในสภาพแวดล้อมของคุณ:
NANO_BOTS_END_USER=your-nameหรือการกำหนดค่าในตลับหมึกของคุณ:
---
provider :
id : openai
settings :
user : your-nameคำขอจะดำเนินการดังนี้:
NanoBot . new ( cartridge : '-' )
# { user: 'your-name' }
NanoBot . new ( cartridge : '-' , environment : { NANO_BOTS_END_USER : 'custom-user-a' } )
# { user: 'custom-user-a' }
NanoBot . new ( cartridge : '-' , environment : { NANO_BOTS_END_USER : 'custom-user-b' } )
# { user: 'custom-user-b' }ที่จริงแล้วเพื่อปรับปรุงความเป็นส่วนตัวผู้ใช้ของคุณและผู้ใช้ของคุณจะไม่ถูกแชร์ด้วยวิธีนี้ แต่พวกเขาจะถูกเข้ารหัสก่อนที่จะถูกแชร์กับผู้ให้บริการ:
'your-name'
# _O7OjYUESagb46YSeUeSfSMzoO1Yg0BZqpsAkPg4j62SeNYlgwq3kn51Ob2wmIehoA==
'custom-user-a'
# _O7OjYUESagb46YSeUeSfSMzoO1Yg0BZJgIXHCBHyADW-rn4IQr-s2RvP7vym8u5tnzYMIs=
'custom-user-b'
# _O7OjYUESagb46YSeUeSfSMzoO1Yg0BZkjUwCcsh9sVppKvYMhd2qGRvP7vym8u5tnzYMIg= ในลักษณะนี้คุณมีตัวระบุหากจำเป็นอย่างไรก็ตามเนื้อหาจริงของพวกเขาสามารถถอดรหัสได้ผ่านรหัสผ่านที่ปลอดภัยของคุณเท่านั้น ( NANO_BOTS_ENCRYPTION_PASSWORD )
ในการถอดรหัสข้อมูลที่เข้ารหัสของคุณเมื่อคุณกำหนดค่ารหัสผ่านอย่างถูกต้องคุณสามารถเรียกใช้:
require 'nano-bots'
NanoBot . security . decrypt ( '_O7OjYUESagb46YSeUeSfSMzoO1Yg0BZqpsAkPg4j62SeNYlgwq3kn51Ob2wmIehoA==' )
# your-name
NanoBot . security . decrypt ( '_O7OjYUESagb46YSeUeSfSMzoO1Yg0BZJgIXHCBHyADW-rn4IQr-s2RvP7vym8u5tnzYMIs=' )
# custom-user-a
NanoBot . security . decrypt ( '_O7OjYUESagb46YSeUeSfSMzoO1Yg0BZkjUwCcsh9sVppKvYMhd2qGRvP7vym8u5tnzYMIg=' )
# custom-user-bหากคุณสูญเสียรหัสผ่านคุณจะสูญเสียข้อมูล เป็นไปไม่ได้ที่จะกู้คืนได้เลย สำหรับจริง
01.ai Yi, Lmsys Vicuna, Meta Llama และ Wizardlm เป็นรุ่นโอเพนซอร์ซที่ได้รับการสนับสนุนผ่าน Ollama
โคลนที่เก็บและคัดลอกเทมเพลตนักเทียบท่าที่เขียนขึ้นมา:
git clone https://github.com/icebaker/ruby-nano-bots.git
cd ruby-nano-bots
cp docker-compose.example.yml docker-compose.yml
ตั้งค่าข้อมูลรับรองผู้ให้บริการของคุณและเลือกเส้นทางที่คุณต้องการสำหรับไฟล์ตลับหมึก:
---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
ANTHROPIC_API_KEY : your-api-key
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
COHERE_API_KEY : your-api-key
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
MARITACA_API_KEY : your-api-key
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
MISTRAL_API_KEY : your-api-key
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots โปรดจำไว้ว่า localhost ของคุณไม่สามารถเข้าถึงได้จาก Docker ภายใน คุณต้องสร้างเครือข่าย inter-container ใช้ที่อยู่ของโฮสต์หรือใช้เครือข่ายโฮสต์ขึ้นอยู่กับตำแหน่งที่เซิร์ฟเวอร์ Ollama กำลังทำงานอยู่และการตั้งค่าของคุณ
---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
OLLAMA_API_ADDRESS : http://localhost:11434
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots
# If you are running the Ollama server on your localhost:
network_mode : host # WARNING: Be careful, this may be a security risk.---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
OPENAI_API_KEY : your-access-token
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
GOOGLE_API_KEY : your-api-key
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots ---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
GOOGLE_CREDENTIALS_FILE_PATH : /root/.config/google-credentials.json
GOOGLE_REGION : us-east4
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./google-credentials.json:/root/.config/google-credentials.json
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots ---
services :
nano-bots :
image : ruby:3.3.3-slim-bookworm
command : sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.4.0 && bash"
environment :
GOOGLE_REGION : us-east4
NANO_BOTS_ENCRYPTION_PASSWORD : UNSAFE
NANO_BOTS_END_USER : your-user
volumes :
- ./your-cartridges:/root/.local/share/nano-bots/cartridges
- ./your-state-path:/root/.local/state/nano-bots หากคุณต้องการตั้งค่ารหัสโครงการ Google ด้วยตนเอง:
environment :
GOOGLE_PROJECT_ID=your-project-idป้อนคอนเทนเนอร์:
docker compose run nano-botsเริ่มเล่น:
nb - - eval " hello "
nb - - repl
nb assistant.yml - eval " hello "
nb assistant.yml - repl คุณสามารถออกจาก exit การพิมพ์
bundle
rubocop -A
rspec
bundle exec ruby spec/tasks/run-all-models.rb
bundle exec ruby spec/tasks/run-model.rb spec/data/cartridges/models/openai/gpt-4-turbo.yml
bundle exec ruby spec/tasks/run-model.rb spec/data/cartridges/models/openai/gpt-4-turbo.yml streamหากคุณประสบปัญหาในการอัพเกรดเวอร์ชันอัญมณี:
bundle install --full-indexgem build nano-bots.gemspec
gem signin
gem push nano-bots-3.4.0.gem