Page cover

LangChain Integration

JuliaOS provides seamless integration with LangChain, allowing you to use JuliaOS agents and swarms with LangChain's tools, chains, and agents.

Overview

The LangChain integration includes:

  • Agent Adapters: Convert JuliaOS agents to LangChain agents

  • Tools: Use JuliaOS functionality as LangChain tools

  • Chains: Create LangChain chains that use JuliaOS functionality

Installation

pip install -e /path/to/JuliaOS/packages/python-wrapper[langchain]

Agent Adapters

JuliaOS provides adapters that convert JuliaOS agents to LangChain agents:

Trading Agent Adapter

import asyncio
import os
from dotenv import load_dotenv

from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor
from langchain.chains import LLMChain
from langchain.prompts import ChatPromptTemplate

from juliaos import JuliaOS
from juliaos.agents import AgentType
from juliaos.langchain import JuliaOSTradingAgentAdapter

async def trading_agent_adapter_example():
    # Load environment variables
    load_dotenv()

    # Initialize JuliaOS
    juliaos_client = JuliaOS(host="localhost", port=8052)
    await juliaos_client.connect()

    # Create a trading agent
    agent = await juliaos_client.agents.create_agent(
        name="LangChainTradingAgent",
        agent_type=AgentType.TRADING,
        config={
            "parameters": {
                "risk_tolerance": 0.5,
                "max_position_size": 1000.0,
                "take_profit": 0.05,
                "stop_loss": 0.03,
                "trading_pairs": ["ETH/USDC", "BTC/USDC"],
                "strategies": ["momentum", "mean_reversion"]
            }
        }
    )

    # Start the agent
    await agent.start()

    # Create a LangChain adapter for the agent
    llm = ChatOpenAI(temperature=0.7)
    agent_adapter = JuliaOSTradingAgentAdapter(agent)
    
    # Create a LangChain agent
    langchain_agent = agent_adapter.as_langchain_agent(
        llm=llm,
        verbose=True
    )
    
    # Run the agent
    result = await langchain_agent.arun(
        "Analyze the current market conditions for Ethereum and suggest a trading strategy."
    )
    
    print("LangChain agent result:", result)

    # Disconnect from JuliaOS
    await juliaos_client.disconnect()

Research Agent Adapter

Tools

JuliaOS provides LangChain tools that can be used with any LangChain agent:

Swarm Optimization Tool

Blockchain Query Tool

Wallet Management Tool

Chains

JuliaOS provides LangChain chains that use JuliaOS functionality:

Trading Analysis Chain

Research Chain

Custom Tools

You can create custom LangChain tools that use JuliaOS functionality:

See Also

  • Python Wrapper - Learn more about the JuliaOS Python wrapper

  • Agents - Learn more about agents in JuliaOS

  • Swarms - Learn more about swarms in JuliaOS