Langchain Go#

Langchain Go - фреймворк для разработки приложений, ориентированных на данные, работающих под управлением языковых моделей на языке Go.

Vector DB можно использовать в качестве векторного хранилища для Langchain Go.

Настройка#

Установите зависимость проекта langchain-go

go get -u github.com/tmc/langchaingo

Использование#

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

  • YOUR_QDRANT_REST_URL: если настроили Vector DB, используя руководство по быстрому началу работы, установите это значение равным http://localhost:6333.

  • YOUR_COLLECTION_NAME: используйте руководство по коллекциям для создания или перечисления коллекций.

    package main
    
    import (
        "log"
        "net/url"
    
        "github.com/tmc/langchaingo/embeddings"
        "github.com/tmc/langchaingo/llms/openai"
        "github.com/tmc/langchaingo/vectorstores/qdrant"
    )
    
    func main() {
        llm, err: = openai.New()
        if err != nil {
            log.Fatal(err)
        }
    
        e, err: = embeddings.NewEmbedder(llm)
        if err != nil {
            log.Fatal(err)
        }
    
        url, err: = url.Parse("YOUR_QDRANT_REST_URL")
        if err != nil {
            log.Fatal(err)
        }
    
        store, err: = qdrant.New(
            qdrant.WithURL(*url),
            qdrant.WithCollectionName("YOUR_COLLECTION_NAME"),
            qdrant.WithEmbedder(e),
        )
        if err != nil {
            log.Fatal(err)
        }
    }
    

Дополнительная документация#