国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? ??? ?? ??? ???? ?? ??? ?? ??? ?? ??? ??: LangChain ??? ?? ?? ??? RAG ??? ??

?? ??? ?? ??? ?? ??? ??: LangChain ??? ?? ?? ??? RAG ??? ??

Nov 30, 2024 pm 04:12 PM

Build an enterprise-level financial data analysis assistant: multi-source data RAG system practice based on LangChain

??

????? ??? ??? ????? ??? ????? ?? ??? ?? ?? ???? ???? ????. ?? ????? ?? ??, ??? ???? ?? ???? ????? ??? ???? ?? ????? ?? ?? ??? ???? ??? ??? ??? ?????. ??? ????? ???? ??? ??? ????? ??? ???? ??? ???? ???? ??? ?????? ? ??? ???? ??? ???? ??????.

1. ???? ? ????

1.1 ?? ??? ??? ???

?? ???? ???? ????? ????? "??? ??? ???? ????? ??? ?? ???? ??? ??? ??? ?? ?? ???????."?? ???? ?? ?? ????. ??? ?? ?? ???? ?? ?? ??? ??? ????.

  • ? ??? ???? ??????. ?? ???? PDF ????, ?? ???? Excel ???????, ??? ??? ?? ???? ??? ???? ?????. ???? ??? ??? ??? ?? ?? ??? ?? ??? ???? ??? ?? ??? ?? ??????.

  • ? ??? ??? ??????. ?? ??? ??? ????, ??? ??? ? ? ? ?? ?? ??? ?? ? ????. ??? ?? ?? ??? ?? ??? ?? ???? ? ??? ??? ???? ??? ??? ??? ??? ????.

  • ??? ??? ??? ????. ?? ??? ????? ??? ?? ???? ??? ?? ?? ? ??? ?? ??? ?? ??? ?? ??? ?????. ??? ?? ??? ???? ??? ??? ?? ??? ??? ?? ?? ??? ?????.

1.2 ??? ?? ????

??? ???? ??? ???? ??? ?? AI ??, ?? LangChain? RAG ??? ???? ??? ?? ??? ?? ???? ??? ? ????

? ???? ??? ?????. ??? ?? ????? ?????? ?? ???? ???? ??? ??? ????. ?????:

  • ?? ??? ?? ?? ???? ???? ??? ??? ? ??? ?? ??. ???? ?? ?? ??? ??? ??? ??? ?? ??? ???? ?? ??? ??? ??? ?? ????.

  • ?? ? ??? ??? ??? ??? ? ??? ???? ?? ???? ?? ????? ???. ???? ???? ?? ?? ???? ???? ???? ???? ??? ? ???? ???? ??? ??? ? ??? ? ????.

  • ?? ??? ?? ??? ????? ???. ?? ?? ???? ?? ?? ??? ?? ??? ?? ??? ? ?? ?? ??? ?????. ??? ???? ????? ? ??? ?????? ???.

  • ? ??? ?? ? ???? ??? ????? ???? ??? ????. ??? ??? ?? ? ?? ????? ?? ??? ????? ?? ??? ???? ?? ?? ?????.

2. ??? ???? ??

2.1 ???? ???? ??

? ?? ??? ?? ???? ??? ? ??? ?? ??? ??? ???? ????? ?? ?? ??? ???? ???? ??? ? ?? ???? ???? ????? ???? ???????.

???? ??? ?? ?? ??? 3?? ???? ??? ??????.

  • ??? ?? ??? ??? ???? ?? ??? ??? ??? ??? ???? ??? ? ?? ??? ??? ??? ?????. ???? ??? ??, ?????? ???? ?? ????? ???? ? ????.

  • ?? ?? ?? ??? LangChain ?? RAG ??? ???? ???? ?????. ??? ???? ????? ?? ???? ??? ??? ???? ????? ?? ? ??? ?????. ?? ? ?????? ??? ?? ??? ?? ??? ? ??? ??? ??? ??????.

  • ??? ?? ?? ?????? ??? ?? API ?????? ??? ??? ?? ??? ?????. ???? ??? ??? ?? ?? ??? ?? ? ???, ???? ??? ??? ??? ???? ??? ???? ?? ?????.

2.2 ?? ?? ??

? ????? ???? ??? ? ?? ?? ?? ??? ??????.

??? ?? ?? ??? ??? ??? ? ??? ??? ???? ? ??? ???. ????? ??? ?? ??, ??? ??? ????? ???? ???? ?? ??? ???? ??? ? ?? ??? ?? ??? ??????. ?? ??? ?? ???? ??? ???? ?? ?? ?? ??? ?????? ??? ??? ????? ????? ???.

?? ?? ??? ??? ??? ??? ?? ???? ?????.

  • ?? ??? ??? ???? RAG ??? ?? ??? ?? ??? ???? ??? ? ????
  • ?? ?????? ??? ?? ??? ?? ??? ?? ?? ?? ???? ??? ? ?? ?? ?? ??? ?????
  • ?? ?? ????? ? ?? ??? ?? ??? ???? ?????

???? ?????? ???? ??? ??? ??? ???.

  • API ?????? ?? ??? ??? ???? ?? ?? ?? ? ?????? ?????
  • ??? ??? ??? ??? ?? ?? ??? ?? ??? ???? ?????
  • ??? ???? ??? ??? ??? ?? ?? ??? ??? ??? ? ????

2.3 ?? ?? ???

?????? ???? ??? ? ??, ??, ??? ?? ?? ?? ?????. ???? ?? ??? ???? ??? ??? ?? ??? ?? ??? ??? ??? ??????.

?? ?? ??

?? ???? ??? ? ?? ? ?? ???? ??? ?? ?? ???? ??? ??? ????. ????? ??? LLM? ?? ??? ???? ?? ??? API ?? ??? ??? ?? ????. ?? ?? ??? ??? ?? ?? ????? ??????:

? ??? ?? ???? ???? ?? ??? ?????. ?? ??, 100??? ??? ?? ???? ??? ??? ?? ????? ?????. ??? ????? ???? ?? ????? ???? ?? ??? ?? ?????. ??, ??? ?? ???? ???? ?? ? ?? ??? ?? ?? ???? ???? ???? ?? ?? ?? ??? ??????.

?? ?? ??? ???

?? ????? ? ??? ?????. ?? ?? ??? ??? ??? ? ????. ??? ?? ??? ??????:

  • ??? ???? ?? ????? ??????. ???? ?? ??? ???? ???? ?? ??? ???? ???? ?? ????? ???? ???? ??? ?? ?? ??? ? ? ??? ???. ?? ?? ?? ?? ??? ?? ??? ?? ????, ??? ????? ?? ?? ??? ?????.

  • ?? ??? ?? ??? ???? ??? ?? ???????. ???? ??? ?? ??? ?? ??? ??????? ????? ???? ?? ??? ??? ??? ???? ?? ?? ??? ? ? ????. ? ???? ?? ??? ????? ??? ??? ?? ??????.

?? ?? ????

?????? ???? ??? ????? ???? ?? ??? ?? ??? ???? ???.

  • ??? ??? ?? ??? ??????. ????? ???? ?? ??? ?? ???? ?? ??? ?? ? ???? ????? ?????. ???? ??? ??? ??? ???? ?? ??? ???? ???? ??? ???? ???? ?? ??? ?? ????.

  • ?? ??? ?? ?? ???? ????? ??????. ??? ???? ?? ??? ??? ? ??? ??? ?? ???? ? ??? ??? ??? ? ????. ??? ???? ?? ??? ?? ??? ????? ?? ??? ?????.

?? ?? ???

?? ????? ?? ???? ??? ?? ???? ??? ? ???? ??? ???? ?? ??? ???? ?????. ??? ??? ??? ?? ?? ????? ??????.

??? ?? ????? ??? ?? ?? ?? ??? ??????.

  • ?? ??? ??? ??: Sentinel ??? ???? ??? ?? ??? ????? ?????? ????? ???? ???? ???? ?????
  • ?? ??? ??: ??? ??? ?? ???? ?? ??? ?? ??? ???? ??? ?? ? ???? ?????
  • ?? ??? ??: ???? ?? ???? ???? ???? ??? ?? ??? ??? 100? ???? ? ????? ??? ???? ?? ?? ????? ?????

?? ????? ??? ?? ???? ??????.

  • ??? ??? ??: ?? ??? ?? ???? ???? ??? ??? ??? ??? ?????. ?? ??, ???? "??" ??? ???? ?? ??? ??? ??? ??? ???
  • ?? ?? ????: ??? ?? ??? ?? ???? ??? ???? ?? ??? ?? ???? ?????
  • ??? ??? ??: ?? ??? ??? ??? ????, ????? ?? ??? ???? ?? ??? ?????

?? '??? ??' ????? ??????. ???? ? ?? ??? ?? ?? ??? ???? ???? ?? ?? ??? ? ? ??? ? ??? ????.

  • ?? ???(90% ??): ????? ??? ???? ? ?? ??? ?? ???? ???? ???
  • ?? ???(70%-90%): ?? ??? ??? ???? ?? ??
  • ?? ???(70% ??): ???? ????? ??? ?? ??? ???? ?? ????? ? ?? ??

? ??? ?? ?? ???? ?? ????? ???? ?? ??? ??? ??? ?? ???? ?? ??? ?? ?? ??? ???? ??? ? ????.

3. ??? ?? ?? ??

3.1 ?? ??? ??? ??

?? ??? ??? ??? ?? ??? ???? ?? ????? ??? ??? ?? ? ?????. ??? ?? ??? ??? ??? ?? ??? ???? ??????.

3.1.1 ?? ??? ?? ??

??? ??? ?? ???? ?? ?? ?? ?? ?????? ??????.

class FinancialReportParser:
    def __init__(self):
        self.pdf_parser = PDFParser()
        self.excel_parser = ExcelParser()
        self.html_parser = HTMLParser()

    def parse(self, file_path):
        file_type = self._detect_file_type(file_path)
        if file_type == 'pdf':
            return self.pdf_parser.extract_tables(file_path)
        elif file_type == 'excel':
            return self.excel_parser.parse_sheets(file_path)
        elif file_type == 'html':
            return self.html_parser.extract_data(file_path)

?? PDF ??? ?????? ??, ??? ?? ??? ? ?? ??? ???? ??? ?????? ???? ???? ??????.

3.1.2 ??? ??? ??

??? ???? ???? ?? ?? ?? ??? ??? ??????.

class FinancialDataNormalizer:
    def normalize(self, raw_data):
        # 1. Field mapping standardization
        mapped_data = self._map_to_standard_fields(raw_data)

        # 2. Value unit unification
        unified_data = self._unify_units(mapped_data)

        # 3. Time series alignment
        aligned_data = self._align_time_series(unified_data)

        # 4. Data quality check
        validated_data = self._validate_data(aligned_data)

        return validated_data

3.1.3 ?? ?? ??

???? ?? ?? ??? ???? ???? ??? ? ????.

class FinancialMetricsCalculator:
    def calculate_metrics(self, financial_data):
        metrics = {
            'profitability': {
                'roe': self._calculate_roe(financial_data),
                'roa': self._calculate_roa(financial_data),
                'gross_margin': self._calculate_gross_margin(financial_data)
            },
            'solvency': {
                'debt_ratio': self._calculate_debt_ratio(financial_data),
                'current_ratio': self._calculate_current_ratio(financial_data)
            },
            'growth': {
                'revenue_growth': self._calculate_revenue_growth(financial_data),
                'profit_growth': self._calculate_profit_growth(financial_data)
            }
        }
        return metrics

3.2 ?? ?? ??

3.2.1 RSS ?? ??

??? ?? ?? ???? ??????.

class NewsAggregator:
    def __init__(self):
        self.rss_sources = self._load_rss_sources()
        self.news_queue = Queue()

    def start_collection(self):
        for source in self.rss_sources:
            Thread(
                target=self._collect_from_source,
                args=(source,)
            ).start()

    def _collect_from_source(self, source):
        while True:
            news_items = self._fetch_news(source)
            for item in news_items:
                if self._is_relevant(item):
                    self.news_queue.put(item)
            time.sleep(source.refresh_interval)

3.2.2 ?? ?? ? ???

???? ?? ?? ?? ??? ??:

class NewsClassifier:
    def __init__(self):
        self.model = self._load_classifier_model()
        self.categories = [
            'earnings', 'merger_acquisition',
            'market_analysis', 'policy_regulation'
        ]

    def classify(self, news_item):
        # 1. Feature extraction
        features = self._extract_features(news_item)

        # 2. Predict category
        category = self.model.predict(features)

        # 3. Calculate confidence
        confidence = self.model.predict_proba(features).max()

        return {
            'category': category,
            'confidence': confidence
        }

3.2.3 ??? ???? ????

Redis ?? ??? ???? ??? ??:

class RealTimeNewsUpdater:
    def __init__(self):
        self.redis_client = Redis()
        self.update_interval = 60  # seconds

    def process_updates(self):
        while True:
            # 1. Get latest news
            news_items = self.news_queue.get_latest()

            # 2. Update vector store
            self._update_vector_store(news_items)

            # 3. Trigger real-time analysis
            self._trigger_analysis(news_items)

            # 4. Notify subscribed clients
            self._notify_subscribers(news_items)

3.3 ??? ?? ??? ??

3.3.1 WebSocket ??? ??? ??

??? ?? ??? ?? ????? ??:

class MarketDataStreamer:
    def __init__(self):
        self.websocket = None
        self.buffer_size = 1000
        self.data_buffer = deque(maxlen=self.buffer_size)

    async def connect(self, market_url):
        self.websocket = await websockets.connect(market_url)
        asyncio.create_task(self._process_stream())

    async def _process_stream(self):
        while True:
            data = await self.websocket.recv()
            parsed_data = self._parse_market_data(data)
            self.data_buffer.append(parsed_data)
            await self._trigger_analysis(parsed_data)

3.3.2 ??? ?? ?????

Apache Flink ?? ??? ?? ????? ??:

class MarketDataProcessor:
    def __init__(self):
        self.flink_env = StreamExecutionEnvironment.get_execution_environment()
        self.window_size = Time.seconds(10)

    def setup_pipeline(self):
        # 1. Create data stream
        market_stream = self.flink_env.add_source(
            MarketDataSource()
        )

        # 2. Set time window
        windowed_stream = market_stream.window_all(
            TumblingEventTimeWindows.of(self.window_size)
        )

        # 3. Aggregate calculations
        aggregated_stream = windowed_stream.aggregate(
            MarketAggregator()
        )

        # 4. Output results
        aggregated_stream.add_sink(
            MarketDataSink()
        )

3.3.3 ??? ?? ???

???? ??? ?? ?? ??? ??:

class RealTimeMetricsCalculator:
    def __init__(self):
        self.metrics_cache = LRUCache(capacity=1000)
        self.update_threshold = 0.01  # 1% change threshold

    def calculate_metrics(self, market_data):
        # 1. Technical indicator calculation
        technical_indicators = self._calculate_technical(market_data)

        # 2. Statistical metrics calculation
        statistical_metrics = self._calculate_statistical(market_data)

        # 3. Volatility analysis
        volatility_metrics = self._calculate_volatility(market_data)

        # 4. Update cache
        self._update_cache(market_data.symbol, {
            'technical': technical_indicators,
            'statistical': statistical_metrics,
            'volatility': volatility_metrics
        })

        return self.metrics_cache[market_data.symbol]

??? ?? ?? ??? ??? ?? ?? ?? ??? ???? ??? ? ?? ?? ?? ???? ????? ??????. ? ???? ??? ??? ?? ???? ???? ??? ? ?? ?? ??? ?? ??? ????? ???? ?? ?? ? ?? ??? ?? ??? ? ?? ??? ??? ?????.

4. RAG ??? ???

4.1 ?? ?? ??

?? ?????? ??? ?? ?? ?? ??? ??? ??? ???? ???? ??? ??? ????. ??? ??? ??? ?? ??? ?? ???? ?? ??? ??????.

4.1.1 ?? ??? ???? ??

????? ?? ?? ?? ??? ??????.

class FinancialReportChunker:
    def __init__(self):
        self.section_patterns = {
            'balance_sheet': r'資產(chǎn)負(fù)債表|Balance Sheet',
            'income_statement': r'利潤表|Income Statement',
            'cash_flow': r'現(xiàn)金流量表|Cash Flow Statement'
        }

    def chunk_report(self, report_text):
        chunks = []
        # 1. Identify main sections of the report
        sections = self._identify_sections(report_text)

        # 2. Chunk by accounting subjects
        for section in sections:
            section_chunks = self._chunk_by_accounts(section)

            # 3. Add contextual information
            enriched_chunks = self._enrich_context(section_chunks)
            chunks.extend(enriched_chunks)

        return chunks

4.1.2 ??? ?? ??

?? ???? ?? ?? ?? ?? ?? ??? ??????.

class FinancialReportParser:
    def __init__(self):
        self.pdf_parser = PDFParser()
        self.excel_parser = ExcelParser()
        self.html_parser = HTMLParser()

    def parse(self, file_path):
        file_type = self._detect_file_type(file_path)
        if file_type == 'pdf':
            return self.pdf_parser.extract_tables(file_path)
        elif file_type == 'excel':
            return self.excel_parser.parse_sheets(file_path)
        elif file_type == 'html':
            return self.html_parser.extract_data(file_path)

4.1.3 ?? ??? ??? ??

??? ?? ???? ?? ??? ?? ?? ??? ??????.

class FinancialDataNormalizer:
    def normalize(self, raw_data):
        # 1. Field mapping standardization
        mapped_data = self._map_to_standard_fields(raw_data)

        # 2. Value unit unification
        unified_data = self._unify_units(mapped_data)

        # 3. Time series alignment
        aligned_data = self._align_time_series(unified_data)

        # 4. Data quality check
        validated_data = self._validate_data(aligned_data)

        return validated_data

4.2 ?? ??? ???

4.2.1 ?? ??? ?? ?? ???

?? ???? ?? ?? ??? ????? ?? ?? ??? ??? ?? ??? ??? ??????.

class FinancialMetricsCalculator:
    def calculate_metrics(self, financial_data):
        metrics = {
            'profitability': {
                'roe': self._calculate_roe(financial_data),
                'roa': self._calculate_roa(financial_data),
                'gross_margin': self._calculate_gross_margin(financial_data)
            },
            'solvency': {
                'debt_ratio': self._calculate_debt_ratio(financial_data),
                'current_ratio': self._calculate_current_ratio(financial_data)
            },
            'growth': {
                'revenue_growth': self._calculate_revenue_growth(financial_data),
                'profit_growth': self._calculate_profit_growth(financial_data)
            }
        }
        return metrics

4.2.2 ??? ?? ??

?? ???? ??? ??? ???? ?? ? ?? ??? ??????.

class NewsAggregator:
    def __init__(self):
        self.rss_sources = self._load_rss_sources()
        self.news_queue = Queue()

    def start_collection(self):
        for source in self.rss_sources:
            Thread(
                target=self._collect_from_source,
                args=(source,)
            ).start()

    def _collect_from_source(self, source):
        while True:
            news_items = self._fetch_news(source)
            for item in news_items:
                if self._is_relevant(item):
                    self.news_queue.put(item)
            time.sleep(source.refresh_interval)

4.2.3 ??? ?? ????

?? ??? ???? ???? ?? ?? ??? ???? ????? ??????.

class NewsClassifier:
    def __init__(self):
        self.model = self._load_classifier_model()
        self.categories = [
            'earnings', 'merger_acquisition',
            'market_analysis', 'policy_regulation'
        ]

    def classify(self, news_item):
        # 1. Feature extraction
        features = self._extract_features(news_item)

        # 2. Predict category
        category = self.model.predict(features)

        # 3. Calculate confidence
        confidence = self.model.predict_proba(features).max()

        return {
            'category': category,
            'confidence': confidence
        }

4.3 ?? ?? ??? ??

4.3.1 ?? ??

?? ?? ?? ?? ??? ?? ??:

class RealTimeNewsUpdater:
    def __init__(self):
        self.redis_client = Redis()
        self.update_interval = 60  # seconds

    def process_updates(self):
        while True:
            # 1. Get latest news
            news_items = self.news_queue.get_latest()

            # 2. Update vector store
            self._update_vector_store(news_items)

            # 3. Trigger real-time analysis
            self._trigger_analysis(news_items)

            # 4. Notify subscribed clients
            self._notify_subscribers(news_items)

4.3.2 ??? ???

?? ???? ??? ?? ?? ??? ?? ????? ??? ??????.

class MarketDataStreamer:
    def __init__(self):
        self.websocket = None
        self.buffer_size = 1000
        self.data_buffer = deque(maxlen=self.buffer_size)

    async def connect(self, market_url):
        self.websocket = await websockets.connect(market_url)
        asyncio.create_task(self._process_stream())

    async def _process_stream(self):
        while True:
            data = await self.websocket.recv()
            parsed_data = self._parse_market_data(data)
            self.data_buffer.append(parsed_data)
            await self._trigger_analysis(parsed_data)

4.3.3 ??? ??

??? ??? ??? ??? ?? ???? ??:

class MarketDataProcessor:
    def __init__(self):
        self.flink_env = StreamExecutionEnvironment.get_execution_environment()
        self.window_size = Time.seconds(10)

    def setup_pipeline(self):
        # 1. Create data stream
        market_stream = self.flink_env.add_source(
            MarketDataSource()
        )

        # 2. Set time window
        windowed_stream = market_stream.window_all(
            TumblingEventTimeWindows.of(self.window_size)
        )

        # 3. Aggregate calculations
        aggregated_stream = windowed_stream.aggregate(
            MarketAggregator()
        )

        # 4. Output results
        aggregated_stream.add_sink(
            MarketDataSink()
        )

??? ??? ??? ?? ??? ?? ?????? RAG ???? ??? ?? ???????. ? ???? ?? ??? ?? ??? ?? ???? ???? ?? ?? ???? ??? ? ??? ?? ???? ?? ??? ???????.

5. ?? ????? ??

5.1 ??? ??? ?????

?? ??? ??? ???? ?? ?? ???? ???? ???? ?????. ??? ???? ??? ??? ?????? ??????.

5.1.1 ??? ?? ??

class RealTimeMetricsCalculator:
    def __init__(self):
        self.metrics_cache = LRUCache(capacity=1000)
        self.update_threshold = 0.01  # 1% change threshold

    def calculate_metrics(self, market_data):
        # 1. Technical indicator calculation
        technical_indicators = self._calculate_technical(market_data)

        # 2. Statistical metrics calculation
        statistical_metrics = self._calculate_statistical(market_data)

        # 3. Volatility analysis
        volatility_metrics = self._calculate_volatility(market_data)

        # 4. Update cache
        self._update_cache(market_data.symbol, {
            'technical': technical_indicators,
            'statistical': statistical_metrics,
            'volatility': volatility_metrics
        })

        return self.metrics_cache[market_data.symbol]

5.1.2 ?? ?? ??

class FinancialReportChunker:
    def __init__(self):
        self.section_patterns = {
            'balance_sheet': r'資產(chǎn)負(fù)債表|Balance Sheet',
            'income_statement': r'利潤表|Income Statement',
            'cash_flow': r'現(xiàn)金流量表|Cash Flow Statement'
        }

    def chunk_report(self, report_text):
        chunks = []
        # 1. Identify main sections of the report
        sections = self._identify_sections(report_text)

        # 2. Chunk by accounting subjects
        for section in sections:
            section_chunks = self._chunk_by_accounts(section)

            # 3. Add contextual information
            enriched_chunks = self._enrich_context(section_chunks)
            chunks.extend(enriched_chunks)

        return chunks

5.1.3 ??? ?? ??

class NewsChunker:
    def __init__(self):
        self.nlp = spacy.load('zh_core_web_lg')
        self.min_chunk_size = 100
        self.max_chunk_size = 500

    def chunk_news(self, news_text):
        # 1. Semantic paragraph recognition
        doc = self.nlp(news_text)
        semantic_paragraphs = self._get_semantic_paragraphs(doc)

        # 2. Dynamically adjust chunk size
        chunks = []
        current_chunk = []
        current_size = 0

        for para in semantic_paragraphs:
            if self._should_start_new_chunk(current_size, len(para)):
                if current_chunk:
                    chunks.append(self._create_chunk(current_chunk))
                current_chunk = [para]
                current_size = len(para)
            else:
                current_chunk.append(para)
                current_size += len(para)

        return chunks

5.2 ?? ?? ??

5.2.1 ??? ??? ?? GPT-4

class MarketDataChunker:
    def __init__(self):
        self.time_window = timedelta(minutes=5)
        self.overlap = timedelta(minutes=1)

    def chunk_market_data(self, market_data):
        chunks = []
        current_time = market_data[0]['timestamp']
        end_time = market_data[-1]['timestamp']

        while current_time < end_time:
            window_end = current_time + self.time_window

            # Extract data within time window
            window_data = self._extract_window_data(
                market_data, current_time, window_end
            )

            # Calculate window statistical features
            window_features = self._calculate_window_features(window_data)

            chunks.append({
                'time_window': (current_time, window_end),
                'data': window_data,
                'features': window_features
            })

            current_time += (self.time_window - self.overlap)

        return chunks

5.2.2 ?? ?? ?? ??

class FinancialEmbeddingOptimizer:
    def __init__(self):
        self.base_model = SentenceTransformer('base_model')
        self.financial_terms = self._load_financial_terms()

    def optimize_embeddings(self, texts):
        # 1. Identify financial terminology
        financial_entities = self._identify_financial_terms(texts)

        # 2. Enhance weights for financial terms
        weighted_texts = self._apply_term_weights(texts, financial_entities)

        # 3. Generate optimized embeddings
        embeddings = self.base_model.encode(
            weighted_texts,
            normalize_embeddings=True
        )

        return embeddings

5.2.3 ?? ?? ????

class MultilingualEmbedder:
    def __init__(self):
        self.models = {
            'zh': SentenceTransformer('chinese_model'),
            'en': SentenceTransformer('english_model')
        }
        self.translator = MarianMTTranslator()

    def generate_embeddings(self, text):
        # 1. Language detection
        lang = self._detect_language(text)

        # 2. Translation if necessary
        if lang not in self.models:
            text = self.translator.translate(text, target_lang='en')
            lang = 'en'

        # 3. Generate vector representation
        embedding = self.models[lang].encode(text)

        return {
            'embedding': embedding,
            'language': lang
        }

5.3 ?? ???

5.3.1 ??? ?? ??

class RealTimeIndexUpdater:
    def __init__(self):
        self.vector_store = MilvusClient()
        self.update_buffer = []
        self.buffer_size = 100

    async def update_index(self, new_data):
        # 1. Add to update buffer
        self.update_buffer.append(new_data)

        # 2. Check if batch update is needed
        if len(self.update_buffer) >= self.buffer_size:
            await self._perform_batch_update()

    async def _perform_batch_update(self):
        try:
            # Generate vector representations
            embeddings = self._generate_embeddings(self.update_buffer)

            # Update vector index
            self.vector_store.upsert(
                embeddings,
                [doc['id'] for doc in self.update_buffer]
            )

            # Clear buffer
            self.update_buffer = []

        except Exception as e:
            logger.error(f"Index update failed: {e}")

5.3.2 ?? ??? ???

class TemporalRetriever:
    def __init__(self):
        self.decay_factor = 0.1
        self.max_age_days = 30

    def retrieve(self, query, top_k=5):
        # 1. Basic semantic retrieval
        base_results = self._semantic_search(query)

        # 2. Apply time decay
        scored_results = []
        for result in base_results:
            age_days = self._calculate_age(result['timestamp'])
            if age_days <= self.max_age_days:
                time_score = math.exp(-self.decay_factor * age_days)
                final_score = result['score'] * time_score
                scored_results.append({
                    'content': result['content'],
                    'score': final_score,
                    'timestamp': result['timestamp']
                })

        # 3. Rerank results
        return sorted(scored_results, key=lambda x: x['score'], reverse=True)[:top_k]

5.3.3 ????? ?????

class HybridRetriever:
    def __init__(self):
        self.semantic_weight = 0.6
        self.keyword_weight = 0.2
        self.temporal_weight = 0.2

    def retrieve(self, query):
        # 1. Semantic retrieval
        semantic_results = self._semantic_search(query)

        # 2. Keyword retrieval
        keyword_results = self._keyword_search(query)

        # 3. Temporal relevance
        temporal_results = self._temporal_search(query)

        # 4. Result fusion
        merged_results = self._merge_results(
            semantic_results,
            keyword_results,
            temporal_results
        )

        return merged_results

??? ??? ??? ????? ?? ????? ?? ?????? ???? ???? ?????. ? ?? ??? ???? ???? ????????. ? ???? ??? ?? ?? ??? ???? ??? ????? ??? ? ????.

6. ?? ???? ? ??

6.1 ??? ?? ?? ??????

?? ?? ?????? ?? ???? ?? ??? ?? ?? ?? ????? ?? ???? ??????? ?????. ?????:

????? ????? ??? ??? ????? ?? ?? ???, ????, ?? ? ??? ???? ??????. ??? ???? ???? ??? ???? ?? ??????? ??? ??? ??? ?????. ??, ?? ??? ?? ??? ??, ??, ?? ?? ?? ??? ?????.

?? ?? ???? ???? ??? ???? ?? ?? ???? ?? RAG ?? ????? ?? ?? ????? ?? ??? ???? ?????. ?? ?? ?? ?? ??? ?? ??? ?? ??? ??? ?????.

  • ?? ?? ???? ???? ?? ?? ??
  • ??? ?? ??? ?? ??? ??? ?????
  • ?? ?? ??? ?? ???? ???? ??? ??? ?????

????? ?? ?? ????? ?? ?? ??? ?? ??? ??? ?? ???? ?????.

6.2 ?? ?? ? ?? ?? ??

??? ?? ??????? ???? ??? ?? ??? ??? ?????. ??? ?? ????? ???? ???? ??? ?? ???, ?? ?? ? ?? ???? ?????.

??? ?? ?????? ?? ???? ??? ??? ? ????.

  1. ?? ??? ???? ??? ??? ?? ??? ??? ????
  2. ?? ???? ?? ?? ???? ??
  3. ?? ?? ?? ????? ???? ?? ?? ??

?? ????? ?? ???? ??? ? ???? ?? ????? ????? ??? ??? ?????. ?? ??? ??? ?? ?? ???? ???? ???? ??? ???? ? ??? ???.

6.3 ??? ??? ??

??? ??? ?????? ?? ???? ?? ??? ??? ?? ?? ????? ?? ??? ???? ?????. ?????:

  1. ??? ?? ????? ?? ???? ?? ??, ?? ??, ?? ??? ???? ?? ?? ??? ?????.

  2. ???? ??? ?? RAG ?? ????? ?? ?? ???? ???? ?????.

  3. ?? ?? ??? ??:

    • ?? ?? ??? ??? ?? ??? ?????
    • ?? ?? ??? ?? ?? ??? ?????
    • ?? ?? ??? ??? ???? ????? ???? ??? ?????
  4. ?? ???? ??? ????? ????? ???? ??? ????? ???? ??? ??? ?? ?? ??? ????? ?????.

6.4 ?? ??

?? ???? ??? ?? ???? ?? ???? ??? ??? ?????.

  1. ?? ??? ??: ???? ?? ?? ?? ???? 40% ?????, ?? ??? ??? ??? ? ???????.

  2. ?? ?? ???: ??? ??? ?? ?? ?? ???? 85% ??? ?? ?? ???? 30% ???????.

  3. ??? ??: ??? ??? ?? ?? ?? ???? 90%? ??? ???? 4.8/5? ?????.

??? ??? ?? ???? ??? ??? ?? ??? ???? ???? ?????. ??, ?? ?? ??? ???? ??? ????? ?? ??? ????? ????? ? ??? ???.

? ??? ?? ??? ?? ??? ?? ??? ??: LangChain ??? ?? ?? ??? RAG ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

?? ????
1744
16
Cakephp ????
1599
56
??? ????
1538
28
PHP ????
1397
31
???
Python Web Applications (? : XSS, SQL Injection)? ???? ?? ???? ???? ??? ?? ? ? ????? Python Web Applications (? : XSS, SQL Injection)? ???? ?? ???? ???? ??? ?? ? ? ????? Jun 10, 2025 am 12:13 AM

? ?? ???? ?????? ???????. Python ? ???? ???? ????? XSS, SQL ??, CSRF ? ?? ??? ??? ?????. XSS? ?? ??? ??? ???? ???? ???? ?? ??? HTML? ????? CSP ??? ???????. SQL ??? ???? ?? ?? ??? ? ?? ?? ORM ??? ?? ? ??? ??? ??????. CSRF? ????? CSRFTToken ????? ??????? ??? ??? ? ? ???????. ?? ??? ???? ??? ???? ?? ??? ??? ?? ??? ???? ? ???????. ??? ??? ??? ??? ???? ??? ????? ?? ? ??? ??? ??????? ???? ?????.

Python? Unittest ?? Pytest ??? ??? ??? ??? ? ???? ?????? Python? Unittest ?? Pytest ??? ??? ??? ??? ? ???? ?????? Jun 19, 2025 am 01:10 AM

Python? Unittest ? Pytest? ??? ? ???? ??, ?? ? ??? ????? ? ?? ?? ???? ??? ??? ?????. 1. ??? ??? ?? ??? ???? ??? ??? ??? ?????. UnitTest? ??? ??? ???? ???? Test \ _? ???? ???? ?????. Pytest? ? ?????. Test \ _?? ???? ?? ? ??????. 2. ??? ?? ?? ? ?? ? ??? ??? ????. UnitTest? Assertequal, AssertTrue ? ?? ??? ???? ?? Pytest? ??? Assert ?? ???? ?? ?? ??? ???? ?????. 3. ?? ??? ?? ? ?? ????? ????? ????.

Python? ???? Mutable Default ??? ??? ????, ? ??? ??? ? ? ????? Python? ???? Mutable Default ??? ??? ????, ? ??? ??? ? ? ????? Jun 14, 2025 am 12:27 AM

Python? ?? ?? ??? ?? ? ???? ??????. ?? ??? ?? (? : ?? ?? ??)? ?? ?? ??? ???? ?? ??? ?? ??? ??? ? ????. ?? ??, ? ??? ?? ?? ??? ???? ??? ?? ?? ??? ?? ? ??? ???? ?? ??? ??? ??????. ? ???? ?? ??? ??? ????. 1. ?? ?? ?? ??? ?? ??? ??; 2. ?? ?? ??? ?? ??? ??? ?? ???? ???? ??????. 3. ??? ??? ???? ????? ???. 4. ???? ?? ? ???? ????? ????. ??? ??? ?? ?? ??? ???? ???? ???? my_list = [] ?? my_list = none? ???? ?? ?? ?? ??? ? ??? ??? ???? ??? ????.

Python ??????? ?? ??? ?????? ?? ??? ?????? Python ??????? ?? ??? ?????? ?? ??? ?????? Jun 10, 2025 am 12:14 AM

?? ??? Python ?? ????? ????? ???, ?? ? ?? ?????? ???????. ?? Gunicorn ?? UWSGI? ???? ?? ??? ???? ?? ??? ?????. ??, ??? ??????? ?? ????? Nginx? ??????. ??, ??? ????? ?? CPU ?? ?? ?? ???? ?? ?????. ??, ?? ??? ???? ???? ???? ??? ???? ???? ?????. ???, ??? ??? ?????, ???? ???? ????, ?? ????? ???? ?? ? ?? ??? ???????. ???, ?? ????? ???? ??? ??? ?? HTTPS? ???? ??? ???? ?? ??? ?????. ?????, ?? ??? ??? ?? CI/CD ??? ?? ?? ??? ?????.

???? ??? ?????? ??? ???? ?? ?? ? ???? ?? ? ? ????? ???? ??? ?????? ??? ???? ?? ?? ? ???? ?? ? ? ????? Jun 14, 2025 am 12:25 AM

Python? ???? ??? ????? ?? ?? ? ???? ? ?????. ??? ? ???? ????? ???? ????? ???? ?????. 1. ?? API ? ?? ???? (? : HTTP, REST, GRPC)? ???? Python? Flask ? Fastapi? ?? ??? ??? ?? API? ???? ?? ?? HTTPX? ???? ?? ?? ???? ?????. 2. ??? ??? (Kafka, Rabbitmq, Redis)? ???? ??? ??? ???? Python Services? ?? ?? ???? ?? ? ???? ???? ??? ?? ?? ?, ?? ? ? ?? ??? ?? ? ? ????. 3. ??? ???? ?? C/C? ?? ?? ?? ??? (? : Jython)? ?? ?? ??

Numpy ? Pandas? ?? ??????? ??? ?? ? ??? Python? ??? ??? ? ????? Numpy ? Pandas? ?? ??????? ??? ?? ? ??? Python? ??? ??? ? ????? Jun 19, 2025 am 01:04 AM

pythonisidealfordataanalysisduetonumpyandpandas.1) numpyexcelsatnumericalcomputationsfast, multi-dimensionalArraysandectorizedOferationsLikenp.sqrt ()

Python? ?? ???? ???? ????? ??, ?? ? ??? ??????? Python? ?? ???? ???? ????? ??, ?? ? ??? ??????? Jun 14, 2025 am 12:31 AM

Python? ??, ?? ? ?? ??? ??? ??? ?? ?? ??? ? ?? ???? ??????. ??? ?? ?? ??? ?? ?? ??? ??? ?? ?? ?? ???? ???? ? ?? ? ?? ??? ????? ? ?????. 1. [x2forxinRange (10)]? ?? ?? ??? ?? ???? ?? ?? ? ? ????. 2. {x : x2forxinrange (5)}? ?? ?? ???? ? ? ??? ???? ?????. 3. [xforxinnumbersifx%2 == 0]? ?? ??? ???? ??? ????? ????? ????. 4. ??? ??? ?? ?? ?? ??? ?? 3 ? ???? ???? ?? ?? ?? ? ???. ??? ?? ?? ???? ???? ??? ?? ?? ??? ??? ??????. ??? ???? ??? ?? ? ? ????

__iter__ ? __next__? ???? ????? ??? ?? ???? ??? ??? ? ????? __iter__ ? __next__? ???? ????? ??? ?? ???? ??? ??? ? ????? Jun 19, 2025 am 01:12 AM

??? ?? ???? ????? ????? __iter_ ? __next__ ???? ???????. ① __iter__ ???? ??? ? ?? ??? ???? ??? ?? ?? ??? ?????. ② __next__ ???? ? ??? ?? ????, ?? ??? ??? ????, ? ?? ??? ??? stopiteration ??? ??????. status ??? ???? ??????? ?? ??? ??? ?? ?? ??? ???????. pile ?? ?? ???? ?? ??? ?? ? ??? ?? ? ??? ?????? ?????. simple ??? ??? ?? ?? ??? ?? ???? ???? ?? ??? ? ??? ?? ????? ???? ??? ??? ???????.

See all articles