thislike.me
32 subscribers
170 photos
67 videos
8 files
300 links
В общем и целом, так как приходится пересылать информацию из разных источников, решил делать это здесь. Все что мне интересно, буду публиковать в нем
Download Telegram
Небольшой пример использования langchain-go для ембендинга данных в redis и их использования при ответах gtp

как обычно в гошке есть нюансы по работе с пдф, на самом деле лучше любой формат файла перегонять в просто текст и его уже скармливать в вектора


package main

import (
"context"
"fmt"
"log"
"os"

"github.com/tmc/langchaingo/chains"
"github.com/tmc/langchaingo/documentloaders"
"github.com/tmc/langchaingo/embeddings"
"github.com/tmc/langchaingo/llms/ollama"
"github.com/tmc/langchaingo/textsplitter"
"github.com/tmc/langchaingo/vectorstores"
"github.com/tmc/langchaingo/vectorstores/redisvector"
)

func main() {

redisURL := "redis://localhost:10001" //redis-stack
ollamaURL := "http://localhost:11434"
index := "test_redis_vectorstore"

model := "llama3.1:8b"
embeddingModel := "nomic-embed-text:latest"

opts_chat := []ollama.Option{
ollama.WithModel(model),
ollama.WithServerURL(ollamaURL),
}

llm_chat, err := ollama.New(opts_chat...)
if err != nil {
fmt.Println(err)
}

opts_emb := []ollama.Option{
ollama.WithModel(embeddingModel),
ollama.WithServerURL(ollamaURL),
}

llm_emb, err := ollama.New(opts_emb...)
if err != nil {
fmt.Println(err)
}

emb, err := embeddings.NewEmbedder(llm_emb)
if err != nil {
log.Fatal(err)
}

ctx := context.Background()
store, err := redisvector.New(ctx,
redisvector.WithConnectionURL(redisURL),
redisvector.WithIndexName(index, true),
redisvector.WithEmbedder(emb),
)

f, err := os.Open("./spec/doc.pdf")
if err != nil {
fmt.Printf("Failed to open file: %v\n", err)
return
}
defer f.Close()
finfo, err := f.Stat()
p := documentloaders.NewPDF(f, finfo.Size())
split := textsplitter.NewRecursiveCharacter()
split.ChunkSize = 1000
split.ChunkOverlap = 30

//docs, err := p.Load(context.Background())
data, err := p.LoadAndSplit(context.Background(), split)
if err != nil {
fmt.Printf("Failed to load file: %v\n", err)
return
}
_, err = store.AddDocuments(ctx, data)
if err != nil {
fmt.Println(err)
return
}

// docs, err := store.SimilaritySearch(ctx, "промпт", 2,
// vectorstores.WithScoreThreshold(0.5),
// )
// fmt.Println(docs)

result, err := chains.Run(
ctx,
chains.NewRetrievalQAFromLLM(
llm_chat,
vectorstores.ToRetriever(store, 5, vectorstores.WithScoreThreshold(0.8)),
),
"промпт",
)
fmt.Println(result)

}
🔥1
Всех детей играющих в Minecraft планируют использовать для добычи редкоземельных металлов
😁3👍1🔥1
Forwarded from Хабр
Встречаем YandexGPT 5 — в Алисе, облаке и опенсорсе

Старшая модель — YandexGPT 5 Pro — уже применяется в чате с Алисой, а также доступна в Yandex Cloud через API. Кроме того, в чате с Алисой впервые можно переключиться на базовую версию модели, которая не использует внешнюю информацию из Поиска и не дообучалась «быть» виртуальным ассистентом.

Pretrain-версия младшей модели — YandexGPT 5 Lite Pretrain — опубликована в свободном доступе и будет полезна разработчикам, которые дообучают базовые версии моделей под свои задачи.

Узнаем, как обучались модели и какой опыт был накоплен
В Татарстане начали обучать педагогов создавать Telegram-ботов, сообщает региональное Минцифры.

Подобное обучение, по мнению министерства, «способствует повышению качества образования и подготовке школьников к жизни в цифровом обществе». Связь качества обучения с разработкой педагогами чат-ботов неочевидна.

Напомним, что Telegram не является отечественным мессенджером, хотя им активно пользуются в том числе органы власти, создающие там свои каналы и чат-боты.
#республика_татарстан
🤣1
😁3
Figma boy - грейд у дизайнеров, аналогичный junior developer
😁4
😁5
У Маска тоже есть двойники?
Сегодня был пухлый?
Почему авторизация сложно и причем здесь Занзибар? -Максим Горозий

Речь там о Google Zanzibar
В чем его разница от RBAC и ABAC. И где лучше применять тот или иной подход

в части zanzibar речь идет об SpiceDB

хотя мне на первый взгляд больше понравился ory/keto
😁1
Список литературы для иллюстрации моделей масштабируемых, надежных и производительных крупномасштабных систем. Концепции объясняются в статьях выдающихся инженеров и авторитетных источниках. Примеры взяты из проверенных в бою систем, которые обслуживают миллионы и миллиарды пользователей.
А кто видел как в Sentry можно настроить себе мониторинг регламентов и видеть есть ли с ними проблемы?
ФСБ утвердила новые требования к защите информации в информационных системах с использованием шифрования
Го тапать хомяка сову

профиль в doulingo
Forwarded from СМАРТЛАБ
И слить её
🤣2
😁3
😁4